strongswan与腾讯云V**网关互联实验

【写在前面的话】

ipsec V**互联可以使用专有的V**设备,比如腾讯云的V**网关,同时也可以安装V**软件,比如strongswan。记录一次linux机器安装strongswan自建V**网关和腾讯云V**网关对接实践。


【目录】

1、strongswan安装

2、腾讯云V**网关配置

3、其他注意点


连接拓扑如下:

【配置strongswan】

1、strongswan的安装 yum install -y strongswan

2、ipsec.conf文件配置(敲黑板!!重点讲的就是这个,ipsec.conf是ipsec的配置文件,以下是踩坑后的最佳实践配置)

rpm -ql stongswan

找到关键的目录与文件

最重要就是这个

cd /etc/strongswan

ls

关注最重要的三个个文件

ipsec.conf(ipsec通道配置文件)和ipsec.secrets(秘钥文件)

/var/log/secure(ipsec日志信息)

mv ipsec.conf ipsec.old(备份一下原文件)

vim ipsec.conf(编辑配置文件)

输入以下配置:(注意行间隔,config setup和conn tomyidc父级,其他参数是子级别)

config setup uniqueids=never nat_traversal=yes #腾讯云V**默认开启NAT-T conn %default authby=psk type=tunnel

conn tomyidc #tomyidc只是随便取的名字 keyexchange=ikev1 left= 云服务器内网ip #left表示本地,right表示远端,此处right就是腾讯云V**网关,left就是linux服务器,此处还需要注意如果此处是一台云上服务器,则填写内网的IP,因为公有云服务器公网ip都不在本地,云服务器本身不感知自己的公网ip。 leftsubnet=172.16.2.0/24 leftid= 云服务器公网ip #id仅是一个标记作用 right=腾讯云V**网关ip rightsubnet=192.168.10.0/24 rightid=%any pfs=no #可选,如果腾讯云V**网关pfs是disable的话就对应加上 auto=route ike=aes-sha1-modp1024 ikelifetime=86400s esp=aes-sha1-modp1024 lifetime=86400s type=tunnel

#补充一点,如果感兴趣流有多个网段,则rightsubnet={192.168.10.0/24,192.168.20.0/24}

3、填入共享key

vi /etc/strongswan/ipsec.secrets

Linux服务器公网ip 腾讯云V**网关ip : PSK 你的密码


【配置腾讯云V**网关】


【其他补充说明】

1)left和right含义: left表示本端,即如果你在云机上装strongswan,那么left就是云机 right表示远端,此处远端是腾讯云V**网关

2)nat_traversal=yes 开启NAT-T。腾讯云V**网关默认开启NAT-T,对端V**网关如果是云机这种情况,云机具有内网IP,通过NAT设备转换一个公网ip,因此是需要开启NAT-T否则ipsec封装直接失败

3)left= 云机内网ip 云机只能看到内网ip,是看不到公网ip的,因此这块写云机公网ip会直接报错 ‘error writing to socket:Invalid argument’

4)rightid=%any

leftid和rightid是设备本身指定的一个标识符,用来标识自己的身份,比如这里leftid写云机公网地址,每个设备自己规定的。但是这块,假设并不清楚远端的设备是怎么规定这个id的,那么可以直接写rightid=%any表示无论远端id设置了啥统统都接受 。从下图的报错中可以看出,腾讯云V**网关使用的id是一个169的地址,直接返回给了云机,如果这里云机的rightid写了腾讯云V**网关的公网ip就会出现匹配不上的报错。

按照以上的配置对一遍,基本没啥问题,可以看到V**网关是联通的状态,如果还不通,那就是安全策略和路由的问题啦~~

【后记】

江湖人称佳爷~~专注于解决公有云各类问题,喜欢讨论,欢迎来撩~~