https://www.strongswan.org/testing/testresults/swanctl/
版本信息:strongSwan v5.7.2
1. 编译
tar xvf strongswan-5.7.2.tar.gz./configure --prefix=/usr/ --sysconfdir=/etc/ <还可以增加其他选项,使用help查看>make make install
2. 测试场景
说明:strongSwan官网上有个Test Scenarios链接,下面有非常多的测试场景和配置说明,可能有针对性地参考。为简单起见,本文仅描述最简单的对接场景。
3. 配置
配置文件默认安装在/usr/local/etc目录,说明如下:
1、通用的配置文件为strongswan.conf,及strongswan.d目录下文件;
2、Used by swanctl and the preferred vici plugin: //推荐使用
需要配置swanctl目录下的文件。主要是swanctl目录下的swanctl.conf文件,如果你保持安装状态的swanctl.conf文件,则需要在swanctl/conf.d目录下增加新的配置文件,默认的swanctl/swanctl.conf文件会包含你新增的配置文件。
3、Used by starter and the deprecated stroke plugin: //过期,不推荐
1)配置ipsec.conf。
2)配置ipsec.secrets。
3)配置ipsec.d下的配置文件。
特别说明:当使用swanctl和starter工具时,需要的配置文件是完全不同的。1的配置是必须,而2和3的配置你可以选择其中之一。为什么要讲这一点,是因为你百度出来的东西很多都是基于各种各样的版本,这个概念没搞清,你的配置无论如何都不会生效。
本文后述的配置均基于swanctl工具。
3.1 PC2配置
1、Strongswan.conf保持默认
2、swanctl.conf配置
说明:
1) 注意host-host这个名字,后续启动协商的时候需要指定这个名字。
2) auth设置为psk时,认证方式为预共享密钥,如果是证书方法,去官网上查吧。
3) 如果不配置local_ts和remote_ts字段,则对所有的ip报文加解密。如果指定上述字段,则是对指定的数据流进行加密。
4) Version字段指定ikev1还是ikev2。
5) Secrets下的secret字段指定密钥(本例中为simplepsk)。
6) 当指定ike的版本为v2时,流量选择器指定的端口即使为区间,也只有第一个端口生效(IKEV1的限制)。
3.2 PC1配置
1、Strongswan.conf保持默认
2、swanctl.conf配置如下
4. 运行
1、swanctl --load-all
如果没有错误,会显示如下信息:
root@ubuntu:/usr/local/etc/swanctl# swanctl --load-all loaded ike secret 'ike-host-host' no authorities found, 0 unloaded no pools found, 0 unloaded loaded connection 'host-host' //注:此处的host-host就是之前在swanctl.conf中定义的successfully loaded 1 connections, 0 unloaded
说明:配置swanctl.conf一定要放置在swanctl/conf.d下或swanctl下,否则会报错
2、ipsec up host-host
出现上述信息,说明ipsec建立成功。
3、查询ipsec状态
4、ipsec down host-host,可以断链
5. 抓包