【写在前面的话】
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 �fault 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**网关是联通的状态,如果还不通,那就是安全策略和路由的问题啦~~
【后记】
江湖人称佳爷~~专注于解决公有云各类问题,喜欢讨论,欢迎来撩~~