前言:
最近在阿里云的服务器上搭建VPN,需求是【连接方式简单(不用证书)】,【支持平台多(win、mac、android、ios)】。
在网上查阅并实践后,整理了一套方便客户端使用的VPN方案,这里整理记录一下。方案由PPTP(windows、android通过用户名、密码连接)以及CISCO IPSEC(mac、iphone通过用户名、密码、共享秘钥)两套方案组成。
这篇文章记录的是 CISCO IPSEC 方案,PPTP 部分参考连接:ubuntu14 搭建PPTP服务
该方案所搭建VPN服务器,只使用macos、ios测试通过,连接类型选择IPSEC,输入账户、密码、密钥即可。
该方案参考参考文章:
Ubuntu、CentOS搭建IPSec/IKEv2 VPN服务器全攻略
使用 Strongswan 架设 Ipsec VPN
使用Strongswan搭建IPSec/IKEv2 VPN
1.安装strongswan
这里我们选择下载最新版本编译安装(ubuntu14 apt-get下载的版本有点旧,我自己尝试是无法成功搭建)
step1:安装必须的库
apt-get update
apt-get install libpam0g-dev libssl-dev make gcc
step2:下载strongswan并解压(*代表当前Strongswan版本号)
wget http://download.strongswan.org/strongswan.tar.gz
tar xzf strongswan.tar.gz
cd strongswan-*
step3:编译Strongswan
./configure –enable-eap-identity –enable-eap-md5 \
–enable-eap-mschapv2 –enable-eap-tls –enable-eap-ttls –enable-eap-peap \
–enable-eap-tnc –enable-eap-dynamic –enable-eap-radius –enable-xauth-eap \
–enable-xauth-pam –enable-dhcp –enable-openssl –enable-addrblock –enable-unity \
–enable-certexpire –enable-radattr –enable-tools –enable-openssl –disable-gmp
step4:编译并安装
make; make install
编译完成后如果没有报错,且使用ipsec version指令能出现版本信息,则表示安装成功.
2.配置Strongswan (编译安装的配置文件,都在/usr/local/etc目录下,apt-get安装的都在/etc目录下)
编辑/usr/local/etc/ipsec.conf文件,修改为以下内容
config setup
uniqueids=neverconn apple_psk
keyexchange=ikev1
left=%defaultroute
leftauth=psk
leftsubnet=0.0.0.0/0
right=%any
rightauth=psk
rightauth2=xauth
rightsourceip=10.31.2.0/24
auto=add
编辑/usr/local/etc/strongswan.conf文件,修改为以下内容
charon {
load_modular = yes
duplicheck.enable = no
compress = yes
plugins {
include strongswan.d/charon/*.conf
}
dns1 = 8.8.8.8
dns2 = 8.8.4.4
nbns1 = 8.8.8.8
nbns2 = 8.8.4.4
}
include strongswan.d/*.conf
编辑/usr/local/etc/ipsec.secrets文件
: PSK”myPSKkey”
: XAUTH”myXAUTHPass”
[用户名] %any : EAP”[密码]”
将上面的myPSKkey单词更改为你需要的PSK认证方式的密钥;
将上面的myXAUTHPass单词更改为你需要的XAUTH认证方式的密码,该认证方式的用户名是随意的;
将上面的[用户名]改为自己想要的登录名,[密码]改为自己想要的密码([]符号去掉),可以添加多行,得到多个用户,这即是使用IKEv2的用户名+密码认证方式的登录凭据.
3.配置防火墙
编辑/etc/sysctl.conf
将net.ipv4.ip_forward=1一行前面的#号去掉,保存后执行sysctl -p
配置iptables规则
iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD-s10.31.2.0/24 -j ACCEPT
iptables -A INPUT -i eth1 -p esp -j ACCEPT
iptables -A INPUT -i eth1 -p udp –dport 500 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –dport 500 -j ACCEPT
iptables -A INPUT -i eth1 -p udp –dport 4500 -j ACCEPT
iptables -A INPUT -i eth1 -p udp –dport 1701 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING-s10.31.2.0/24 -o eth1 -j SNAT –to-source ELASTIC_IP
***注意*** eth1改为你连接外网的那块网卡,ELASTIC_IP替换为vps的静态ip地址
开机自动载入iptables
iptables-save > /etc/iptables.rules
cat > /etc/network/if-up.d/iptables<
#!/bin/sh
iptables-restore < /etc/iptables.rules
EOF
chmod +x /etc/network/if-up.d/iptables
至此,IPSec/IKEv2 VPN便搭建好了!现在启用服务就可以使用了
ipsec start
评论 在此处输入想要评论的文本。