如何在CentOS/RHEL 8上使用strongSwan设置IPsec VPN

更新时间

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转发

  1. 首先,在两个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

  2. 保存更改后,运行以下命令以加载新的内核参数: bash # sysctl -p

  3. 接下来,在两个安全网关的/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 ```

  1. 然后重启网络管理器以应用新更改: bash # systemctl restart NetworkManager

第二步:在CentOS 8中安装strongSwan

  1. strongSwan软件包在EPEL仓库中提供。要安装它,您需要启用EPEL仓库,然后在两个安全网关上安装strongSwan: bash # dnf install epel-release # dnf install strongswan

  2. 要检查两个网关上安装的strongSwan版本,请运行以下命令: bash # strongswan version

  3. 接下来,启动strongSwan服务,并设置为在系统启动时自动启动。然后在两个安全网关上验证状态: bash # systemctl start strongswan # systemctl enable strongswan # systemctl status strongswan

第三步:配置安全网关

  1. 在此步骤中,您需要使用/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以进行对等身份验证

  1. 接下来,您需要生成一个强大的PSK,用于对等体之间的身份验证: bash # head -c 24 /dev/urandom | base64

  2. 将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" ```

  1. 然后重启strongSwan服务并检查连接状态: bash # systemctl restart strongswan # strongswan status

  2. 测试您是否可以从任一安全网关访问私有子网: bash # ping 10.20.1.1 # ping 10.10.1.1

  3. 最后,要了解更多strongSwan命令以手动启用/禁用连接等,请参见strongSwan帮助页面: bash # strongswan --help


以上就是在CentOS/RHEL 8上使用strongSwan设置IPsec VPN的完整步骤!如果您有任何想法或问题,请随时与我们分享。

更新时间