深信服SSLVXN 第三方 IPSecVXN 使用Strongswan连接阿里云VPC配置

深信服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 设置只需在上级路由指定互通的子网下一跳为本主机即可;

SSLVXN 服务端设置

  1. 打开控制台 https://your-sslvpn-ip:4430
  2. IPSec VPN设置 > 第三方对接
    第一阶段:
    填写设备名称、秘钥,固定ip 或者动态ip ,打开高级选项 上一步如果是动态ip 支持模式选野蛮模式,D-H 群及 ISAKMP 算法默认注意与客户端一致,身份类型选 FQDN 填写名称,后面会用到;
    第二阶段:
    添加出入站规则,如果是两端子网互通,右端有几个子网 入站规则就填几条; 出站规则是左端子网;

客户端设置

  • 安装
    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=<right public ip>
    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
  • 配置秘钥 ipsec.secrets
aliyun sangfor : PSK "<PSK>"
  • 启动

ipsec restart
查看状态
ipsec status

  • 配置 子网 NAT 转发访问

配置 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)]

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值