連接至 strongSwan 對等節點
您可以使用IBM Cloud VPN讓 VPC 透過 VPN 隧道將您的 VPC 安全地連接到本地網路。 本主題提供如何配置您的strongSwan要連線的 VPN 網關VPN for VPC。
這些指示基於 Linux strongSwan U5.3.5/K4.4.0-133-generic。
在繼續連線至您的內部對等網路之前,請閱讀 VPN 閘道的已知問題。
前往 /etc 目錄並建立一個新的自訂隧道配置文件,其名稱(例如 ipsec.abc.conf
)。 透過新增下列行,編輯 /etc/ipsec.conf
檔案以併入新的 ipsec.abc.conf
檔案:
include /etc/ipsec.abc.conf
當 strongSwan VPN 收到來自 VPN for VPC的連線要求時,strongSwan 會使用 IPsec「階段 1」參數來建立安全連線,並鑑別 VPN for VPC 閘道。 接著,如果安全政策允許連線,strongSwan VPN 會使用 IPsec Phase 2 參數建立隧道,並套用 IPsec 安全政策。 金鑰管理、鑑別及安全服務會透過 IKE 通訊協定動態協議。
要支援這些功能,必須在 strongSwan VPN 上執行下列一般設定步驟:
- 定義 strongSwan 認證 VPN for VPC 和建立安全連線所需的 Phase 1 參數。
- 定義 strongSwan 與 VPN for VPC 建立 VPN 通道所需的 Phase 2 參數。
將 IBM 原則型 VPN 連接至 strongSwan 對等節點
請使用下列配置:
-
在驗證中選擇
IKEv2
。 -
在第一階段提案中啟用
DH-group 2
。 -
在第一階段提案中設定
lifetime = 36000
。 -
在第二階段提案中停用 PFS。
-
在第二階段提案中設定
lifetime = 10800
。 -
在 Phase 2 提案中輸入您的對等網路和子網路資訊。
以下範例定義了本機子網路之間的連接
10.160.26.64/26
(誰strongSwanVPN閘道有IP位址169.45.74.119
) 和 VPC 子網192.168.17.0/28
(誰VPN for VPC網關有IP位址169.61.181.116
)。vim /etc/ipsec.abc.conf conn all type=tunnel auto=start #aggressive=no esp=aes256-sha256! ike=aes256-sha256-modp2048! left=%any leftsubnet=10.160.26.64/26 rightsubnet=192.168.17.0/28 right=169.61.181.116 leftauth=psk rightauth=psk leftid="169.45.74.119" keyexchange=ikev2 rightid="169.61.181.116" lifetime=10800s ikelifetime=36000s dpddelay=30s dpdaction=restart dpdtimeout=120s
-
在
/etc/ipsec.secrets
中設定預先共用的金鑰:vim ipsec.secrets # This file holds shared secrets or RSA private keys for authentication. 169.45.74.119 169.61.181.116 : PSK "******"
-
在配置檔完成執行之後,重新啟動 strongSwan VPN。
ipsec restart
連接一個IBM基於路由的 VPN 到strongSwan同行
以下範例配置顯示如何在strongSwan和VPN for VPC。
-
若要啟用 IP 轉發,請輸入以下命令:
sudo sysctl -w net.ipv4.conf.all.forwarding=1
-
建立一個名為
/etc/strongswan.d/charon-no-route-install.conf
並添加以下內容:charon { install_routes = no }
-
若要設定 VPN 連接,請更新
/etc/ipsec.abc.conf
文件。 在下列範例中,VPN 閘道有兩個公用 IP (135.90.134.86
,135.90.134.87
)。這strongSwan伺服器IP是169.59.212.125
。 此配置建立兩個連線。 這leftid
是公共IPstrongSwan伺服器,同時right
和rightid
代表VPN網關的公網IP。conn peer_135.90.134.86 keyexchange=ikev2 left=%any leftid=169.59.212.125 leftsubnet=0.0.0.0/0 rightsubnet=0.0.0.0/0 right=135.90.134.86 rightid=135.90.134.86 auto=start ike=aes256-aes192-aes128-sha512-sha384-sha256-modp2048s256-modp2048s224-modp1024s160-ecp521-ecp384-ecp256-modp8192-modp6144-modp4096-modp3072-modp2048-x25519! ikelifetime=36000s esp=aes256gcm16-aes192gcm16-aes128gcm16,aes256-aes192-aes128-sha512-sha384-sha256! lifetime=10800s type=tunnel leftauth=psk rightauth=psk dpdaction = restart dpddelay = 10s mark = 1 conn peer_135.90.134.87 keyexchange=ikev2 left=%any leftid=169.59.212.125 leftsubnet=0.0.0.0/0 rightsubnet=0.0.0.0/0 right=135.90.134.87 rightid=135.90.134.87 auto=start ike=aes256-aes192-aes128-sha512-sha384-sha256-modp2048s256-modp2048s224-modp1024s160-ecp521-ecp384-ecp256-modp8192-modp6144-modp4096-modp3072-modp2048-x25519! ikelifetime=36000s esp=aes256gcm16-aes192gcm16-aes128gcm16,aes256-aes192-aes128-sha512-sha384-sha256! lifetime=10800s type=tunnel leftauth=psk rightauth=psk dpdaction = restart dpddelay = 10s mark = 2
-
在中設定預共享密鑰
/etc/ipsec.secrets
文件並替換******
對於真正的預共用金鑰值:169.59.212.125 135.90.134.86 : PSK "******" 169.59.212.125 135.90.134.86 : PSK "******"
-
在伺服器上建立虛擬接口,並將VTI接口狀態設定為
up
。 代替mark_num
與價值mark
(如步驟 3 所定義)。 這local_ip
是私有IP 的strongSwan伺服器,以及remote_ip
是公共IP VPN 閘道的公用 IP 位址。# sample: sudo ip tunnel add vti<mark_num> local <local_ip> remote <remote_ip> mode vti key <mark_num> sudo ip tunnel add vti1 local 10.240.2.11 remote 135.90.134.86 mode vti key 1 sudo ip tunnel add vti1 local 10.240.2.11 remote 135.90.134.87 mode vti key 2 sudo ip link set vti1 up sudo ip link set vti2 up
-
新增一條路線strongSwan伺服器。 在這個例子中,
10.240.0.0/24
是要連接的 VPN 網關的子網,VTI 名稱是步驟 5 中的 VTI 名稱。sudo ip route add 10.240.0.0/24 proto static nexthop dev vti1 nexthop dev vti2
-
在配置檔完成執行之後,重新啟動 strongSwan VPN。
ipsec restart