[toc]
由于阿里云上有一些限制,在阿里云ECS上部署待见IPSec和普通服务器有不一样的地方。
安装strongswan
添加strongswan,常规的校验支持,windows下的校验支持
apt-get update
apt-get install strongswan strongswan-plugin-xauth-generic strongswan-plugin-eap-mschapv2
编辑/etc/ipsec.secrets
vi /etc/ipsec.secrets
增加:
: PSK "pskpassword"
username : XAUTH "password"
其中PSK是预共享密钥,是用于验证 L2TP/IPSec 连接的 Unicode 字符串。username为用户名, password是密码。
编辑 /etc/strongswan.conf
配置dns
charon {
load_modular = yes
plugins {
include strongswan.d/charon/*.conf
}
dns1 = 8.8.8.8
dns2 = 8.8.4.4
ndns1 = 8.8.8.8
ndns2 = 8.8.4.4
}
include strongswan.d/*.conf
编辑 /etc/ipsec.conf
config setup
cachecrls=yes
uniqueids=never
# supports iOS PSK and Shrew on Windows
conn xauth_psk
keyexchange=ikev1
left=%defaultroute
leftauth=psk
leftsubnet=0.0.0.0/0
right=%any
rightauth=psk
rightauth2=xauth
rightsourceip=192.168.1.0/24
auto=add
此处搭建PPTP服务器的时候已经占用了192.168.0.x的网段,所以使用192.168.1.x的网段。
注意使用192.168网段而不是10.0.0.1网段,不要和专有网络地址相冲突。
重启 strongswan
ipsec restart
修改阿里云服务器对应安全组规则
增加 公网入网 UDP 500和 UDP 4500两个端口
打开IPv4转发,设置NAT规则
sysctl net.ipv4.ip_forward=1
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth0 -j MASQUERADE
配置开机自动启动
编辑/etc/rc.local文件,在exit 0 以前新增以下代码:
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -o eth0 -j MASQUERADE
sudo ipsec start
安卓配置IPsec连接注意事项
通过以上配置以后,一定要选择IPsec Xauth PSK的连接类型,否则无法连接成功。