版本信息: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. 抓包

