深信服SSLVXN 提供了 IPSecVXN服务,可以很方便的和第三方设备互通,此例连接阿里云单台ECS服务器,也适用于 VPC 场景; 客户端使用 Stronswan 安装比较简单,其他软件原理一样,此外推荐 阿里云官方的 FlexGW, Web图形界面,操作简单易上手,效果一样 ;
FlexGW github : https://github.com/alibaba/FlexGW
FlexGW Docker 镜像: registry.cn-hangzhou.aliyuncs.com/tao2581/flexgw
配置过程中,踩坑无数,中间也查阅参考了非常多的资料,这里把配置过程分享出来供大家参考
网络拓扑图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5EMXxFFL-1591769369200)(http://i4.buimg.com/1949/bc8453ec8fe8fd67.jpg)]
达到的目标是阿里云ECS 上的Docker 子网可以访问左端内网, 左端内网只能到 ECS 主机,不可访问 Docker 子网,这个情况跟建立 VPC 不同,VPC 设置只需在上级路由指定互通的子网下一跳为本主机即可;
https://your-ssl-ip:4430
安装
apt-get install strongswan
配置 ipsec.conf
vi /etc/ipsec.conf
config setup
uniqueids=yes
conn %defualt
ikelifetime=60h
keylife=20h
rekeymargin=3h
keyingtries=1
keyexchange=ikev2
mobike=no
type=tunnel
conn sangfor
leftid=aliyun
left=0.0.0.0
leftsubnet=0.0.0.0/0
#leftsubnet=10.252.129.17/32,192.168.42.0/24,10.42.0.0/16
#leftfirewall=yes
rightid=sangfor
right=
rightsubnet=192.168.55.0/24,192.168.1.0/24
ike=3des-md5-modp768
esp=3des-md5-modp768
authby=secret
auto=start
aggressive=yes
dpdaction=none
keyexchange=ikev1
aliyun sangfor : PSK ""
ipsec restart
查看状态
ipsec status
配置 iptables 子网访问使用固定的ip 实现转换:
iptables -t nat -A POSTROUTING -s 192.168.42.0/24,10.42.0.0/16 -d 192.168.55.0/24 -j SNAT --to 10.252.129.17
iptables -t nat -A POSTROUTING -s 192.168.42.0/24 ! -o docker0 -j MASQUERADE
防火墙允许 ipsec 转发 (非必须)
iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -d 0.0.0.0/0 -m policy --dir out --pol ipsec -j ACCEPT
开放必要端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
注意:
是否有其他防火墙规则限定了 数据转发导致冲突 , 如:
iptables -A CATTLE_NAT_POSTROUTING -s 10.42.0.0/16 ! -o docker0 -j MASQUERADE
调整规则顺序,从上到下匹配
测试
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y9VuhBSI-1591769369202)(http://i4.buimg.com/1949/7a094e157a820946.jpg)]