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的完整步驟!如果您有任何想法或問題,請隨時與我們分享。