用户数据中心侧操作步骤
约束与限制
本文操作步骤以运行“CentOS 8.2 64位操作系统”的strongSwan设备为例。其他操作系统,请参考strongSwan官方文档。
操作步骤
- 在strongSwan官网下载安装包。
不同strongSwan版本的安装配置方式可能存在差异,本示例以strongSwan 5.9.10版本为例。
- 安装strongSwan软件。
- 以root用户登录CentOS 8.2系统,打开命令行窗口。
- 将strongSwan安装包上传到待安装strongSwan的服务器目录,如/opt/。
- 执行以下命令,进入安装包所在目录。
- 执行以下命令,安装strongSwan。
rpm –ivh strongswan-5.9.10-1.el8.x86_64.rpm --force --nodeps
strongswan-5.9.10-1.el8.x86_64.rpm为安装包的名称,请根据实际替换。
回显如下粗体信息,表示安装成功。Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:strongswan-5.9.10-1.el8 ################################# [100%]
- 执行以下命令,查看strongSwan版本。
回显如下粗体信息:
Linux strongSwan U5.9.10/K4.18.0-348.7.1.el8_5.x86_64 University of Applied Sciences Rapperswil, Switzerland
- 放通防火墙策略。
- 开启流量转发功能。
执行以下命令,开启流量转发功能。
- 配置双隧道。
- 执行以下命令,备份原始strongSwan配置文件。
mv /etc/strongswan/swanctl/swanctl.conf /etc/strongswan/swanctl/swanctl.conf.bak
- 执行以下命令,新建strongSwan配置文件。
- 根据数据规划,添加如下配置。
connections { vco1 { #添加IPsec-VPN隧道1的VPN配置 version = 2 # 指定IKE版本,需与华为云隧道1的IKE版本保持一致,2表示IKEv2。 local_addrs = 172.16.0.195 # 本地ip地址 remote_addrs = 1.1.1.2 # 指定隧道1对端的IP地址为华为云隧道1的网关IP地址,即IPsec地址1。 dpd_delay = 10 rekey_time = 86400 # 指定隧道1的SA生命周期,需与华为云隧道1 IKE配置中的SA生命周期保持一致。 over_time = 1800 proposals = aes128-sha1-modp1024 # 指定隧道1的加密算法、认证算法、DH算法,需与华为云隧道1 IKE配置中的加密算法、认证算法、DH算法保持一致,group2对应的是modp1024。 encap = yes local { auth = psk # 本端认证方式选择PSK模式,即预共享密钥方式。 id = 1.1.1.1 # 本地公网出口IP,需与华为云隧道1的公网IP保持一致。 } remote { auth = psk # 对端认证方式选择PSK方式,即华为云使用预共享密钥方式。 id = 1.1.1.2 # 华为云侧IPsec地址1,需与华为云隧道1的主EIP保持一致。 } children { vco_child1 { local_ts = 172.16.0.0/16 # 本地侧感兴趣流,填写本地私网网段172.16.0.0/16。 remote_ts = 192.168.0.0/24 # 华为云侧感兴趣流,填写VPC网段192.168.0.0/24。 mode = tunnel rekey_time = 85500 life_time = 86400 # 指定隧道1的SA生命周期,需与华为云隧道1 IPsec配置中的SA生命周期保持一致。 dpd_action = restart start_action = start close_action = start esp_proposals = aes128-sha1-modp1024 # 指定隧道1的加密算法、认证算法、DH算法,需与华为云隧道1 IPsec配置中的加密算法、认证算法、DH算法保持一致,group2对应的是modp1024。 } } } vco2 { # 添加IPsec-VPN隧道2的VPN配置 version = 2 # 指定IKE版本,需与华为云隧道2的IKE版本保持一致,2表示IKEv2。 local_addrs = 172.16.0.195 # 本地IP地址 remote_addrs = 2.2.2.2 # 指定隧道地址,即IPsec地址2。 dpd_delay = 10 rekey_time = 84600 # 指定隧道2的SA生命周期,需与华为云隧道2 IKE配置中的SA生命周期保持一致。 over_time = 1800 proposals = aes128-sha1-modp1024 # 指定隧道2的加密算法、认证算法、DH算法,需与华为云隧道2 IKE配置中的加密算法、认证算法、DH算法保持一致,group2对应的是modp1024。 encap = yes local { auth = psk # 本端认证方式选择PSK方式,即预共享密钥方式。 id = 1.1.1.1 # 本地公网出口IP,与华为云隧道2的公网IP保持一致。 } remote { auth = psk # 对端认证方式选择PSK方式,即华为云使用预共享密钥方式。 id = 2.2.2.2 # 华为云侧IPsec地址2,需与华为云隧道2的备EIP保持一致。 } children { vco_child2 { local_ts = 172.16.0.0/16 # 本地侧感兴趣流,填写本地私网网段172.16.0.0/16。 remote_ts = 192.168.0.0/24 # 华为云侧感兴趣流,填写VPC网段192.168.0.0/24。 mode = tunnel rekey_time = 85500 life_time = 86400 # 指定隧道2的SA生命周期,需与华为云隧道1 IPsec配置中的SA生命周期保持一致。 dpd_action = restart start_action = start close_action = start esp_proposals = aes-sha1-modp1024 # 指定隧道2的加密算法、认证算法、DH算法,需与华为云隧道2 IPsec配置中的加密算法、认证算法、DH算法保持一致,group2对应的是modp1024。 } } } } secrets { ike-vco1 { secret = Test@123 # 指定隧道1的预共享密钥,需与华为云隧道1的预共享密钥保持一致。 } ike-vco2 { secret = Test@123 # 指定隧道2的预共享密钥,需与华为云隧道2的预共享密钥保持一致。 } }
- 按“ESC”后,输入:wq,按“Enter”。
保存设置并退出编辑器。
- 执行以下命令,重启strongSwan进程。
- 执行以下命令,查看隧道状态。
回显如下信息:
ecs-b6b4-strongswan: Tue Mar 11 16:51:19 2025 plugin 'sqlite': failed to load - sqlite_plugin_create not found and no plugin file available vco2: #2, ESTABLISHED, IKEv2, c2786dfe3bc7d7e0_i* 75e148eba08c17e1_r ...... ...... vco1: #1, ESTABLISHED, IKEv2, 3d3396aa3797c86f_i* d89bb869311c580c_r ...... ......
- 执行以下命令,备份原始strongSwan配置文件。