strongSwan是一个开源的、多平台的现代IPsec VPN解决方案,专为Linux设计,提供对互联网密钥交换(IKEv1和IKEv2)的全面支持,以在两个对等体之间建立安全关联(SA)。它功能齐全,模块化设计,并提供数十个插件以增强核心功能。
测试环境
在配置过程中,请务必使用您实际的IP地址。
站点1网关
- 公共IP:192.168.56.7
- 私有IP:10.10.1.1/24
- 私有子网:10.10.1.0/24
站点2网关
- 公共IP:192.168.56.6
- 私有IP:10.20.1.1/24
- 私有子网:10.20.1.0/24
第一步:在CentOS 8中启用内核IP转发
-
首先,在两个VPN网关的
/etc/sysctl.conf
配置文件中启用内核IP转发功能。bash # vi /etc/sysctl.conf
在文件中添加以下行:plaintext net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1 net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.send_redirects = 0
-
保存更改后,运行以下命令以加载新的内核参数:
bash # sysctl -p
-
接下来,在两个安全网关的
/etc/sysconfig/network-scripts/route-eth0
文件中创建永久静态路由:bash # vi /etc/sysconfig/network-scripts/route-eth0
在文件中添加以下行: ```plaintext # 站点1网关 10.20.1.0/24 via 192.168.56.7
# 站点2网关 10.10.1.0/24 via 192.168.56.6 ```
- 然后重启网络管理器以应用新更改:
bash # systemctl restart NetworkManager
第二步:在CentOS 8中安装strongSwan
-
strongSwan软件包在EPEL仓库中提供。要安装它,您需要启用EPEL仓库,然后在两个安全网关上安装strongSwan:
bash # dnf install epel-release # dnf install strongswan
-
要检查两个网关上安装的strongSwan版本,请运行以下命令:
bash # strongswan version
-
接下来,启动strongSwan服务,并设置为在系统启动时自动启动。然后在两个安全网关上验证状态:
bash # systemctl start strongswan # systemctl enable strongswan # systemctl status strongswan
第三步:配置安全网关
- 在此步骤中,您需要使用
/etc/strongswan/ipsec.conf
配置文件为每个站点配置连接配置文件。
配置站点1连接配置文件
```bash
复制并粘贴以下配置到文件中:
plaintext
config setup
charondebug="all"
uniqueids=yes
conn gateway1-to-gateway2 type=tunnel auto=start keyexchange=ikev2 authby=secret left=192.168.56.7 leftsubnet=10.10.1.1/24 right=192.168.56.6 rightsubnet=10.20.1.1/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart ```
配置站点2连接配置文件
```bash
复制并粘贴以下配置到文件中:
plaintext
config setup
charondebug="all"
uniqueids=yes
conn 2gateway-to-gateway1 type=tunnel auto=start keyexchange=ikev2 authby=secret left=192.168.56.6 leftsubnet=10.20.1.1/24 right=192.168.56.7 rightsubnet=10.10.1.1/24 ike=aes256-sha1-modp1024! esp=aes256-sha1! aggressive=no keyingtries=%forever ikelifetime=28800s lifetime=3600s dpddelay=30s dpdtimeout=120s dpdaction=restart ```
第四步:配置PSK以进行对等身份验证
-
接下来,您需要生成一个强大的PSK,用于对等体之间的身份验证:
bash # head -c 24 /dev/urandom | base64
-
将PSK添加到两个安全网关的
/etc/strongswan/ipsec.secrets
文件中:bash # vi /etc/strongswan/ipsec.secrets
在文件中输入以下行: ```plaintext # 站点1网关 192.168.56.7 192.168.56.6 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL"
# 站点2网关 192.168.56.6 192.168.56.7 : PSK "0GE0dIEA0IOSYS2o22wYdicj/lN4WoCL" ```
-
然后重启strongSwan服务并检查连接状态:
bash # systemctl restart strongswan # strongswan status
-
测试您是否可以从任一安全网关访问私有子网:
bash # ping 10.20.1.1 # ping 10.10.1.1
-
最后,要了解更多strongSwan命令以手动启用/禁用连接等,请参见strongSwan帮助页面:
bash # strongswan --help
以上就是在CentOS/RHEL 8上使用strongSwan设置IPsec VPN的完整步骤!如果您有任何想法或问题,请随时与我们分享。