一、背景拓扑
(1)本文主要目的是描述如何在一台windows宿主机内通过VMware安装两台虚拟机(ubuntu)后,使两台ubuntu进行互通且采用strongswan搭建ipsec隧道并enable-save-keys抓取ike/esp加密信息。
(2)如果资金允许,可以采购一台支持ipsec功能的路由器对接一台ubuntu虚拟机搭建ipsec隧道,看起来应该会更直观些。而且不用考虑太多的虚拟机网卡绑定关系,会很方便。
二、前置条件
(1)VMware1-windows安装VMware
https://blog.csdn.net/rfc2544/article/details/122144690
(2)VMware2-VMware安装ubuntu
https://blog.csdn.net/rfc2544/article/details/122144908
(3)VMware4-VMware安装的两台ubuntu如何underlay互通
https://blog.csdn.net/rfc2544/article/details/124550885
(4)ubuntu1-ubuntu基础配置
https://blog.csdn.net/rfc2544/article/details/122146101?spm=1001.2014.3001.5502
(5)ubuntu2-ubuntu更换源
https://blog.csdn.net/rfc2544/article/details/122152450?spm=1001.2014.3001.5502
三、安装strongswan
由于两台ubuntu虚拟机安装步骤基本一致,所以取其中一台进行截图描述,另一台不再赘述。
3.1 联网需求
首先保证ubuntu虚拟机可以访问互联网。
3.2 切换工作目录并下载strongswan安装包
cd /usr/bin
wget https://download.strongswan.org/strongswan-5.8.2.tar.bz2
3.2 解压 strongswan安装包
tar xjvf strongswan-5.8.2.tar.bz2
解压后多了一个strongswan的文件夹
3.3 切换工作目录并configure进行配置
这里的参数–prefix指的是程序安装的目录,–sysconfdir参数指的的StrongSwan的配置文件路径。-enable-save-keys表示使能保存ike/esp加密信息插件。
cd strongswan-5.8.2
./configure --prefix=/usr --enable-save-keys --sysconfdir=/etc
请注意这个save-keys,如果没有的话会导致无法抓取到ike/esp的解密信息,请重做此步骤。
3.3.1 报错1解决方法
据说是因为新安装的ubuntu系统没有安装C编译器,安装上就好了。
3.3.2 报错2解决方法
在我的环境是只用输入第二条就可以了,其他环境请自行排查。
3.4 编译安装
稍等几分钟,编辑时间较长
make && sudo make install
3.5 安装完成
在/etc下可以看到2个strongswan的,3个ipsec的即可说明已安装成功。
4、配置strongswan
配置strongswan需要配置三个地方,分别是ike/esp加密信息抓取输出、ipsec配置、pre-psk预共享密钥配置。具体如下。
4.1 ike/esp加密信息抓取输出
test虚拟机和ubuntu虚拟机,此处配置一致。
root@ubuntu:/etc# vim /etc/strongswan.conf
4.2 ipsec配置
地址互指
root@ubuntu:/etc# vim /etc/ipsec.conf
4.3 pre-psk预共享密钥配置
地址互指
root@ubuntu:/etc# vim /etc/ipsec.secrets
5、启动strongswan建立ipsec连接
net-net是步骤4.2的conn连接名称
5.1 ipsec首次建立不成功
配置完成后首次建立ipsec不成功,将test虚拟机和ubuntu虚拟机重启再建立就好了,未发现原因。
6、解密
在/tmp下,可以获取本次ike/esp的加密信息
7、参考资料-感谢
官网:安装方法
https://docs.strongswan.org/docs/5.9/install/install.html
官网:版本说明
https://packages.ubuntu.com/search?keywords=strongswan&searchon=names&suite=all§ion=all
官网:ipsec.conf各字段说明
https://wiki.strongswan.org/projects/strongswan/wiki/ConnSection
strongswan ipsecon.conf+secrets方式,预共享密钥
https://blog.csdn.net/kakabuqinuo/article/details/100766365
strongswan ipsecon.conf+secrets方式,预共享密钥,configure时多参数选择
https://www.zhangqiongjie.com/2473.html
strongswan ipsecon.conf+secrets方式,预共享密钥,云上使用注意安全事项
https://www.h3399.cn/201906/702086.html
strongswan ipsecon.conf+secrets方式,证书
https://blog.csdn.net/puppylpg/article/details/64918562
strongswan ipsecon.conf方式,预共享密钥和证书
https://www.howtoing.com/strongswan-based-ipsec-vpn-using-certificates-and-pre-shared-key-on-ubuntu-16-04/
wireshark查看strongswan ipsec esp ikev1 ikev2的加密内容
https://blog.csdn.net/sinat_20184565/article/details/102845438
https://www.cnblogs.com/hugetong/p/10150992.html
strongswan插件的load加载流程
https://www.cnblogs.com/hugetong/p/10981346.html
https://www.cnblogs.com/collapsar/p/9999753.html
strongswan swanctl方法
https://zhuanlan.zhihu.com/p/100535851
https://www.hqyman.cn/post/543.html
http://blog.chinaunix.net/uid-192452-id-5847016.html