使用動態轉送建立 VPN 通道

本頁面說明如何使用動態轉送建立 Cloud VPN 閘道與一個通道,這些建立的項目會使用邊界閘道轉送通訊協定 (BGP)

有了動態轉送,您就不需要指定本機或遠端流量選取器,而是可以使用 Cloud Router。 路徑資訊會動態交換。

事前準備:

  • 查看動態轉送在 GCP 中運作的相關資訊。
  • 確認您的內部部署 VPN 閘道支援 BGP。

所需權限

擔任網路管理員角色的專案擁有者、編輯者和身分與存取權管理成員有權建立新 Cloud VPN 閘道與通道。

建立閘道與通道

主控台


  1. 前往 Google Cloud Platform 主控台的 VPN 頁面。
    前往 VPN 頁面
  2. 按一下 [建立]
  3. 在「建立 VPN 連線」頁面的「Google Compute Engine VPN 閘道」區段中提供下列資訊:
    • 名稱 — VPN 閘道的名稱。名稱一經設定即無法變更。
    • 說明 — 視需要輸入說明。
    • 網路 — 選擇應在其中建立 VPN 閘道與通道的 GCP 網路。您可以使用虛擬私人雲端網路舊版網路
    • 地區 — Cloud VPN 閘道與通道是地區物件。選擇閘道所在的 GCP 地區。「不同地區」中的執行個體和其他資源可依照路徑順序,將通道用於輸出流量。如要體驗最佳效能,請將閘道與通道置於與相關 GCP 資源相同的地區。
    • 「IP address」(IP 位址) — 建立或選擇現有地區外部 IP 位址
  4. 針對新通道項目,在「通道」區段提供下列內容:
    • 名稱 — VPN 通道的名稱。名稱一經設定即無法變更。
    • 說明 — 視需要輸入說明。
    • 遠端對等互連 IP 位址 — 提供內部部署 VPN 閘道的公開 IP 位址。
    • IKE 版本 — 選擇內部部署 VPN 閘道支援的適當 IKE 版本。如果內部部署裝置支援 IKEv2,建議選擇這個版本。
    • 共用密鑰 — 提供用於驗證的預先共用金鑰。Cloud VPN 通道的共用密鑰必須與您在內部部署 VPN 閘道中設定對應通道時使用的密鑰相符。您可以遵循這些指示,產生高強度加密的共用密鑰。
    • 路由選項 — 選取 [Dynamic (BGP] (動態 (BGP))
    • 雲端路由器 — 選擇現有 Cloud Router,或選取 [Create cloud router] (建立雲端路由器) 以建立新雲端路由器。如果您選擇現有的 Cloud Router,您仍將建立新的 BGP 工作階段,但 Google ASN 仍然相同。如果您選擇建立新的 Cloud Router,請提供下列詳細資料:
      • 名稱 — Cloud Router 的名稱。名稱一經設定即無法變更。
      • 說明 — 視需要輸入說明。
      • Google ASN — 選擇私人 ASN (64512 - 65534、4200000000 - 4294967294)。這個 Google ASN 會用於 Cloud Router 管理的所有 BGP 工作階段。ASN 一經設定即無法變更。
      • 按一下 [Save and continue] (儲存並繼續)
    • BGP 工作階段 — 按一下鉛筆圖示,然後提供下列詳細資料。完成後,按一下 [Save and continue] (儲存並繼續)
      • 名稱 — BGP 工作階段的名稱。一經設定即無法變更。
      • 對等 ASN — 您的內部部署 VPN 閘道使用的私人 ASN (64512 - 65534、4200000000 - 4294967294)。
      • 公告路徑優先順序 — (選用) Cloud Router 在公告「至 GCP」路徑時使用的基本優先順序。詳情請參閱路徑指標一文。 您的內部部署 VPN 閘道會將這些項目匯入為 MED 值。
      • Cloud Router BGP IPBGP 對等 IP — 這兩個 BGP 介面 IP 位址必須是屬於 169.254.0.0/16 區塊的一般 /30 CIDR 的「連結-本機」IP 位址。每個 BGP IP 都會定義各自的連結本機 IP,可用來變更路徑資訊。例如,169.254.1.1169.254.1.2 屬於一般 /30 區塊。
  5. 如果您需要在相同閘道中建立更多通道,請按一下 [Add tunnel] (新增通道),然後重複上一個步驟。您稍後可以新增多個通道
  6. 按一下 [Create] (建立)

gcloud


在下列指令中:

  • [PROJECT_ID] 替換為專案的 ID。
  • [NETWORK] 替換為 GCP 網路的名稱。
  • [REGION] 替換為您需要建立閘道與通道所在的 GCP 地區
  • [GW_NAME] 替換為閘道的名稱。
  • [GW_IP_NAME] 替換為閘道使用的外部 IP「名稱」

完成下列指令序列,建立 GCP 閘道:

  1. 為 Cloud VPN 閘道建立資源:

    1. 建立「目標 VPN 閘道」物件。

      gcloud compute target-vpn-gateways create [GW_NAME] \
          --network [NETWORK] \
          --region [REGION] \
          --project [PROJECT_ID]
      
    2. 預約地區外部 (靜態) IP 位址:

      gcloud compute addresses create [GW_IP_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
    3. 記下 IP 位址 (以便您可以在設定內部部署 VPN 閘道時使用):

      gcloud compute addresses describe [GW_IP_NAME] \
          --region [REGION] \
          --project [PROJECT_ID] \
          --format='flattened(address)'
      
    4. 建立三個「轉送規則」。這些規則可指示 GCP 將 ESP (IPSec)、UDP 500 與 UDP 4500 流量傳送至閘道。

       gcloud compute forwarding-rules create fr-[GW_NAME]-esp \
           --ip-protocol ESP \
           --address [GW_IP_NAME] \
           --target-vpn-gateway [GW_NAME] \
           --region [REGION] \
           --project [PROJECT_ID]
      
      gcloud compute forwarding-rules create fr-[GW_NAME]-udp500 \
          --ip-protocol UDP \
          --ports 500 \
          --address [GW_IP_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
      gcloud compute forwarding-rules create fr-[GW_NAME]-udp4500 \
          --ip-protocol UDP \
          --ports 4500 \
          --address [GW_IP_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
  2. 若您尚未建立 Cloud Router,或者您想要建立新 Cloud Router,請使用下列指令。將 [ROUTER_NAME] 替換為 Cloud Router 的名稱,並將 [GOOGLE_ASN] 替換為私人 ASN (64512 - 65534、4200000000 - 4294967294)。Google ASN 會用於同一個 Cloud Router 的所有 BGP 工作階段,並且之後無法再進行變更。

      gcloud compute routers create [ROUTER_NAME] \
      --asn [GOOGLE_ASN] \
      --network [NETWORK] \
      --region [REGION] \
      --project [PROJECT_ID]
    
  3. 使用下列詳細資料建立 Cloud VPN 通道:

    • [TUNNEL_NAME] 替換為通道的名稱。
    • [ON_PREM_IP] 替換為內部部署 VPN 閘道的外部 IP 位址。
    • 針對 IKEv1,將 [IKE_VERS] 替換為 1,針對 IKEv2 則替換為 2
    • [SHARED_SECRET] 替換為共用密鑰。Cloud VPN 通道的共用密鑰必須與您在內部部署 VPN 閘道中設定對應通道時使用的密鑰相符。您可以遵循這些指示,產生高強度加密的共用密鑰。
    • [ROUTER_NAME] 替換為您要用來管理 Cloud VPN 通道路徑的 Cloud Router 的名稱。 在您建立通道「之前」,Cloud Router 就必須存在。

      gcloud compute vpn-tunnels create [TUNNEL_NAME] \
          --peer-address [ON_PREM_IP] \
          --ike-version [IKE_VERS] \
          --shared-secret [SHARED_SECRET] \
          --router [ROUTER_NAME] \
          --target-vpn-gateway [GW_NAME] \
          --region [REGION] \
          --project [PROJECT_ID]
      
  4. 建立介面與 BGP 對等點,為 Cloud Router 設定 BGP 工作階段:選擇下列其中一種方法:

    • 讓 GCP 自動選擇連結本機 BGP IP 位址

      1. 將新介面新增至 Cloud Router。替換 [INTERFACE_NAME] 以提供介面的名稱。

        gcloud compute routers add-interface [ROUTER_NAME] \
            --interface-name [INTERFACE_NAME] \
            --vpn-tunnel [TUNNEL_NAME] \
            --region [REGION] \
            --project [PROJECT_ID]
        
      2. 將 BGP 對等點新增至該介面。將 [PEER_NAME] 替換為對等點的名稱,並將 [PEER_ASN] 替換為針對內部部署 VPN 閘道設定的 ASN。

        gcloud compute routers add-bgp-peer [ROUTER_NAME] \
            --peer-name [PEER_NAME] \
            --peer-asn [PEER_ASN] \
            --interface [INTERFACE_NAME] \
            --region [REGION] \
            --project [PROJECT_ID]
        
      3. 列出 Cloud Router 選擇的 BGP IP 位址。如果您將新介面新增至現有 Cloud Router,新介面的 BGP IP 位址應以最高的索引編號列出。「對等互連 IP 位址」是您用來設定內部部署 VPN 閘道的 BGP IP。

        gcloud compute routers get-status [ROUTER_NAME] \
             --region [REGION] \
             --project [PROJECT_ID] \
             --format='flattened(result.bgpPeerStatus[].ipAddress, \
             result.bgpPeerStatus[].peerIpAddress)'
        

        管理單一 Cloud VPN 通道 (索引 0) 的預期 Cloud Router 輸出看起來像以下這樣,其中 [GOOGLE_BGP_IP] 代表 Cloud Router 介面的 BGP IP,[ON_PREM_BGP_IP] 代表其內部部署對等點的 BGP IP。

        result.bgpPeerStatus[0].ipAddress:     [GOOGLE_BGP_IP]
        result.bgpPeerStatus[0].peerIpAddress: [ON_PREM_BGP_IP]
        
    • 如要指派與 GCP BGP 介面和對等點關聯的 BGP IP 位址

      1. /30 區塊的 169.254.0.0/16 範圍中決定一對連結本機 BGP IP 位址。您會在下一個指令中替換 [GOOGLE_BGP_IP],將其中一個 BGP IP 指派給 Cloud Router。另一個 BGP IP 位址可用於您的內部部署 VPN 閘道。您將需要設定讓您的裝置使用該位址,並在以下的最後一個指令中替換 [ON_PREM_BGP_IP]

      2. 將新介面新增至 Cloud Router。替換 [INTERFACE_NAME] 以提供介面的名稱。

        gcloud compute routers add-interface [ROUTER_NAME] \
            --interface-name [INTERFACE_NAME] \
            --vpn-tunnel [TUNNEL_NAME] \
            --ip-address [GOOGLE_BGP_IP] \
            --mask-length 30 \
            --region [REGION] \
            --project [PROJECT_ID]
        
      3. 將 BGP 對等點新增至該介面。將 [PEER_NAME] 替換為對等點的名稱,並將 [PEER_ASN] 替換為針對內部部署 VPN 閘道設定的 ASN。

        gcloud compute routers add-bgp-peer [ROUTER_NAME] \
            --peer-name [PEER_NAME] \
            --peer-asn [PEER_ASN] \
            --interface [INTERFACE_NAME] \
            --peer-ip-address [ON_PREM_BGP_IP] \
            --region [REGION] \
            --project [PROJECT_ID]
        

後續步驟

您必須完成下列步驟,才能使用新 Cloud VPN 閘道與通道:

  1. 設定內部部署 VPN 閘道,並在閘道中設定對應通道。請參閱以下頁面:
  2. 根據需要設定 GCP 與內部部署網路的防火牆規則。如需建議,請參閱防火牆規則頁面
  3. 檢查通道的狀態

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud VPN