本頁面說明如何從一個 VPN 閘道新增 VPN 通道至另一個閘道。
VPN 通道是組織網路與遠端網路之間的加密 IPsec 通道。它會將 VPNGateway
介面連線至 PeerGateway
介面,並使用 VPNBGPPeer
資源透過通道交換轉送資訊。
事前準備
如要建立 VPN 通道,您必須具備下列條件:
- 現有的 VPN 閘道和 VPN 對等互連閘道資源。詳情請參閱「建立 VPN 閘道和對等互連閘道」。
- 現有的 VPN BGP 對等互連物件。詳情請參閱「建立 VPN BGP 工作階段」。
- 現有密鑰。詳情請參閱使用 PSK 建立密鑰。
必要的身分與存取權角色:
- VPN 管理員:具備所有 VPN 相關資源的讀寫權限。請機構 IAM 管理員授予您 VPN 管理員 (
vpn-admin
) 角色。 - VPN 檢視者:具備所有 VPN 相關資源的讀取權限。請要求機構 IAM 管理員授予您 VPN 檢視者 (
vpn-viewer
) 角色。 - 詳情請參閱「角色定義」。
- VPN 管理員:具備所有 VPN 相關資源的讀寫權限。請機構 IAM 管理員授予您 VPN 管理員 (
建立 VPN 通道
參照先前步驟中建立的 VPNGateway
、PeerGateway
、VPNBGPPeer
和 Secret
資源,建立通道。
如要建立 VPN 通道,請按照下列步驟操作:
建立
VPNTunnel
物件:kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF apiVersion: networking.gdc.goog/v1 kind: VPNTunnel metadata: name: VPN_TUNNEL_NAME spec: vpnInterface: name: VPN_GW_NAME namespace: platform interface: VPN_INTERFACE_NAME peerInterface: name: PEER_GW_NAME namespace: platform interface: PEER_INTERFACE_NAME vpnBGPPeer: name: VPN_BGP_PEER_NAME namespace: platform ikeKey: name: PSK_NAME namespace: platform EOF
更改下列內容:
MANAGEMENT_API_SERVER
:區域 API 伺服器的 kubeconfig 路徑。如果您尚未在目標區域中為 API 伺服器產生 kubeconfig 檔案,請參閱「登入」一文瞭解詳情。- :使用的 VPN 通道名稱。
VPN_TUNNEL_NAME
VPN_GW_NAME
:VPN 閘道的名稱。VPN_INTERFACE_NAME
:VPN 介面的名稱。PEER_GW_NAME
:對等互連 VPN 閘道的名稱。PEER_INTERFACE_NAME
:對等互連 VPN 閘道介面的名稱。VPN_BGP_PEER_NAME
:VPN BGP 對等互連的名稱。詳情請參閱「建立 VPN BGP 工作階段」。PSK_NAME
:您在「使用 PSK 建立密鑰」中建立的 PSK 名稱。
檢查
Status
欄位,確認VPN_TUNNEL_NAME
物件已正確對帳。取得 VPN 通道的詳細資料:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAME
檢查輸出內容,應與下列範例類似:
Status: Conditions: Last Transition Time: 2024-05-10T00:33:31Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Reconciled Last Transition Time: 2024-05-10T00:33:31Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Ready Last Transition Time: 2024-05-10T00:33:31Z Message: Tunnel is established. Observed Generation: 1 Reason: Ready Status: True Type: TunnelEstablished State: Established
VPNGateway
、PeerGateway
和VPNBGPPeer
物件在VPNTunnel
參照後,必須更新狀態。舉例來說,如果您確認VPNBGPPeer
已正確對帳,就會看到更新後的狀態值。取得VPNBGPPeer
物件的詳細資料:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
檢查輸出內容,狀態值現在已更新:
Status: Advertised: Prefix: 10.0.0.16/28 Prefix: 10.0.1.32/27 Prefix: 172.16.0.0/14 Prefix: 172.20.0.0/17 Prefix: 172.20.128.0/17 Prefix: 2002:4860:100e:fa00::/58 Conditions: Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ValidIPs Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: TunnelsAttached Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Reconciled Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: AdvertisedRoutesReady Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ReceivedRoutesValid Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ReceivedRoutesReady Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Ready Received: Prefix: 192.168.100.0/24 Prefix: 193.188.200.0/24 State: Established