VMware Workstation 10.0.0 + ubuntu-18.04/16.04 + strongSwan
1. 使用VMware创建2台虚拟机。
2. 每台虚拟机下载、编译、安装strongSwan。
3. 配置实验环境。
4. 验证实验结果。
此步骤过程略过,网上有许多教程可以作为参考。
由于本人电脑环境的原因,同时创建2台ubuntu18.04版本虚拟机开启后会非常卡,所以我创建了一台18.04版本和一台16.04版本的,同时开启运行没有问题。
由于后期可能需要进行二次开发,因此本次实验下载strongSwan源代码,编译后安装。
(1) 创建strongSwan.d文件夹,用于存放源代码,打开新建的文件夹。
mkdir strongswan.d
cd strongswan.d/
(2) 下载最新版strongSwan代码5.8.1,并解压缩。系统会自动创建strongswan-5.8.1文件夹并将解压缩后的内容放至该文件夹。
wget https://download.strongswan.org/strongswan-5.8.1.tar.bz2
tar jxvf strongswan-5.8.1.tar.bz2
(3) 进入解压后文件夹,运行configure脚本,使用前缀/usr,配置文件目录/etc。
cd strongswan-5.8.1/
./configure --prefix=/usr --sysconfdir=/etc
(4) 使用make和make install命令编译、安装strongSwan。make install命令可能需要root权限。
make
sudo make install
(5) 检查strongSwan有没有正确安装。
使用ipsec start命令尝试启动ipsec检验。
在配置文件/etc目录,可以找到ipsec和strongwan相关配置文件。
如下图所示,本次实验模拟如下场景,我们在网关A和网管B之间建立ipsec隧道,网关A的IP地址为192.168.153.129,网关B的IP地址为192.168.153.128,网关A下的子网段为10.1.0.0/16,网关B下的子网段为10.2.0.0/16。
本次实验主要配置以下几个文件:
ipsec.conf : 用于存放ipsec的策略配置,在此配置文件中可以找到如下所示的信息:IKE版本、隧道类型、源和目的网关、私有网络等。
ipsec.secrets : 用于存放秘钥
具体配置如下:
网关A的ipsec.conf文件如下所示:
config setup
charondebug="all"
uniqueids=yes
strictcrlpolicy=no
conn %default
conn tunnel #
left=192.168.153.129
leftsubnet=10.1.0.0/16
right=192.168.153.128
rightsubnet=10.2.0.0/16
ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256!
keyingtries=0
ikelifetime=1h
lifetime=8h
dpddelay=30
dpdtimeout=120
dpdaction=restart
authby=secret
auto=start
keyexchange=ikev2
type=tunnel
网关A的ipse.secrets文件如下:
# ipsec.secrets - strongSwan IPsec secrets file
192.168.153.129 192.168.153.128 : PSK 'test12345'
网关B的ipsec.conf文件与网关A的ipsec.conf文件基本一致,只是左右IP和subnet字段相反。
网关B的ipsec.secrets文件与网关A的ipsec.secrets文件基本一致,只是前后两个IP地址相反即可。
按照上述配置文件配置完成后,使用以下ipsec start/restart命令启动strongswan守护进程( charon ):
使用ipsec status/statusall命令查看ipsec状态:
参考文档:
https://www.howtoing.com/strongswan-based-ipsec--using-certificates-and-pre-shared-key-on-ubuntu-16-04/