建立連結至對接 VPN 閘道的高可用性 VPN 閘道

本頁面說明如何建立高可用性 VPN 閘道,連結至對接 VPN 閘道。

高可用性 VPN 閘道使用高可用性 VPN API,並提供 99.99% 的服務水準協議。這項設定會使用通道配對,每個高可用性 VPN 閘道介面各有一個通道。如要享有 99.99% 的服務水準協議,您必須在兩個高可用性 VPN 閘道介面上設定 VPN 通道。

高可用性 VPN 有兩個閘道元件需要設定:

  • Google Cloud中的高可用性 VPN 閘道。
  • 對等互連 VPN 閘道。

    對等互連網路中,與高可用性 VPN 閘道連線的一或多個實體 VPN 閘道裝置或軟體應用程式。對等互連閘道可以是內部部署的 VPN 閘道,也可以是由其他雲端供應商代管的閘道。

    在 Google Cloud 中,為每個對等互連閘道裝置或服務建立外部 VPN 閘道資源。所有對等互連閘道情境都會在Google Cloud 中以單一外部對等互連 VPN 資源表示。

如要進一步瞭解 Cloud VPN,請參閱下列資源:

如要部署採用 Cloud Interconnect 的高可用性 VPN,請參閱採用 Cloud Interconnect 的高可用性 VPN 總覽

備援類型

高可用性 VPN API 包含 REDUNDANCY_TYPE 選項,代表您為外部 VPN 閘道資源設定的介面數量。

設定外部 VPN 閘道資源時,gcloud CLI 指令會根據您在介面 ID 中提供的介面數量,自動推斷 REDUNDANCY_TYPE 的下列值:

  • 一個外部 VPN 介面為 SINGLE_IP_INTERNALLY_REDUNDANT
  • 兩個外部 VPN 介面為 TWO_IPS_REDUNDANCY
  • 四個外部 VPN 介面為 FOUR_IPS_REDUNDANCY

設定外部 VPN 閘道時,請使用下列介面識別碼,為指定數量的外部 VPN 介面設定介面:

  • 如為一個外部 VPN 介面,請使用 0 值。
  • 如果是兩個外部 VPN 介面,請使用值 01
  • 如果是四個外部 VPN 介面,請使用 0123 值。

建立 Cloud Router

設定新的高可用性 VPN 閘道時,您可以建立新的 Cloud Router,也可以搭配現有的 Cloud VPN 通道或 VLAN 連結使用現有的 Cloud Router。不過,您使用的 Cloud Router 不得管理與合作夥伴互連網路連線相關聯的 VLAN 連結 BGP 工作階段,因為該連結有特定 ASN 需求

事前準備

查看動態轉送在 Google Cloud中運作的相關資訊。

確認對等互連 VPN 閘道支援邊界閘道通訊協定 (BGP)。

在 Google Cloud 中設定下列項目,簡化 Cloud VPN 設定程序:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  11. To initialize the gcloud CLI, run the following command:

    gcloud init
    1. 如果您使用 Google Cloud CLI,請使用下列指令設定專案 ID。本頁的 gcloud 指令假設您已在發出指令前設定專案 ID。

          gcloud config set project PROJECT_ID
        
    1. 您也可以執行下列指令,查看已設定的專案 ID:

          gcloud config list --format='text(core.project)'
        

    建立自訂虛擬私有雲網路和子網路

    建立高可用性 VPN 閘道和通道配對前,請先在 高可用性 VPN 閘道所在的區域中,建立虛擬私有雲 (VPC) 網路和至少一個子網路:

    如要為高可用性 VPN 閘道啟用 IPv6,您必須在建立虛擬私有雲時,啟用 IPv6 內部位址的分配作業。此外,您必須設定子網路,才能使用 IPv6 內部位址。

    您也必須在子網路中的 VM 上設定 IPv6。

    VPC 子網路必須設定為使用內部 IPv6 位址。使用 gcloud CLI 時,請透過 --ipv6-access-type=INTERNAL 旗標設定子網路。如果子網路設定為使用外部 IPv6 位址 (--ipv6-access-type=EXTERNAL),Cloud Router 就不會動態通告該子網路的路徑。

    如要瞭解如何在 VPC 網路和子網路中使用內部 IPv6 位址範圍,請參閱「內部 IPv6 規格」。

    本文中的範例也使用 VPC 全域動態轉送模式,其運作方式如下:

    • 所有 Cloud Router 執行個體都會將取得的 to on-premises 路徑套用到 VPC 網路的所有子網路。
    • 虛擬私有雲網路中所有子網路的路徑都會與內部部署路由器共用。

    建立高可用性 VPN 閘道和通道配對至對等互連 VPN

    請按照本節中的操作說明,建立高可用性 VPN 閘道、對等互連 VPN 閘道資源、一對通道和 BGP 工作階段。

    建立高可用性 VPN 閘道

    主控台

    VPN 設定精靈包含建立高可用性 VPN 閘道、對等互連 VPN 閘道資源、通道和 BGP 工作階段的所有必要設定步驟。

    如要建立高可用性 VPN 閘道,請按照下列步驟操作:

    1. 前往 Google Cloud 控制台的「VPN」頁面。

      前往 VPN

    2. 如果是首次建立閘道,請按一下「建立 VPN 連線」

    3. 選取「VPN 設定精靈」

    4. 在「VPN gateway name」(VPN 閘道名稱) 欄位中,輸入高可用性 VPN 閘道的名稱。

    5. 在「VPC network」(虛擬私人雲端網路) 中,選取現有網路或預設網路。

    6. 在「Region」(區域) 部分,選取高可用性 VPN 閘道的區域。

    7. 在「VPN 閘道 IP 版本」中,選取高可用性 VPN 閘道 IP 版本。

      高可用性 VPN 閘道和對等互連 VPN 閘道的 IP 版本必須相同。

    8. 在「VPN gateway IP stack type」(VPN 閘道 IP 堆疊類型) 中,選取 VPN 閘道的堆疊類型。

    9. 按一下「建立並繼續」

      控制台頁面會重新整理,並顯示閘道資訊。 系統會自動為各個閘道介面分配兩個外部 IP 位址。請記下閘道設定的詳細資料,以供日後設定時參考。

    gcloud

    如要建立高可用性 VPN 閘道,請執行下列指令。建立閘道時,系統會自動分配兩個外部 IP 位址,每個閘道介面各一個。

    • 如要僅支援 IPv4 工作負載,可以建立堆疊類型為 IPV4_ONLY 的高可用性 VPN 閘道。
    • 如要同時支援 IPv4 和 IPv6 工作負載,可以建立堆疊類型為 IPV4_IPV6 的高可用性 VPN 閘道。
    • 如要僅支援 IPv6 工作負載,可以建立堆疊類型為 IPV6_ONLY 的高可用性 VPN 閘道。

    如要建立具有 IPv4 介面的高可用性 VPN 閘道,請執行下列指令。建立閘道時,系統會自動分配兩個外部 IPv4 位址,每個閘道介面各一個。

    gcloud compute vpn-gateways create GW_NAME \
        --network=NETWORK \
        --region=REGION \
       [--stack-type=IP_STACK]
    

    更改下列內容:

    • GW_NAME:閘道名稱
    • NETWORK: Google Cloud 網路名稱
    • REGION:您建立閘道和通道的Google Cloud區域
    • IP_STACK:要使用的 IP 堆疊。指定 IPV4_ONLYIPV4_IPV6。如果您未指定此旗標,高可用性 VPN 閘道的堆疊類型為 IPV4_ONLY--stack-type 是選用旗標。

    您也可以指定 --gateway-ip-version=IPV4。不過,這個旗標並非必要。如果未指定這個旗標,高可用性 VPN 閘道預設會使用外部 IPv4 位址。

    如要建立具有 IPv6 介面的高可用性 VPN 閘道,請執行下列指令。建立閘道時,系統會自動分配兩個外部 IPv6 位址,每個閘道介面各一個。

    gcloud compute vpn-gateways create GW_NAME \
        --network=NETWORK \
        --region=REGION \
        --gateway-ip-version=IPV6 \
        --stack-type=IP_STACK
    

    更改下列內容:

    • GW_NAME:閘道名稱
    • NETWORK: Google Cloud 網路名稱
    • REGION:您建立閘道和通道的Google Cloud區域
    • IP_STACK:要使用的 IP 堆疊。指定 IPV4_IPV6IPV6_ONLY。如果您未指定此旗標,高可用性 VPN 閘道的堆疊類型為 IPV4_IPV6--stack-type 是選用旗標。

    您建立的閘道類似於下列範例輸出內容。如果您指定 --gateway-ip-version=IPV6,系統會指派 IPv6 介面。

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnGateways/ha-vpn-gw-a].
    NAME          INTERFACE0                 INTERFACE1                NETWORK     REGION
    ha-vpn-gw-a   2600:1900:4f00:2:a:49b::   2600:1900:4f10:2:a:6a8::  network-a   us-central1
    

    API

    如要建立 HA VPN 閘道的完整設定,請使用下列各節的 API 指令。這些章節中使用的所有欄位值都是範例值。

    如要建立高可用性 VPN 閘道,請使用 vpnGateways.insert 方法發出 POST 要求:

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways
       {
         "name": "ha-vpn-gw-a",
         "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a",
         "stackType": "IPV4_IPV6",
         "gatewayIpVersion": "IPV4"
       }
    
       POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/vpnGateways
       {
         "name": "ha-vpn-gw-a",
         "network": "https://www.googleapis.com/compute/beta/projects/PROJECT_ID/global/networks/network-a",
         "gatewayIpVersion": "IPV6",
         "stackType": "IPV6_ONLY"
       }
    
    • 使用 IPv4 介面建立高可用性 VPN 閘道時,gatewayIpVersionstackType 欄位為選填。

      • 如未指定 stackType,預設值為 IPV4_ONLY

      • 如未指定 gatewayIpVersion,預設值為 IPV4

      • 如果閘道的 gatewayIpVersionIPV4,則唯一有效的 stackType 值為 IPV4_IPV6IPV4_ONLY

    • 使用 IPv6 介面建立高可用性 VPN 閘道時,請將 gatewayIpVersion 值指定為 IPV6stackType 為選填欄位。

      • 如未指定 stackType,預設值為 IPV4_IPV6

      • 如果閘道的 gatewayIpVersionIPV6,則唯一有效的 stackType 值為 IPV4_IPV6IPV6_ONLY

    建立對等互連 VPN 閘道資源

    主控台

    對等互連 VPN 閘道資源代表Google Cloud 閘道 Google Cloud中的非閘道。

    如要建立對等互連 VPN 閘道資源,請按照下列步驟操作:

    1. 在「建立 VPN」頁面的「對等互連 VPN 閘道」下方,選取「內部部署或非 Google Cloud」
    2. 在「對等互連 VPN 閘道名稱」下方,選擇現有的對等互連閘道,或按一下「建立新的對等互連 VPN 閘道」

      如果您選擇現有閘道,控制台會根據您在現有對等互連閘道上設定的對等互連介面數量,選取要設定的通道數量。 Google Cloud

      如要建立新的對等互連閘道,請完成下列步驟:

      1. 指定對等互連 VPN 閘道的「名稱」
      2. 在「對等互連 VPN 閘道介面」下方,根據對等互連閘道的介面類型,選取 onetwofour 介面。如需各類型的範例,請參閱拓撲頁面
      3. 在每個對等互連 VPN 介面的欄位中,指定該介面使用的外部 IP 位址。詳情請參閱「設定對等互連 VPN 閘道」。
      4. 點選「建立」

    gcloud

    建立外部 VPN 閘道資源,提供對等互連 VPN 閘道或閘道的相關資訊。Google Cloud 您可以根據對等互連 VPN 閘道的高可用性建議,為下列不同類型的內部部署 VPN 閘道建立外部 VPN 閘道資源:

    • 兩個個別的對等互連 VPN 閘道裝置,這兩個裝置彼此互為備援,且每個裝置都有自己的外部 IP 位址。
    • 一個對等互連 VPN 閘道,使用兩個不同的介面,每個介面都有專屬的外部 IP 位址。對於這類對等互連閘道,您可以建立具有兩個介面的單一外部 VPN 閘道。
    • 具有單一外部 IP 位址的單一對等互連 VPN 閘道。

    選項 1:為兩個不同的對等互連 VPN 閘道裝置建立外部 VPN 閘道資源

    • 對於這類對等點閘道,外部 VPN 閘道的每個介面都有一個外部 IP 位址,且每個位址都來自其中一個對等點 VPN 閘道裝置:

      gcloud compute external-vpn-gateways create PEER_GW_NAME \
         --interfaces 0=PEER_GW_IP_0,1=PEER_GW_IP_1
      

      更改下列內容:

      • PEER_GW_NAME:代表對等互連閘道的名稱
      • PEER_GW_IP_0:對等互連閘道的外部 IP 位址
      • PEER_GW_IP_1:另一個對等互連閘道的外部 IP 位址

      您建立的外部 VPN 閘道資源會類似下列範例,其中 PEER_GW_IP_0PEER_GW_IP_1 會顯示對等閘道介面的實際外部 IP 位址:

      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
      NAME      INTERFACE0    INTERFACE1
      peer-gw   PEER_GW_IP_0  PEER_GW_IP_1
      

    選項 2:為具有兩個獨立介面的單一對等互連 VPN 閘道建立外部 VPN 閘道資源

    • 對於這類對等互連閘道,請建立具有兩個介面的單一外部 VPN 閘道:

      gcloud compute external-vpn-gateways create PEER_GW_NAME \
         --interfaces 0=PEER_GW_IP_0,1=PEER_GW_IP_1
      

      更改下列內容:

      • PEER_GW_NAME:代表對等互連閘道的名稱
      • PEER_GW_IP_0:對等互連閘道中某個介面的外部 IP 位址
      • PEER_GW_IP_1:對等閘道中另一個介面的外部 IP 位址

      您建立的外部 VPN 閘道資源會類似下列範例,其中 PEER_GW_IP_0PEER_GW_IP_1 會顯示對等閘道介面的實際外部 IP 位址:

      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
      NAME     INTERFACE0    INTERFACE1
      peer-gw  PEER_GW_IP_0  PEER_GW_IP_1
      

    選項 3:為具有單一外部 IP 位址的單一對等互連 VPN 閘道建立外部 VPN 閘道資源

    • 如要使用這類對等互連閘道,請建立具有一個介面的外部 VPN 閘道:

      gcloud compute external-vpn-gateways create PEER_GW_NAME \
         --interfaces 0=PEER_GW_IP_0
      

      更改下列內容:

      • PEER_GW_NAME:代表對等互連閘道的名稱
      • PEER_GW_IP_0:對等互連閘道介面的外部 IP 位址

      您建立的外部 VPN 閘道資源會類似下列範例,其中 PEER_GW_IP_0 會顯示對等互連閘道介面的實際外部 IP 位址:

      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/peer-gw].
      NAME       INTERFACE0
      peer-gw    PEER_GW_IP_0
      

    API

    如要建立外部 VPN 閘道資源,請使用 externalVpnGateways.insert 方法發出 POST 要求。

    • 如果外部 (對等互連) VPN 閘道有一個介面,請使用下列範例,但只指定一個介面 ID 和一個 ipAddress,並以 redundancyType 做為 SINGLE_IP_INTERNALLY_REDUNDANT
    • 如果外部 VPN 閘道有兩個介面,或是有兩個外部 VPN 閘道 (各有一個介面),請使用 TWO_IPS_REDUNDANCY 範例。
    • 如果有一個或多個外部 VPN 閘道 (例如 Amazon Web Services (AWS)) 具有四個外部 VPN 介面,請使用下列範例,但要指定四個介面 ID 執行個體和 ipAddress,並使用 FOUR_IPS_REDUNDANCYredundancyType

       POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways
       {
         "name": "my-peer-gateway",
         "interfaces": [
           {
             "id": 0,
             "ipAddress": "192.0.2.1"
           },
           {
             "id": 1,
             "ipAddress": "192.0.2.2"
           }
         ],
         "redundancyType": "TWO_IPS_REDUNDANCY"
       }
      

    建立 Cloud Router

    主控台

    在「Cloud Router」下方,建立 Cloud Router 並指定下列選項 (如果尚未建立)。 只要 Cloud Router 未用於 Cloud NAT,您就可以使用現有的 Cloud Router。

    1. 如要建立新的 Cloud Router,請指定下列項目:

      • 名稱
      • 選填說明
      • 新路由器的 Google ASN

      您可以使用任何私人 ASN (645126553442000000004294967294),只要未在網路中的其他位置使用即可。Google ASN 會用於同一個 Cloud Router 的所有 BGP 工作階段,且設定後即無法再變更。

    2. 如要建立新路由器,請按一下「建立」

    gcloud

    只要 Cloud Router 未用於 Cloud NAT,您就可以使用現有的 Cloud Router。否則,請建立另一個 Cloud Router。

    如要建立 Cloud Router,請執行下列指令:

    gcloud compute routers create ROUTER_NAME \
        --region=REGION \
        --network=NETWORK \
        --asn=GOOGLE_ASN
    

    更改下列內容:

    • ROUTER_NAME:與 Cloud VPN 閘道位於相同區域的 Cloud Router 名稱
    • REGION:您建立閘道和通道的Google Cloud區域
    • NETWORK:虛擬私有雲網路的名稱
    • GOOGLE_ASN:任何私人 ASN (645126553442000000004294967294),但不得與對等互連網路中使用的 ASN 相同;Google ASN 會用於同一個 Cloud Router 的所有 BGP 工作階段,並且之後無法再進行變更

    您建立的路由器會類似下列範例輸出內容:

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
    NAME       REGION        NETWORK
    router-a   us-central1   network-a
    

    API

    只要現有 Cloud Router 未用於 Cloud NAT,即可使用。否則,請建立另一個 Cloud Router。

    如要建立 Cloud Router,請使用 routers.insert 方法發出 POST 要求:

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
     {
       "name": "router-a",
       "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a"
     }
    

    建立 VPN 通道

    主控台

    如果您設定的對等 VPN 閘道資源只有一個介面,請在「建立 VPN」頁面中,透過單一 VPN 通道對話方塊設定單一通道。如要達到 99.99% 的服務水準協議,您必須建立第二條通道。

    如果您設定的對等互連 VPN 閘道資源有兩個或四個介面,請設定 建立 VPN 頁面底部顯示的相關對話方塊。

    如要建立 VPN 通道,請按照下列步驟操作:

    1. 如適用,請在「相關聯的 Cloud VPN 閘道介面」下方,選取要與這個通道的對等互連 VPN 閘道介面建立關聯的高可用性 VPN 介面和 IP 位址組合。
    2. 在「相關聯的對等互連 VPN 閘道介面」下方,選取要與這個通道和高可用性 VPN 介面建立關聯的對等互連 VPN 閘道介面和 IP 位址組合。這個介面必須與實際對等路由器上的介面相符。
      1. 指定通道的「名稱」
      2. 指定選填的說明
      3. 指定 IKE 版本。如果對等路由器支援 IKE 第 2 版,建議使用這個預設設定。如要允許 IPv6 流量,請務必選取 IKEv2。
      4. 使用預先共用金鑰 (共用密鑰) 指定 IKE 預先共用金鑰,該金鑰必須與您在對等互連閘道上建立的合作夥伴通道預先共用金鑰相符。如果您尚未在對等互連 VPN 閘道上設定預先共用金鑰,且想要產生金鑰,請按一下「產生並複製」。請務必將預先共用金鑰記錄於安全的位置,因為建立 VPN 通道後就無法擷取此金鑰。
      5. 按一下 [完成]
      6. 在「建立 VPN」頁面,針對所有剩餘的通道對話方塊,重複執行通道建立步驟。
    3. 設定所有通道後,按一下「建立並繼續」

    gcloud

    請為高可用性 VPN 閘道的每個介面建立一個 VPN 通道,建立 VPN 通道時,請將 VPN 通道的對等端指定為先前建立的外部 VPN 閘道。請根據外部 VPN 閘道的備援類型,使用下列任一選項設定通道。

    選項 1:如果外部 VPN 閘道是兩個個別的對等互連 VPN 閘道裝置,或是具有兩個 IP 位址的單一裝置

    • 在本例中,一個 VPN 通道需要連線至外部 VPN 閘道的 interface 0,另一個 VPN 通道則需要連線至外部 VPN 閘道的 interface 1

       gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
           --peer-external-gateway=PEER_GW_NAME \
           --peer-external-gateway-interface=PEER_EXT_GW_IF0 \
           --region=REGION \
           --ike-version=IKE_VERS \
           --shared-secret=SHARED_SECRET \
           --router=ROUTER_NAME \
           --vpn-gateway=GW_NAME \
           [--vpn-gateway-region=VPN_GATEWAY_REGION] \
           --interface=INT_NUM_0
      
       gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
           --peer-external-gateway=PEER_GW_NAME \
           --peer-external-gateway-interface=PEER_EXT_GW_IF1 \
           --region=REGION \
           --ike-version=IKE_VERS \
           --shared-secret=SHARED_SECRET \
           --router=ROUTER_NAME \
           --vpn-gateway=GW_NAME \
           [--vpn-gateway-region=VPN_GATEWAY_REGION] \
           --interface=INT_NUM_1
      

      更改下列內容:

      • TUNNEL_NAME_IF0TUNNEL_NAME_IF1: 通道名稱;以閘道介面名稱為通道命名,有助於日後識別通道
      • PEER_GW_NAME:先前建立的外部對等互連閘道名稱
      • PEER_EXT_GW_IF0PEER_EXT_GW_IF1: 先前在外部對等互連閘道上設定的介面編號
      • IKE_VERS:IKEv1 為 1,IKEv2 為 2;如有可能,請使用 IKEv2 做為 IKE 版本。如果對等互連閘道需要 IKEv1,請將 --ike-version 2 替換成 --ike-version 1。如要允許 IPv6 流量,必須指定 IKEv2。
      • SHARED_SECRET:預先共用金鑰 (共用密鑰),必須與您在對等閘道上建立的合作夥伴通道預先共用金鑰相符;如需建議,請參閱「產生高強度的預先共用金鑰
      • GW_NAME:高可用性 VPN 閘道的名稱
      • INT_NUM_0:先前建立的高可用性 VPN 閘道上第一個介面的編號 0
      • INT_NUM_1:您先前建立的高可用性 VPN 閘道上第二個介面的編號 1
      • VPN_GATEWAY_REGION:要運作的高可用性 VPN 閘道所在區域。值應與 --region 相同。如未指定,系統會自動設定這個選項。這個選項會覆寫這個指令調用的預設區域屬性值。--vpn-gateway-region 旗標為選用項目。

      輸出結果會與下列內容相似:

      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0].
      NAME                       REGION        GATEWAY       VPN_INTERFACE   PEER_GATEWAY  PEER_INTERFACE
      tunnel-a-to-on-prem-if-0   us-central1   ha-vpn-gw-a   0               peer-gw       0
      
      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
      NAME                       REGION        GATEWAY       VPN_INTERFACE   PEER_GATEWAY  PEER_INTERFACE
      tunnel-a-to-on-prem-if-1   us-central1   ha-vpn-gw-a   1               peer-gw       1
      

    選項 2:如果外部 VPN 閘道是單一對等互連 VPN 閘道,且只有一個外部 IP 位址

    • 在本例中,兩個 VPN 通道都必須連線至外部 VPN 閘道的 interface 0

       gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
           --peer-external-gateway=PEER_GW_NAME \
           --peer-external-gateway-interface=PEER_EXT_GW_IF0 \
           --region=REGION \
           --ike-version=IKE_VERS \
           --shared-secret=SHARED_SECRET \
           --router=ROUTER_NAME \
           --vpn-gateway=GW_NAME \
           [--vpn-gateway-region=VPN_GATEWAY_REGION] \
           --interface=INT_NUM_0
      
       gcloud compute vpn-tunnels create TUNNEL_NAME_IF1 \
           --peer-external-gateway=PEER_GW_NAME \
           --peer-external-gateway-interface=PEER_EXT_GW_IF0 \
           --region=REGION \
           --ike-version=IKE_VERS \
           --shared-secret=SHARED_SECRET \
           --router=ROUTER_NAME \
           --vpn-gateway=GW_NAME \
           [--vpn-gateway-region=VPN_GATEWAY_REGION] \
           --interface=INT_NUM_1
      

      更改下列內容:

      • TUNNEL_NAME_IF0TUNNEL_NAME_IF1: 通道名稱;以閘道介面名稱為通道命名,有助於日後識別通道
      • PEER_GW_NAME:先前建立的外部對等互連閘道名稱
      • PEER_EXT_GW_IF0:先前在外部對等互連閘道上設定的介面編號
      • IKE_VERS:針對 IKEv1,將 1 替換為 2,針對 IKEv2 則替換為 2。如果可以,請使用 IKEv2 做為 IKE 版本。如果對等互連閘道需要 IKEv1,請將 --ike-version 2 替換成 --ike-version 1。如要允許 IPv6 流量,必須指定 IKEv2。
      • SHARED_SECRET:預先共用金鑰 (共用密鑰),必須與您在對等閘道上建立的合作夥伴通道預先共用金鑰相符;如需建議,請參閱「產生高強度的預先共用金鑰
      • INT_NUM_0:先前建立的高可用性 VPN 閘道上第一個介面的編號 0
      • INT_NUM_1:您先前建立的高可用性 VPN 閘道上第二個介面的編號 1
      • VPN_GATEWAY_REGION:要運作的高可用性 VPN 閘道所在區域。值應與 --region 相同。如未指定,系統會自動設定這個選項。這個選項會覆寫這個指令調用的預設區域屬性值。--vpn-gateway-region 旗標為選用項目。

      輸出結果會與下列內容相似:

      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0].
      NAME                       REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
      tunnel-a-to-on-prem-if-0   us-central1  ha-vpn-gw-a    0               peer-gw        0
      
      Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1].
      NAME                       REGION       GATEWAY        VPN_INTERFACE   PEER_GATEWAY   PEER_INTERFACE
      tunnel-a-to-on-prem-if-1   us-central1  ha-vpn-gw-a    1               peer-gw        0
      

    無論選擇上述哪種方式,您都可以在建立 Cloud VPN 通道時,設定密碼演算法 (預先發布)。舉例來說,如要為連線至外部 Cloud VPN 閘道的 Cloud VPN 通道設定密碼演算法,請執行下列指令:interface 0

     gcloud compute vpn-tunnels create TUNNEL_NAME_IF0 \
         --peer-external-gateway=PEER_GW_NAME \
         --peer-external-gateway-interface=PEER_EXT_GW_IF0 \
         --region=REGION \
         --ike-version=IKE_VERS \
         --shared-secret=SHARED_SECRET \
         --router=ROUTER_NAME \
         --vpn-gateway=GW_NAME \
         [--vpn-gateway-region=VPN_GATEWAY_REGION] \
         --interface=INT_NUM_0 \
         --phase1-encryption=PH1_ENCRYPT_ALGRTHS \
         --phase1-integrity=PH1_INTEGRITY_ALGRTHS \
         --phase1-prf=PH1_PRF_ALGRTHS \
         --phase1-dh=PH1_DH_GROUP \
         --phase2-encryption=PH2_ENCRYPT_ALGRTHS \
         --phase2-integrity= PH2_INTEGRITY_ALGRTHS \
         --phase2-pfs =PH2_PFS_ALGRTHS
    

    更改下列內容:

    • PH1_ENCRYPT_ALGRTHS:以半形逗號分隔的加密演算法清單,用於階段 1 IKE 安全性關聯 (SA) 協商。你可以依偏好順序列出演算法。
    • PH1_INTEGRITY_ALGRTHS:以半形逗號分隔的完整性演算法清單,用於第 1 階段 IKE SA 協商。你可以依偏好順序列出演算法。
    • PH1_PRF_ALGRTHS:以半形逗號分隔的虛擬隨機函式 (PRF) 演算法清單,可用於階段 1 IKE SA 協商。你可以依偏好順序列出演算法。
    • PH1_DH_GROUP:以半形逗號分隔的 Diffie-Hellman (DH) 演算法清單,這些演算法支援階段 1 IKE SA 協商。你可以依偏好順序列出演算法。
    • PH2_ENCRYPT_ALGRTHS:以半形逗號分隔的加密演算法清單,用於第 2 階段 IKE SA 協商。你可以依偏好順序列出演算法。
    • PH2_INTEGRITY_ALGRTHS:以逗號分隔的完整性演算法清單,用於第 2 階段 IKE SA 協商。你可以依偏好順序列出演算法。
    • PH2_PFS_ALGRTHS:以半形逗號分隔的 PFS 演算法清單,用於階段 2 IKE SA 協商。你可以依偏好順序列出演算法。 如要進一步瞭解 Cloud VPN 支援的加密演算法,請參閱「支援的 IKE 加密方式」。

    API

    如要為高可用性 VPN 閘道的每個介面建立一個 VPN 通道,請使用 POST 方法發出 vpnTunnels.insert 要求。如要享有 99.99% 的運作時間服務水準協議,您必須在高可用性 VPN 閘道的每個介面上建立通道。

    1. 如要建立第一個通道,請執行下列指令:

         POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels
         {
           "name": "ha-vpn-gw-a-tunnel-0",
           "ikeVersion": 2,
           "peerExternalGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/externalVpnGateways/my-peer-gateway",
           "peerExternalGatewayInterface": 0,
           "router": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/router-a",
           "sharedSecret": "SHARED_SECRET",
           "vpnGateway": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnGateways/ha-vpn-gw-a",
           "vpnGatewayInterface": 0
         }
      

      如果您打算在與這個通道相關聯的 BGP 工作階段中啟用 IPv6,請務必為 ikeVersion 指定 2

    2. 如要建立第二個通道,請重複執行這個指令,但變更下列參數:

      • name
      • peerExternalGatewayInterface
      • sharedSecretsharedSecretHash(如有需要)
      • vpnGatewayInterface:變更為另一個高可用性 VPN 閘道介面的值,在本例中,請將這個值變更為 1

    建立 BGP 工作階段

    您可以為每個高可用性 VPN 通道建立 IPv4 BGP 工作階段、IPv6 BGP 工作階段,或同時建立兩者。

    下表列出 HA VPN 堆疊和 VPC 網路流量的 BGP 工作階段類型。如要查看特定操作說明,請選取任一 BGP 工作階段類型。

    BGP 工作階段類型 高可用性 VPN 閘道 虛擬私有雲網路類型 是否允許使用多通訊協定 BGP (MP-BGP)?
    IPv4 BGP 工作階段 僅限 IPv4 或雙重堆疊 僅限 IPv4 或雙重堆疊
    IPv6 BGP 工作階段 雙堆疊 雙堆疊
    IPv4 和 IPv6 BGP 工作階段 雙堆疊 雙堆疊

    如要在同一個通道中設定 IPv4 和 IPv6 BGP 工作階段,或在高可用性 VPN 通道的 BGP 工作階段中啟用 MP-BGP,請使用雙重堆疊高可用性 VPN 閘道。不過,如果您在同一個高可用性 VPN 通道中設定 IPv4 BGP 工作階段和 IPv6 BGP 工作階段,就無法在任一工作階段中啟用 MP-BGP。

    IPv4 BGP 工作階段

    主控台

    如要建立 BGP 工作階段,請按照下列步驟操作:

    1. 按一下「設定 BGP 工作階段」
    2. 在「建立 BGP 工作階段」頁面中,完成下列步驟:
      1. 針對「BGP 工作階段類型」,選取「IPv4 BGP 工作階段」
      2. 在「Name」(名稱) 部分輸入 BGP 工作階段的名稱。
      3. 在「對等互連 ASN」欄位中,輸入為對等互連 VPN 閘道設定的對等互連 ASN。
      4. 選用:如要設定公告路徑優先順序 (MED),請輸入向這個 BGP 對等互連公告路徑的優先順序。
      5. 選用:如要啟用 IPv6 路徑交換,請按一下「啟用 IPv6 流量」切換鈕。
    3. 在「Allocate BGP IPv4 address」(分配 BGP IPv4 位址) 欄位中,選取「Automatically」(自動) 或「Manually」(手動)。如果選取「手動」,請按照下列步驟操作:

      1. 在「Cloud Router BGP IPv4 address」(Cloud Router BGP IPv4 位址) 中,輸入 Cloud Router BGP IPv4 位址。
      2. 在「BGP peer IPv4 address」(BGP 對等點 IPv4 位址) 欄位中,輸入 BGP 對等點的 IPv4 位址。IPv4 位址必須符合下列規定:

        • 每個 IPv4 位址都必須屬於同一個/30子網路,且該子網路必須位於169.254.0.0/16位址範圍內。
        • 每個 IPv4 位址都是 /30 子網路的第一個或第二個主機。子網路的第一個和最後一個 IP 位址會保留給網路和廣播位址。
        • BGP 工作階段的每個 IPv4 位址範圍,在虛擬私有雲網路所有區域的所有 Cloud Router 中,都必須是專屬的。

        如果選取「自動」, Google Cloud 會自動為 BGP 工作階段選取 IPv4 位址。

      3. 選用:如果您在上一個步驟中啟用 IPv6 路由交換,請選取「自動」或「手動」,為「分配 BGP IPv6 下一個躍點」設定。如果選取「手動」,請按照下列步驟操作:

        1. 在「Cloud Router BGP IPv6 下一個躍點」中,輸入地址範圍內的 IPv6 位址。2600:2d00:0:2::/63這個 IP 位址是 Cloud Router 通告的 IPv6 路徑下一個躍點位址。
        2. 在「對等 BGP IPv6 下一個躍點」中,輸入 2600:2d00:0:2::/63 位址範圍內的 IPv6 位址。這個 IP 位址是 Cloud Router 從 BGP 對等互連裝置取得的 IPv6 路徑下一個躍點位址。
        3. 選用:展開「進階選項」部分。
        4. 如要啟用 BGP 對等互連,請選取「已啟用」。如果啟用,就能使用轉送資訊建立對等點連線。詳情請參閱「建立 BGP 工作階段」。
        5. 如要啟用 MD5 驗證,請選取「已啟用」。啟用後,系統會使用 MD5 驗證來驗證 BGP 工作階段。詳情請參閱「使用 MD5 驗證」。您也可以選擇稍後再啟用 MD5 驗證。
        6. 如要將傳出路徑新增至 BGP 工作階段,請在「所有自訂已知路徑的優先順序」中輸入已知路徑優先順序。詳情請參閱「已學會的路線」。
    4. 按一下 [儲存並繼續]

    5. 針對閘道上設定的其餘通道,重複執行上述步驟。每個通道都使用不同的 Cloud Router BGP IP 位址和 BGP 對等互連 IP 位址。

    6. 按一下「儲存 BGP 設定」

    gcloud

    如要建立 BGP 工作階段,請按照下列步驟操作:

    在指令中,請按照以下方式替換:

    • ROUTER_INTERFACE_NAME_0ROUTER_INTERFACE_NAME_1:Cloud Router 介面的名稱;使用與先前設定的通道名稱相關的名稱,可能會有幫助
    • TUNNEL_NAME_0TUNNEL_NAME_1:與您設定的高可用性 VPN 閘道介面相關聯的通道
    • IP_VERSION:指定 IPV4 或留空。如未指定,則預設值為 IPV4
    • IP_PREFIXESCUSTOM_ROUTE_PRIORITY:這些值可讓您手動指定 BGP 工作階段的已知路徑。如要進一步瞭解這項功能,請參閱「已知路徑」。
    • AUTHENTICATION_KEY:用於 MD5 驗證的密鑰。如要進一步瞭解這項選用功能,請參閱「使用 MD5 驗證」。

    為 BGP 工作階段指派 IPv4 位址

    選擇自動或手動設定 BGP 位址。這些指令不會為 BGP 啟用 IPv6。

    如要啟用 IPv6,請執行「指派 IPv6 後續躍點位址」一節列出的指令。

    自動

    如要 Google Cloud 自動選擇連結本機 BGP IPv4 位址,請完成下列步驟。

    第一個 VPN 通道

    1. 將介面新增至 Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
         --interface-name=ROUTER_INTERFACE_NAME_0 \
         --vpn-tunnel=TUNNEL_NAME_0 \
         --region=REGION
      

      如未指定 IP 版本,指令會預設為介面指派 IPv4 位址。

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 將 BGP 對等點設定新增至第一個通道的介面;將 PEER_NAME_0 替換為對等點 VPN 介面的名稱,並將 PEER_ASN 替換為 BGP 對等點的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION
      

      如要為對等互連指定所學路徑,請加入 --set-custom-learned-route-ranges 標記。您也可以選擇使用 --custom-learned-route-priority 旗標,為路徑設定介於 065535 (含) 之間的優先順序值。每個 BGP 工作階段可以有一個優先順序值,適用於您為該工作階段設定的所有已學習路徑。如要進一步瞭解這項功能,請參閱「已學習路徑」。

      舉例來說,如要新增所學路徑並設定路徑的優先順序,請執行下列指令:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION \
         --set-custom-learned-route-ranges=IP_PREFIXES \
         --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
      

      如要使用 MD5 驗證,請新增 --md5-authentication-key 標記。使用這個欄位提供密鑰:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION \
         --md5-authentication-key=AUTHENTICATION_KEY
      

      指令輸出內容如下列範例所示:

      Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
      

    第二個 VPN 通道

    1. 將介面新增至 Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --region=REGION
      
    2. 第二個通道的介面新增 BGP 對等點設定;將 PEER_NAME_1 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION
      

      如果您在第一個通道上設定了已知路徑,可能也想在第二個通道上設定相同路徑。舉例來說,您可以將第二個通道設為路徑的備用通道;在這種情況下,請為路徑設定較低的優先順序 (較大的數字)。如要將兩個通道一起做為等價多路徑路由 (ECMP) 的一部分,請為路徑指定與第一個通道相同的優先順序。無論是哪種情況,請使用類似下列的指令:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_1 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_1 \
         --region=REGION \
         --set-custom-learned-route-ranges=IP_PREFIXES \
         --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
      

      如要使用 MD5 驗證,請使用 --md5-authentication-key 標記提供密鑰:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION \
       --md5-authentication-key=AUTHENTICATION_KEY
      

    手動

    如要手動分配與 Cloud Router 介面和 BGP 對等互連相關聯的 IPv4 BGP 位址,請完成下列步驟。

    為每個 VPN 通道決定一對連結本機 IPv4 位址,這些位址位於 /30 區塊中,且來自 169.254.0.0/16 位址範圍 (總共四個 /30 子網路,每個高可用性 VPN 閘道各有一個)。您指定的 IPv4 子網路在 VPC 網路的所有地區中,必須是所有 Cloud Router 的專屬子網路。

    為每個通道將其中一個 BGP IPv4 位址指派給 Cloud Router,另一個 BGP IPv4 位址則指派給對等 VPN 閘道。將對等互連 VPN 裝置設定為使用對等互連 BGP IPv4 位址。

    在下列指令中,請替換以下內容:

    • GOOGLE_BGP_IP_0:Cloud VPN 閘道 interface 0 上通道的 Cloud Router 介面 BGP IPv4 位址;PEER_BGP_IP_0 代表對等互連的 BGP IPv4 位址
    • GOOGLE_BGP_IP_1:Cloud VPN 閘道 interface 1 上通道的 Cloud Router 介面 BGP IPv4 位址;PEER_BGP_IP_1 代表對等互連的 BGP IPv4 位址
    • MASK_LENGTH30;Cloud Router 必須使用 169.254.0.0/16 IPv4 位址範圍中的專屬 /30 子網路

    第一個 VPN 通道

    1. 將介面新增至 Cloud Router;將 ROUTER_INTERFACE_NAME_0 替換為介面的名稱:

      gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=ROUTER_INTERFACE_NAME_0 \
        --vpn-tunnel=TUNNEL_NAME_0 \
        --ip-address=GOOGLE_BGP_IP_0 \
        --mask-length 30 \
        --region=REGION
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 將 BGP 對等點設定新增至介面;將 PEER_NAME_0 替換為對等點的名稱,並將 PEER_ASN 替換為針對對等點 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --peer-ip-address=PEER_BGP_IP_0 \
       --region=REGION
      

      如要為對等互連指定所學路徑,請加入 --set-custom-learned-route-ranges 標記。您也可以選擇使用 --custom-learned-route-priority 旗標,為路徑設定介於 065535 (含) 之間的優先順序值。每個 BGP 工作階段可以有一個優先順序值,適用於您為該工作階段設定的所有已學習路徑。如要進一步瞭解這項功能,請參閱「已學習路徑」。

      舉例來說,如要新增所學路徑並設定路徑的優先順序,請執行下列指令:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION \
         --set-custom-learned-route-ranges=IP_PREFIXES \
         --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
      

      如要使用 MD5 驗證,請使用 --md5-authentication-key 標記提供密鑰:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME_0 \
        --peer-asn=PEER_ASN \
        --interface=ROUTER_INTERFACE_NAME_0 \
        --peer-ip-address=PEER_BGP_IP_0 \
        --region=REGION \
        --md5-authentication-key=AUTHENTICATION_KEY
      

      指令輸出內容如下列範例所示:

      Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
      

    第二個 VPN 通道

    1. 將介面新增至 Cloud Router;將 ROUTER_INTERFACE_NAME_1 替換為介面的名稱:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --ip-address=GOOGLE_BGP_IP_1 \
       --mask-length 30 \
       --region=REGION
      
    2. 將 BGP 對等點設定新增至介面;將 PEER_NAME_1 替換為對等點的名稱,並將 PEER_ASN 替換為針對對等點 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --peer-ip-address=PEER_BGP_IP_1 \
       --region=REGION
      

      如果您在第一個通道上設定了已知路徑,可能也想在第二個通道上指定相同路徑。舉例來說,您可以將第二個通道設為路徑的備用通道;在這種情況下,請為路徑設定較低的優先順序 (較大的數字)。如要將兩個通道一起做為等價多路徑路由 (ECMP) 的一部分,請為路徑指定與第一個通道相同的優先順序。無論是哪種情況,請使用類似下列的指令:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_1 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_1 \
         --region=REGION \
         --set-custom-learned-route-ranges=IP_PREFIXES \
         --custom-learned-route-priority=PRIORITY
      

      選用:如要啟用 MD5 驗證,請使用 --md5-authentication-key 旗標提供密鑰:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME_1 \
        --peer-asn=PEER_ASN \
        --interface=ROUTER_INTERFACE_NAME_0 \
        --peer-ip-address=PEER_BGP_IP_0 \
        --region=REGION \
        --md5-authentication-key=AUTHENTICATION_KEY
      

    指派 IPv6 下一躍點位址

    只有在希望 VPN 通道使用 MP-BGP,並交換 IPv4 和 IPv6 流量時,才使用本節中的指令。如果您不想透過這個通道傳送 IPv6 流量,或是打算稍後在這個通道中新增單一 IPv6 BGP 工作階段,則可以使用「指派 IPv4 BGP 位址」一節列出的指令。

    自動

    如果您建立使用 MP-BGP 的 IPv4 BGP 工作階段,系統會自動為您指派 IPv6 下一個躍點位址。系統會從 IPv6 位址範圍指派未使用的位址。Google Cloud Google Cloud 2600:2d00:0:2::/63

    無論您為 Cloud Router 和 BGP 對等互連 IPv4 位址選擇自動或手動設定,這項設定都與您無關。下列指令會使用自動設定。不過,您也可以使用--ip-address--peer-ip-address標記指派 BGP IPv4 和 BGP 對等互連 IPv4 位址,詳情請參閱「指派 IPv4 BGP 位址」。

    第一個 VPN 通道

    1. 將介面新增至 Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
         --interface-name=ROUTER_INTERFACE_NAME_0 \
         --vpn-tunnel=TUNNEL_NAME_0 \
         --region=REGION
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 將 BGP 對等點設定新增至第一個通道的介面;將 PEER_NAME_0 替換為對等點 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等點 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION \
         --enable-ipv6
      

      指定 --enable-ipv6 標記,即可在這個 IPv4 BGP 工作階段中啟用 IPv6 路由交換,這是指派 IPv6 下一個躍點位址的必要條件。您稍後可以停用 IPv6 路由交換。詳情請參閱「為 IPv4 或 IPv6 工作階段設定多通訊協定 BGP」。

      指令輸出內容如下列範例所示:

      Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
      

    第二個 VPN 通道

    1. 在 Cloud Router 中新增第二個介面:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --region=REGION
      
    2. 第二個通道的介面新增 BGP 對等點設定;將 PEER_NAME_1 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION \
       --enable-ipv6
      

    手動

    建立使用 MP-BGP 的 IPv4 BGP 工作階段時,您可以手動為 Cloud Router 和 BGP 對等互連點設定 IPv6 下一躍點位址。

    無論您選擇自動或手動設定 Cloud Router 和 BGP 對等互連 IPv4 位址,這項設定都不會受到影響。如需手動設定這些位址的範例,請參閱「指派 IPv4 BGP 位址」。

    為每個 VPN 通道決定一對 IPv6 下一個躍點位址。 您指定的 IPv6 下一個躍點位址,在虛擬私有雲網路所有區域的所有 Cloud Router 中都必須是唯一的,且必須從 Google 預先分配的內部 IPv6 位址範圍中選取:2600:2d00:0:2::/63

    如要手動分配 BGP IPv6 下一躍點位址,請完成下列步驟。

    第一個 VPN 通道

    1. 將介面新增至 Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
         --interface-name=ROUTER_INTERFACE_NAME_0 \
         --vpn-tunnel=TUNNEL_NAME_0 \
         --region=REGION
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 第一個通道的介面新增 BGP 對等互連設定。

      gcloud compute routers add-bgp-peerROUTER_NAME \
        --peer-name=PEER_NAME_0 \
        --peer-asn=PEER_ASN \
        --interface=ROUTER_INTERFACE_NAME_0 \
        --region=REGION \
        --enable-ipv6 \
        --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
        --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
      

      在指令中,請按照以下方式替換:

      • PEER_NAME_0,並為對等互連 VPN 介面命名
      • PEER_ASN,這是為對等互連 VPN 閘道設定的 ASN
      • IPV6_NEXTHOP_ADDRESS:Cloud Router 發布的 IPv6 路由下一個躍點位址;位址必須位於 2600:2d00:0:2::/63 IPv6 位址範圍內
      • PEER_IPV6_NEXTHOP_ADDRESS:Cloud Router 從 BGP 對等互連學習到的 IPv6 路由下一個躍點位址;該位址必須位於 2600:2d00:0:2::/63 IPv6 位址範圍內

      指令輸出內容如下列範例所示:

      Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
      

      第二個 VPN 通道

    3. 在 Cloud Router 中新增第二個介面。

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --region=REGION
      
    4. 第二個通道的第二個介面新增 BGP 對等互連設定。

      gcloud compute routers add-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME_1 \
        --peer-asn=PEER_ASN \
        --interface=ROUTER_INTERFACE_NAME_1 \
        --region=REGION \
        --enable-ipv6 \
        --ipv6-nexthop-address=IPV6_NEXTHOP_ADDRESS \
        --peer-ipv6-nexthop-address=PEER_IPV6_NEXTHOP_ADDRESS
      

      在指令中,請按照以下方式替換:

      • PEER_NAME_1,並為對等互連 VPN 介面命名
      • PEER_ASN,這是為對等互連 VPN 閘道設定的 ASN
      • IPV6_NEXTHOP_ADDRESS:Cloud Router 播送的 IPv6 路由下一個躍點位址
      • PEER_IPV6_NEXTHOP_ADDRESS:Cloud Router 從 BGP 對等互連點取得的 IPv6 路由下一個躍點位址

    API

    如要建立 BGP 工作階段,請按照下列步驟操作:

    1. 如要建立 Cloud Router 介面,請發出下列其中一個要求:

      PATCH 要求只會更新您加入的參數,而 UPDATE 要求則會更新 Cloud Router 的所有參數。

      每個 IPv4 BGP 工作階段的 BGP 位址範圍,在虛擬私有雲網路的所有區域中,都必須是所有 Cloud Router 專屬的位址範圍。

      針對第二個高可用性 VPN 閘道上的每個 VPN 通道,重複執行這個步驟和指令。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "interfaces": [
          {
            "name": "if-tunnel-a-to-on-prem-if-0",
            "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
            "ipRange": "169.254.0.1/30"
            }
          ]
      }
      
    2. 如要將 BGP 對等互連設定新增至介面,請發出下列其中一項要求:

      針對其他 VPN 通道重複執行這個指令,並變更 namepeerAsn 以外的所有選項。

      例如:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0",
          "ipAddress": "169.254.0.1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
          "peerAsn": 65002,
          "peerIpAddress": "169.254.0.2",
          "advertiseMode": "DEFAULT"
          }
        ]
      }
      

      以下範例包含新增 BGP 對等互連的指令,其中已啟用 IPv6 路由交換,並手動設定 IPv6 後續躍點位址。如果省略 ipv6NexthopAddresspeerIpv6NexthopAddress,系統會自動指派 IPv6 下一個躍點位址。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0",
          "ipAddress": "169.254.0.1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
          "peerAsn": 65002,
          "peerIpAddress": "169.254.0.2",
          "advertiseMode": "DEFAULT",
          "enableIpv6": true,
          "ipv6NexthopAddress: "2600:2d00:0:2::1"
          "peerIpv6NexthopAddress: "2600:2d00:0:2::2"
          }
        ]
      }
      

      如要為對等互連指定已知路徑,請定義路徑的 IP 前置字串。您也可以選擇為路徑設定介於 065535 之間的優先順序值 (含首尾)。每個 BGP 工作階段可以有一個優先順序值,適用於您為該工作階段設定的所有自訂學習路徑。如要進一步瞭解這項功能,請參閱「已學習的路徑」。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0",
          "ipAddress": "169.254.0.1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
          "peerAsn": 65002,
          "peerIpAddress": "169.254.0.2",
          "advertiseMode": "DEFAULT",
          "enableIpv6": true,
          "ipv6NexthopAddress": "2600:2d00:0:2::1",
          "peerIpv6NexthopAddress": "2600:2d00:0:2::2",
          "customLearnedRoutePriority": 200,
          "customLearnedIpRanges": [
              {
                "range": "1.2.3.4"
              },
              {
                "range": "6.7.0.0/16"
              },
              {
                "range": "2001:db8:abcd:12::/64"
              }
            ]
            }
          ]
        }
      

      如要設定 MD5 驗證的工作階段,請在要求中加入驗證金鑰,方法是同時新增金鑰和金鑰名稱。然後在建立 BGP 對等互連工作階段時,依名稱參照這個金鑰。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "md5AuthenticationKeys": [
          {
          "name": "bgppeer-1-key",
          "key": "secret_key_value"
          }
          ],
      }
      {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0",
          "ipAddress": "169.254.0.1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
          "peerAsn": 65002,
          "peerIpAddress": "169.254.0.2",
          "advertiseMode": "DEFAULT",
          "md5AuthenticationKeyName": "bgppeer-1-key"
          }
        ]
      }
      

    IPv6 BGP 工作階段

    主控台

    如要建立 BGP 工作階段,請按照下列步驟操作:

    1. 按一下「設定 BGP 工作階段」
    2. 在「建立 BGP 工作階段」頁面中,完成下列步驟:

      1. 針對「BGP 工作階段類型」,選取「IPv6 BGP 工作階段」
      2. 在「Name」(名稱) 部分輸入 BGP 工作階段的名稱。
      3. 在「對等互連 ASN」欄位中,輸入為對等互連 VPN 閘道設定的對等互連 ASN。
      4. 選用:如要設定公告路徑優先順序 (MED),請輸入向這個 BGP 對等互連公告路徑的優先順序。
      5. 選用:如要啟用 IPv4 路徑交換,請按一下「啟用 IPv4 流量」切換按鈕。
      6. 在「Allocate BGP IPv6 address」(分配 BGP IPv6 位址) 部分,選取「Automatically」(自動) 或「Manually」(手動)。如果選取「手動」,請按照下列步驟操作:

        1. 在「Cloud Router BGP IPv6 位址」欄位中,輸入 Cloud Router BGP IPv6 位址。
        2. 在「BGP peer IPv6 address」中,輸入 BGP 對等互連的 IPv6 位址。IPv6 位址必須符合下列規定:
          • 每個地址都必須是 fdff:1::/64 地址範圍中,遮罩長度為 /64 的不重複本機地址 (ULA)。例如:fdff:1::1
          • 在虛擬私有雲網路的所有區域中,每個位址都不得與任何 Cloud Router 的位址重複。

        如果選取「自動」, Google Cloud 會自動為 BGP 工作階段選取 IPv6 位址。

      7. 選用:如果您在上一個步驟中啟用 IPv4 路由交換,請為「分配 BGP IPv4 下一個躍點」選取「自動」或「手動」。如果選取「手動」,請按照下列步驟操作:

        1. 在「Cloud Router BGP IPv4 next hop」(Cloud Router BGP IPv4 下一個躍點) 欄位中,輸入 169.254.0.0/16 位址範圍內的 IPv4 位址。這個 IP 位址是 Cloud Router 發布的 IPv4 路徑下一個躍點位址。
        2. 在「對等 BGP IPv4 下一個躍點」欄位中,輸入 169.254.0.0/16 位址範圍內的 IP 位址。這個 IP 位址是 Cloud Router 從 BGP 對等互連學習到的 IPv4 路由下一個躍點位址。
        3. 選用:展開「進階選項」部分。
        4. 如要啟用 BGP 對等互連,請選取「已啟用」。如果啟用,就能使用轉送資訊建立對等點連線。詳情請參閱「建立 BGP 工作階段」。
        5. 如要新增 MD5 驗證,請選取「已啟用」。啟用後,您就能使用 MD5 驗證,驗證 Cloud Router 及其對等點之間的 BGP 工作階段。詳情請參閱「使用 MD5 驗證」。您也可以選擇稍後再啟用 MD5 驗證。
        6. 如要將傳出路徑新增至 BGP 工作階段,請在「所有自訂已知路徑的優先順序」中輸入已知路徑優先順序。詳情請參閱「已學會的路線」。
    3. 按一下 [儲存並繼續]

    4. 針對閘道上設定的其餘通道,重複執行上述步驟。每個通道都使用不同的 Cloud Router BGP IP 位址和 BGP 對等互連 IP 位址。

    5. 按一下「儲存 BGP 設定」

    gcloud

    如要建立 BGP 工作階段,請按照下列步驟操作:

    在指令中,請按照以下方式替換:

    • ROUTER_INTERFACE_NAME_0ROUTER_INTERFACE_NAME_1:Cloud Router 介面的名稱;使用與先前設定的通道名稱相關的名稱,可能會有幫助
    • TUNNEL_NAME_0TUNNEL_NAME_1:與您設定的高可用性 VPN 閘道介面相關聯的通道
    • IP_VERSIONIPV6。只有在想為這個介面自動指派 IPv6 位址時,才需要這個參數。 Google Cloud 如果您要手動將 IPv6 位址指派給這個介面,可以省略這個標記。

    • IP_PREFIXESCUSTOM_ROUTE_PRIORITY:這些值可讓您手動指定 BGP 工作階段的已知路徑。如要進一步瞭解這項功能,請參閱「已知路徑」。

    • AUTHENTICATION_KEY:用於 MD5 驗證的密鑰。如要進一步瞭解這項選用功能,請參閱「使用 MD5 驗證」。

    選用:指派 BGP ID 範圍

    將第一個介面新增至 Cloud Router 時,系統會自動將 BGP ID 範圍指派給 Cloud Router。如要為 Cloud Router 定義自己的 BGP ID 範圍,可以自行建立範圍。您也可以稍後再修改這個範圍。 詳情請參閱設定 Cloud Router 的 BGP ID 範圍

    指派 IPv6 BGP 位址

    下列程序會建立 IPv6 BGP 工作階段,並自動或手動設定 BGP IPv6 和 BGP 對等互連 IPv6 位址。

    如要搭配 MP-BGP 使用 IPv6 BGP,請執行「指派 IPv4 下一躍點位址」一節列出的指令。

    自動

    如要讓 Google Cloud 自動選擇 BGP 工作階段的 IPv6 位址,請完成下列步驟。

    第一個 VPN 通道

    1. 將介面新增至 Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
         --interface-name=ROUTER_INTERFACE_NAME_0 \
         --vpn-tunnel=TUNNEL_NAME_0 \
         --region=REGION \
         --ip-version=IPV6
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 將 BGP 對等點設定新增至第一個通道的介面;將 PEER_NAME_0 替換為對等點 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等點 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION
      

      如要為對等互連指定所學路徑,請加入 --set-custom-learned-route-ranges 標記。您也可以選擇使用 --custom-learned-route-priority 旗標,為路徑設定介於 065535 (含) 之間的優先順序值。每個 BGP 工作階段可以有一個優先順序值,適用於您為該工作階段設定的所有已學習路徑。如要進一步瞭解這項功能,請參閱「學習路徑」。

      舉例來說,如要新增所學路徑並設定路徑的優先順序,請執行下列指令:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION \
         --set-custom-learned-route-ranges=IP_PREFIXES \
         --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
      

      選用:如要啟用 MD5 驗證,請使用 --md5-authentication-key 旗標提供密鑰:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION \
         --md5-authentication-key=AUTHENTICATION_KEY
      

      指令輸出內容如下列範例所示:

      Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
      

    第二個 VPN 通道

    1. 在 Cloud Router 中新增第二個介面:

      gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=ROUTER_INTERFACE_NAME_1 \
        --vpn-tunnel=TUNNEL_NAME_1 \
        --region=REGION \
        --ip-version=IPV6
      
    2. 第二個通道的介面新增 BGP 對等點設定;將 PEER_NAME_1 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION
      

      如果您在第一個通道上設定了已知路徑,可能也想在第二個通道上設定相同路徑。舉例來說,您可以將第二個通道設為路徑的備用通道;在這種情況下,請為路徑設定較低的優先順序 (較大的數字)。如要將兩個通道一起做為等價多路徑路由 (ECMP) 的一部分,請為路徑指定與第一個通道相同的優先順序。無論是哪種情況,請使用類似下列的指令:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION \
       --set-custom-learned-route-ranges=IP_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
      

      選用:如要啟用 MD5 驗證,請使用 --md5-authentication-key 旗標提供密鑰:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION \
       --md5-authentication-key=AUTHENTICATION_KEY
      

    手動

    如要手動將 IPv6 位址分配給與 Cloud Router 介面和 BGP 對等互連相關聯的 BGP 工作階段,請完成下列步驟。

    針對每個 VPN 通道,根據您設定的 BGP 工作階段類型,決定 BGP 工作階段的適當 IPv6 位址配對。

    每個 IPv6 位址都必須是 fdff:1::/64 IPv6 位址範圍中的專屬本機位址 (ULA),且遮罩長度為 /126 或更短。例如:fdff:1::1

    在虛擬私有雲網路的所有區域中,每個 IPv6 位址都必須是所有 Cloud Router 的專屬位址。

    為每個通道指派其中一個 IPv6 位址給 Cloud Router,並將另一個 IPv6 位址指派給對等互連 VPN 閘道。將對等互連 VPN 裝置設定為使用 BGP 工作階段的對等互連 IPv6 位址。

    在下列指令中,請替換以下內容:

    • GOOGLE_BGP_IPV6_0:Cloud VPN 閘道 interface 0 上通道的 Cloud Router 介面 IPv6 位址;PEER_BGP_IPV6_0 代表 BGP 對等互連的 IPv6 位址,且必須與 GOOGLE_BGP_IPV6_0 的 IP 版本相符
    • GOOGLE_BGP_IPV6_1:Cloud VPN 閘道 interface 1 上通道的 Cloud Router 介面 IPv6 位址;PEER_BGP_IPV6_1 代表 BGP 對等互連的 IPv6 位址,且必須與 GOOGLE_BGP_IPV6_1 的 IP 版本相符

    第一個 VPN 通道

    1. 將介面新增至 Cloud Router;將 ROUTER_INTERFACE_NAME_0 替換為介面的名稱:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_0 \
       --vpn-tunnel=TUNNEL_NAME_0 \
       --ip-address=GOOGLE_BGP_IPV6_0 \
       --mask-length=MASK_LENGTH  \
       --region=REGION \
      

      MASK_LENGTH 替換為 126 或更低的值。

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 在介面中新增 BGP 對等互連設定;將 PEER_NAME_0with a name for the peer, and replacePEER_ASN` 替換為針對對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --peer-ip-address=PEER_BGP_IPV6_0 \
       --region=REGION
      

      如要為對等互連指定所學路徑,請加入 --set-custom-learned-route-ranges 標記。您也可以選擇使用 --custom-learned-route-priority 旗標,為路徑設定介於 065535 (含) 之間的優先順序值。每個 BGP 工作階段可有一個優先順序值,適用於您為該工作階段設定的所有已學習路徑。如要進一步瞭解這項功能,請參閱「學習路徑」。

      舉例來說,如要新增所學路徑並設定路徑的優先順序,請執行下列指令:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --region=REGION \
       --set-custom-learned-route-ranges=IPV6_PREFIXES \
       --custom-learned-route-priority=CUSTOM_ROUTE_PRIORITY
      

      選用:如要啟用 MD5 驗證,請使用 --md5-authentication-key 旗標提供密鑰:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0 \
       --peer-ip-address=PEER_BGP_IPV6_0 \
       --region=REGION \
       --md5-authentication-key=AUTHENTICATION_KEY
      

      指令輸出內容如下列範例所示:

      Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
      

    第二個 VPN 通道

    1. 在 Cloud Router 中新增第二個介面;將 ROUTER_INTERFACE_NAME_1 替換為介面名稱:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --ip-address=GOOGLE_BGP_IPV6_1 \
       --mask-length=MASK_LENGTH \
       --region=REGION \
      

      MASK_LENGTH 替換為 64 或更低的值。

    2. 將 BGP 對等點設定新增至介面;將 PEER_NAME_1 替換為對等點的名稱,並將 PEER_ASN 替換為針對對等點 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --peer-ip-address=PEER_BGP_IPV6_1 \
       --region=REGION
      

      如果您在第一個通道上設定了已知路徑,可能也想在第二個通道上指定相同路徑。舉例來說,您可以將第二個通道設為路徑的備用通道;在這種情況下,請為路徑設定較低的優先順序 (較大的數字)。如要將兩個通道一起做為等價多路徑路由 (ECMP) 的一部分,請為路徑指定與第一個通道相同的優先順序。無論是哪種情況,請使用類似下列的指令:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --region=REGION \
       --set-custom-learned-route-ranges=IPV6_PREFIXES \
       --custom-learned-route-priority=PRIORITY
      

      選用:如要啟用 MD5 驗證,請使用 --md5-authentication-key 旗標提供密鑰:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1 \
       --peer-ip-address=PEER_BGP_IPV6_1 \
       --region=REGION \
       --md5-authentication-key=AUTHENTICATION_KEY
      

    指派 IPv4 下一個躍點位址

    如要使用 MP-BGP 的 VPN 通道,請使用本節中的指令。透過 MP-BGP,您可以在 IPv6 BGP 工作階段中交換 IPv4 路徑。

    如果您不打算在通道的 BGP 工作階段中使用 MP-BGP,請使用「指派 IPv6 BGP 位址」一節列出的指令。

    您可以選擇自動或手動設定 BGP 對等互連的下一個中繼站 IPv4 或 IPv6 位址。

    自動

    如果您建立使用 MP-BGP 的 IPv6 BGP 工作階段,Google Cloud 可以自動為您指派 IPv4 下一個躍點位址。Google Cloud 會從 169.254.0.0/16 位址範圍指派未使用的位址。

    無論您為 Cloud Router 和 BGP 對等互連 IPv6 位址選擇自動或手動設定,這項設定都與其無關。下列指令會使用自動設定。不過,您也可以使用「指派 IPv6 BGP IP 位址」一文所述的 --ip-address--peer-ip-address 旗標,將 IPv6 位址指派給 Cloud Router 介面和 BGP 對等互連。

    第一個 VPN 通道

    1. 將介面新增至 Cloud Router:

      gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=ROUTER_INTERFACE_NAME_0 \
        --vpn-tunnel=TUNNEL_NAME_0 \
        --region=REGION \
        --ip-version=IPV6
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 將 BGP 對等點設定新增至第一個通道的介面;將 PEER_NAME_0 替換為對等點 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等點 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0 \
         --region=REGION \
         --enable-ipv4
      

      指令輸出內容如下列範例所示:

      Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
      

    第二個 VPN 通道

    1. 在 Cloud Router 中新增第二個介面:

      gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=ROUTER_INTERFACE_NAME_1 \
        --vpn-tunnel=TUNNEL_NAME_1 \
        --region=REGION \
        --ip-version=IPV6
      
    2. 第二個通道的第二個介面新增 BGP 對等互連設定;將 PEER_NAME_1 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_1 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_1 \
         --region=REGION \
         --enable-ipv4
      

    手動

    建立使用 MP-BGP 的 IPv6 BGP 工作階段時,您可以手動為 Cloud Router 和 BGP 對等互連設定 IPv4 下一躍點位址。

    無論您選擇自動或手動設定 Cloud Router 和 BGP 工作階段的 IPv6 位址,這項設定都不會受到影響。如需手動設定這些位址的範例,請參閱「指派 IPv6 BGP 位址」。

    針對每個 VPN 通道,從連結本機 IPv4 位址範圍 169.254.0.0/16 中選取一對 IPv4 下一個躍點位址。這些 IPv4 位址在虛擬私有雲網路的所有 Cloud Router 中不得重複。

    如要手動分配 BGP IPv4 下一個躍點位址,請完成下列步驟。

    第一個 VPN 通道

    1. 將介面新增至 Cloud Router。

      gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=ROUTER_INTERFACE_NAME_0 \
        --vpn-tunnel=TUNNEL_NAME_0 \
        --region=REGION \
        --ip-version=IPV6
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 第一個通道的介面新增 BGP 對等互連設定。

      gcloud compute routers add-bgp-peerROUTER_NAME \
        --peer-name=PEER_NAME_0 \
        --peer-asn=PEER_ASN \
        --interface=ROUTER_INTERFACE_NAME_0 \
        --region=REGION \
        --enable-ipv4 \
        --ipv4-nexthop-address=IPV4_NEXTHOP_ADDRESS \
        --peer-ipv4-nexthop-address=PEER_IPV4_NEXTHOP_ADDRESS
      

      在指令中,請按照以下方式替換:

      • PEER_NAME_0,並為對等互連 VPN 介面命名
      • PEER_ASN,這是為對等互連 VPN 閘道設定的 ASN
      • IPV4_NEXTHOP_ADDRESS:Cloud Router 通告的 IPv4 路由下一個躍點位址;位址必須位於 169.254.0.0/16 IPv4 位址範圍內
      • PEER_IPV4_NEXTHOP_ADDRESS:Cloud Router 從 BGP 對等互連學習到的 IPv4 路由下一個躍點位址;該位址必須位於 169.254.0.0/16 IPv4 位址範圍內

      指令輸出內容如下列範例所示:

      Creating peer [bgp-peer-tunnel-a-to-on-prem-if-0] in router [router-a]...done.
      

      第二個 VPN 通道

    3. 在 Cloud Router 中新增第二個介面。

      gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=ROUTER_INTERFACE_NAME_1 \
        --vpn-tunnel=TUNNEL_NAME_1 \
        --region=REGION \
        --ip-version=IPV6
      
    4. 第二條通道的介面新增 BGP 對等點設定。

      gcloud compute routers add-bgp-peerROUTER_NAME \
        --peer-name=PEER_NAME_1 \
        --peer-asn=PEER_ASN \
        --interface=ROUTER_INTERFACE_NAME_1 \
        --region=REGION \
        --enable-ipv4 \
        --ipv4-nexthop-address=IPV4_NEXTHOP_ADDRESS \
        --peer-ipv4-nexthop-address=PEER_IPV4_NEXTHOP_ADDRESS
      

      在下列指令中,請替換以下內容:

      • PEER_NAME_1,並為對等互連 VPN 介面命名
      • PEER_ASN,這是為對等互連 VPN 閘道設定的 ASN
      • IPV4_NEXTHOP_ADDRESS:Cloud Router 通告的 IPv4 路由下一個躍點位址;位址必須位於 169.254.0.0/16 IPv4 位址範圍內
      • PEER_IPV4_NEXTHOP_ADDRESS:Cloud Router 從 BGP 對等互連學習到的 IPv4 路由下一個躍點位址;位址必須位於 169.254.0.0/16 IPv4 位址範圍內

    API

    如要建立 BGP 工作階段,請按照下列步驟操作:

    1. 如要建立 Cloud Router 介面並指派 IPv6 位址,請使用 routers.patch 方法routers.update 方法發出 PATCHUPDATE 要求。PATCH 只會更新您加入的參數。UPDATE 更新 Cloud Router 的所有參數。

      以下範例會建立介面,並手動設定 IPv6 位址。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "interfaces": [
          {
            "name": "if-tunnel-a-to-on-prem-if-0",
            "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
            "ipRange": "fdff:1::/112"
            }
          ]
      }
      

      每個 IPv6 BGP 工作階段的 BGP 位址範圍,在虛擬私有雲網路的所有區域中,都必須是所有 Cloud Router 專屬的。

      再舉一例,下列指令會建立介面,並自動指派 IPv6 位址。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "interfaces": [
          {
            "name": "if-tunnel-a-to-on-prem-if-0",
            "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
            "ipVersion": "IPV6"
            }
          ]
      }
      

      針對高可用性 VPN 閘道上的每個 VPN 通道重複這個步驟。

    2. 為 VPN 通道的 Cloud Router 新增 BGP 對等互連設定,並使用 routers.patch 方法routers.update 方法,提出 PATCHUPDATE 要求。針對其他 VPN 通道重複執行這個指令,並變更 namepeerAsn 以外的所有選項。

      例如:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0",
          "ipAddress": "fdff:1::1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
          "peerAsn": 65002,
          "peerIpAddress": "fdff:1::2",
          "advertiseMode": "DEFAULT"
          }
        ]
      }
      

      以下範例包含一個指令,可為啟用 IPv4 路徑交換的 IPv6 BGP 介面新增 BGP 對等互連,並手動設定 IPv4 下一躍點位址。如果省略 ipv4NexthopAddresspeerIpv4NexthopAddress,系統會自動指派 IPv4 下一個躍點位址。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers//ROUTER_NAME
      {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0",
          "ipAddress": "fdff:1::1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
          "peerAsn": 65002,
          "peerIpAddress": "fdff:1::2",
          "advertiseMode": "DEFAULT",
          "enableIpv4": true,
          "ipv4NexthopAddress: "169.254.0.1",
          "peerIpv4NexthopAddress: "169.254.0.2"
          }
        ]
      }
      

      如要為對等互連指定已知路徑,請定義路徑的 IP 前置字串。您也可以選擇為路徑設定介於 065535 之間的優先順序值 (含首尾)。每個 BGP 工作階段可以有一個優先順序值,適用於您為該工作階段設定的所有自訂學習路徑。詳情請參閱「已學習的路徑」。

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0",
          "ipAddress": "fdff:1::1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
          "peerAsn": 65002,
          "peerIpAddress": "fdff:1::2",
          "advertiseMode": "DEFAULT",
          "enableIpv4": true,
          "ipv4NexthopAddress: "169.254.0.1",
          "peerIpv4NexthopAddress: "169.254.0.2"
          "customLearnedRoutePriority": 200,
          "customLearnedIpRanges": [
              {
                "range": "1.2.3.4"
              },
              {
                "range": "6.7.0.0/16"
              },
              {
                "range": "2001:db8:abcd:12::/64"
              }
            ]
            }
          ]
      }
      

      如要將工作階段設定為使用 MD5 驗證,要求必須包含驗證金鑰,也就是必須提供金鑰和金鑰名稱。建立 BGP 對等互連工作階段時,也必須依名稱參照金鑰。例如:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "md5AuthenticationKeys": [
          {
          "name": "bgppeer-1-key",
          "key": "secret_key_value"
          }
          ],
      }
      {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0",
          "ipAddress": "fdff:1::1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0",
          "peerAsn": 65002,
          "peerIpAddress": "fdff:1::2",
          "advertiseMode": "DEFAULT",
          "md5AuthenticationKeyName": "bgppeer-1-key"
          }
        ]
      }
      

    IPv4 BGP 和 IPv6 BGP 工作階段

    請按照下列步驟,在同一個高可用性 VPN 通道中,建立並行執行的 IPv4 BGP 工作階段和 IPv6 BGP 工作階段。

    如要建立這項設定,請在 Cloud Router 中新增兩個 BGP 介面和兩個 BGP 對等互連,並將其連結至同一個 VPN 通道。您無法在任一 BGP 工作階段使用 MP-BGP。

    主控台

    如要建立 IPv4 和 IPv6 BGP 工作階段,請按照下列步驟操作:

    1. 按一下「設定 BGP 工作階段」
    2. 在「建立 BGP 工作階段」頁面中,完成下列步驟:

      1. 在「BGP session type」(BGP 工作階段類型) 中,選取「Both」(兩者皆是)

      IPv4 BGP 工作階段

      1. 在「Name」(名稱) 部分輸入 BGP 工作階段的名稱。
      2. 在「對等互連 ASN」欄位中,輸入為對等互連 VPN 閘道設定的對等互連 ASN。
      3. 在「Allocate BGP IPv4 address」(分配 BGP IPv4 位址) 區段中,選取「Automatically」(自動) 或「Manually」(手動)。如果選取「手動」,請按照下列步驟操作:
      4. 在「Cloud Router BGP IPv4 address」(Cloud Router BGP IPv4 位址) 中,輸入 Cloud Router BGP IPv4 位址。
      5. 在「BGP peer IPv4 address」(BGP 對等點 IPv4 位址) 欄位中,輸入 BGP 對等點的 IPv4 位址。 IPv4 位址必須符合下列規定:

        • 每個 IPv4 位址都必須屬於同一個/30子網路,且該子網路必須位於位址範圍內。169.254.0.0/16
        • 每個 IPv4 位址都是 /30 子網路的第一個或第二個主機。子網路的第一個和最後一個 IP 位址會保留給網路和廣播位址。
        • 在虛擬私有雲網路的所有區域中,每個 BGP 工作階段的 IPv4 位址範圍都不得重複。

        如果選取「自動」, Google Cloud 會自動為 BGP 工作階段選取 IPv4 位址。

        如果選取自動分配 IPv6 位址, Google Cloud會自動為 BGP 工作階段選取 IPv6 位址。

      6. 選用:展開「進階選項」部分。

      7. 如要啟用 BGP 對等互連,請選取「已啟用」。如果啟用,就能使用轉送資訊建立對等點連線。詳情請參閱「建立 BGP 工作階段」。

      8. 如要新增 MD5 驗證,請選取「已啟用」。啟用後,您就能使用 MD5 驗證,驗證 Cloud Router 及其對等互連之間的 BGP 工作階段。詳情請參閱「使用 MD5 驗證」。您也可以選擇稍後再啟用 MD5 驗證。

      9. 如要將傳出路徑新增至 BGP 工作階段,請在「所有自訂已知路徑的優先順序」中輸入已知路徑優先順序。詳情請參閱「已學會的路線」。

      10. 按一下 [儲存並繼續]

      IPv6 BGP 工作階段

      1. 在「Name」(名稱) 部分輸入 BGP 工作階段的名稱。
      2. 在「對等互連 ASN」欄位中,輸入為對等互連 VPN 閘道設定的對等互連 ASN。
      3. 選用:如要設定公告路徑優先順序 (MED),請輸入向這個 BGP 對等互連公告路徑的優先順序。
      4. 在「Allocate BGP IPv6 address」(分配 BGP IPv6 位址) 部分,選取「Automatically」(自動) 或「Manually」(手動)。如果選取「手動」,請按照下列步驟操作:
      5. 在「Cloud Router BGP IPv6 address」(Cloud Router BGP IPv6 位址) 中,輸入 Cloud Router BGP IPv6 位址。
      6. 在「BGP 對等點 IPv6 位址」欄位中,輸入 BGP 對等點的 IPv6 位址。 IPv4 位址必須符合下列規定:

        • 每個地址都必須是 fdff:1::/64 地址範圍中,遮罩長度為 /64 的不重複本機地址 (ULA)。例如:fdff:1::1
        • 在虛擬私有雲網路的所有區域中,每個位址都不得重複。

        如果選取「自動」, Google Cloud 會自動為 BGP 工作階段選取 IPv6 位址。

      7. 選用:展開「進階選項」部分。

      8. 如要啟用 BGP 對等互連,請選取「已啟用」。如果啟用,就能使用轉送資訊建立對等點連線。詳情請參閱「建立 BGP 工作階段」。

      9. 如要啟用 MD5 驗證,請選取「已啟用」。啟用後,系統會使用 MD5 驗證,驗證 Cloud Router 及其對等互連之間的 BGP 工作階段。詳情請參閱「使用 MD5 驗證」。您也可以選擇稍後再啟用 MD5 驗證。

      10. 如要將傳出路徑新增至 BGP 工作階段,請在「所有自訂已知路徑的優先順序」中輸入已知路徑優先順序。詳情請參閱「已學會的路線」。

      11. 按一下 [儲存並繼續]

    3. 針對閘道上設定的其餘通道,重複執行上述步驟。每個通道都使用不同的 Cloud Router BGP IP 位址和 BGP 對等互連 IP 位址。

    4. 按一下「儲存 BGP 設定」

    gcloud

    如要建立 BGP 工作階段,請按照下列步驟操作:

    在指令中,請按照以下方式替換:

    • ROUTER_INTERFACE_NAME_0_ipv4ROUTER_INTERFACE_NAME_0_ipv6:共用相同通道的第一組 Cloud Router BGP 介面名稱;使用與先前設定的通道名稱相關的名稱會很有幫助
    • ROUTER_INTERFACE_NAME_1_ipv4ROUTER_INTERFACE_NAME_1_ipv6: 第二組 Cloud Router BGP 介面的名稱
    • TUNNEL_NAME_0TUNNEL_NAME_1:與您設定的高可用性 VPN 閘道介面相關聯的通道
    • IP_PREFIXESCUSTOM_ROUTE_PRIORITY:這些值可讓您手動指定 BGP 工作階段的已知路徑。如要進一步瞭解這項功能,請參閱「已知路徑」。
    • AUTHENTICATION_KEY:用於 MD5 驗證的密鑰。如要進一步瞭解這項選用功能,請參閱「使用 MD5 驗證」。

      此外,您也可以選擇自動或手動設定 Cloud Router 介面和 BGP 對等互連的 IPv4 和 IPv6 位址。

      選用:指派 BGP ID 範圍

      將第一個具有 IPv6 位址的介面新增至 Cloud Router 時,系統會自動將 BGP ID 範圍指派給 Cloud Router。如要為 Cloud Router 定義自己的 BGP ID 範圍,可以自行建立範圍。您也可以稍後再修改這個範圍。 詳情請參閱設定 Cloud Router 的 BGP ID 範圍

    自動

    如要讓 Google Cloud 自動選擇 BGP 位址,請完成下列步驟。

    第一個 VPN 通道

    1. 將具有 IPv4 位址的介面新增至 Cloud Router。

      gcloud compute routers add-interface ROUTER_NAME \
         --interface-name=ROUTER_INTERFACE_NAME_0_ipv4 \
         --vpn-tunnel=TUNNEL_NAME_0 \
         --region=REGION
         --ip-version=IPV4
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 在同一個通道中新增第二個介面,並指派 IPv6 位址。 執行下列指令:

      gcloud compute routers add-interface ROUTER_NAME \
         --interface-name=ROUTER_INTERFACE_NAME_0_ipv6 \
         --vpn-tunnel=TUNNEL_NAME_0 \
         --region=REGION \
         --ip-version=IPV6
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    3. 在第一個介面中新增 BGP 對等互連設定,並使用第一個通道的 IPv4 位址;將 PEER_NAME_0_ipv4 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0_ipv4 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0_ipv4 \
         --region=REGION
      
    4. 在第二個介面中新增 BGP 對等互連設定,並使用第一個通道的 IPv6 位址;將 PEER_NAME_0_ipv6 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0_ipv6 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0_ipv6 \
         --region=REGION
      

      在大多數情況下,PEER_ASN 會相同,但視內部部署網路拓撲而定,也可能不同。

    第二個 VPN 通道

    1. 在 Cloud Router 中新增具有 IPv4 位址的介面:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1_ipv4 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --region=REGION
       --ip-version=IPV4
      
    2. 將具有 IPv6 位址的介面新增至相同通道。 執行下列指令:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1_ipv6 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --region=REGION \
       --ip-version=IPV6
      
    3. 在第一個介面中新增 BGP 對等互連設定,並使用第二條通道的 IPv4 位址;將 PEER_NAME_1_ipv4 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1_ipv4 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1_ipv4 \
       --region=REGION
      
    4. 將 BGP 對等互連設定新增至第二個介面,並使用第二個通道的 IPv6 位址;將 PEER_NAME_1_ipv6 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_1_ipv6 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_1_ipv6 \
         --region=REGION
      

      在大多數情況下,PEER_ASN 會相同,但視內部部署網路拓撲而定,也可能不同。

    手動

    如要手動分配與 Cloud Router 介面和 BGP 對等互連相關聯的 IPv4 和 IPv6 位址,請完成下列步驟。

    根據您要設定的 BGP 工作階段類型,為每個 VPN 通道決定一對適當的 BGP 位址。每種工作階段類型都必須選取四個 IP 位址。

    • 對於 IPv4 BGP 工作階段,四個 IPv4 位址必須是 169.254.0.0/16 範圍內 /30 區塊的連結本機 IPv4 位址。例如:169.254.0.1/30
    • 對於 IPv6 BGP 工作階段,四個 IPv6 位址必須是 fdff:1::/64 範圍內長度為 /126 或更短的專屬本機位址 (ULA)。例如:fdff:1:1:1::/112

    您指定的 BGP 位址在虛擬私有雲網路的所有區域中,必須是所有 Cloud Router 的專屬位址。

    為每個通道的 Cloud Router 指派 BGP IPv6 位址。將對等互連 VPN 裝置設定為使用 BGP 對等互連 IPv6 位址。

    在下列指令中,請替換以下內容:

    • GOOGLE_BGP_IPV4_0:Cloud VPN 閘道 interface 0 上通道的 Cloud Router 介面 IPv4 位址;PEER_BGP_IPV4_0 代表 BGP 對等互連的 IPv4 位址,與 GOOGLE_BGP_IPV4_0 相符
    • GOOGLE_BGP_IPV6_0:Cloud VPN 閘道 interface 0 上通道的 Cloud Router 介面 IPv6 位址;PEER_BGP_IPV6_0 代表 BGP 對等互連的 IPv6 位址,與 GOOGLE_BGP_IPV6_0 相符
    • GOOGLE_BGP_IPV4_1:Cloud VPN 閘道 interface 1 上通道的 Cloud Router 介面 IPv4 位址;PEER_BGP_IPV4_1 代表 BGP 對等互連的 IPv4 位址,與 GOOGLE_BGP_IPV4_1 相符
    • GOOGLE_BGP_IPV6_1:Cloud VPN 閘道 interface 1 上通道的 Cloud Router 介面 IPv6 位址;PEER_BGP_IPV6_1 代表 BGP 對等互連的 IPv6 位址,與 GOOGLE_BGP_IPV6_1 相符

    第一個 VPN 通道

    1. 將具有 IPv4 位址的介面新增至 Cloud Router;將 ROUTER_INTERFACE_NAME_0_ipv4 替換為介面的名稱:

      gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=ROUTER_INTERFACE_NAME_0_ipv4 \
        --vpn-tunnel=TUNNEL_NAME_0 \
        --ip-address=GOOGLE_BGP_IPV4_0 \
        --mask-length 30 \
        --region=REGION
      

      指令輸出內容如下列範例所示:

      Updated [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a].
      
    2. 在同一個通道中新增具有 IPv6 位址的介面;將 ROUTER_INTERFACE_NAME_0_ipv6 替換為介面的名稱:

      gcloud compute routers add-interface ROUTER_NAME \
        --interface-name=ROUTER_INTERFACE_NAME_0_ipv6 \
        --vpn-tunnel=TUNNEL_NAME_0 \
        --ip-address=GOOGLE_BGP_IPV6_0 \
        --mask-length=MASK_LENGTH  \
        --region=REGION \
      

      MASK_LENGTH 替換為 64 或更低的值。

    3. 第一個通道的第一個介面新增 BGP 對等互連設定;將 PEER_NAME_0_ipv4 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_0_ipv4 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_0_ipv4 \
       --peer-ip-address=PEER_BGP_IPV4_0 \
       --region=REGION
      
    4. 第一個通道的第二個介面新增 BGP 對等互連設定;將 PEER_NAME_0_ipv6 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_0_ipv6 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_0_ipv6 \
         --peer-ip-address=PEER_BGP_IPV6_0 \
         --region=REGION
      

      在大多數情況下,PEER_ASN 相同,但視內部部署網路拓撲而定,也可能不同。

    第二個 VPN 通道

    1. 將具有 IPv4 位址的介面新增至 Cloud Router;將 ROUTER_INTERFACE_NAME_1_ipv4 替換為介面的名稱:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1_ipv4 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --ip-address=GOOGLE_BGP_IPV4_1 \
       --mask-length MASK_LENGTH \
       --region=REGION
      
    2. 在同一個通道中新增具有 IPv6 位址的介面;將 ROUTER_INTERFACE_NAME_1_ipv6 替換為介面的名稱:

      gcloud compute routers add-interface ROUTER_NAME \
       --interface-name=ROUTER_INTERFACE_NAME_1_ipv6 \
       --vpn-tunnel=TUNNEL_NAME_1 \
       --ip-address=GOOGLE_BGP_IPV6_1 \
       --mask-length=MASK_LENGTH \
       --region=REGION \
      

      MASK_LENGTH 替換為 64 或更低的值。

    3. 第二個通道的第一個介面新增 BGP 對等點設定;將 PEER_NAME_1_ipv4 替換為對等點的名稱,並將 PEER_ASN 替換為針對對等點 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
       --peer-name=PEER_NAME_1_ipv4 \
       --peer-asn=PEER_ASN \
       --interface=ROUTER_INTERFACE_NAME_1_ipv4 \
       --peer-ip-address=PEER_BGP_IPV4_1 \
       --region=REGION
      
    4. 第二個通道的第二個介面新增 BGP 對等互連設定;將 PEER_NAME_1_ipv6 替換為對等互連 VPN 介面的名稱,並將 PEER_ASN 替換為針對對等互連 VPN 閘道設定的 ASN:

      gcloud compute routers add-bgp-peer ROUTER_NAME \
         --peer-name=PEER_NAME_1_ipv6 \
         --peer-asn=PEER_ASN \
         --interface=ROUTER_INTERFACE_NAME_1_ipv6 \
         --peer-ip-address=PEER_BGP_IPV6_1 \
         --region=REGION
      

      在大多數情況下,PEER_ASN 相同,但視內部部署網路拓撲而定,也可能不同。

    API

    如要建立 BGP 工作階段,請按照下列步驟操作:

    1. 如要建立兩個 Cloud Router 介面,請使用 routers.patch 方法routers.update 方法發出 PATCHUPDATE 要求。PATCH 只會更新您加入的參數。UPDATE 會更新 Cloud Router 的所有參數。

      為高可用性 VPN 閘道上的第一個 VPN 通道建立兩個 Cloud Router 介面。您會建立具有 IPv4 位址的介面,以及具有 IPv6 位址的介面。您可以在同一個 PATCHUPDATE 要求中,設定介面及其 BGP 對等互連。介面會與相同linkedVpnTunnel通道建立關聯,然後 BGP 對等互連會與介面建立關聯。

      每個介面的 BGP 位址範圍,在虛擬私有雲網路所有區域的所有 Cloud Router 中都必須是唯一的。

      針對高可用性 VPN 閘道上的每個 VPN 通道,重複執行這個步驟和指令。

      以下範例會將一個具有 IPv4 位址的介面,以及一個具有 IPv6 位址的介面,新增至同一個 linkedVpnTunnel。範例指令會手動指定 IPv4 和 IPv6 BGP 位址:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "interfaces": [
          {
            "name": "if-tunnel-a-to-on-prem-if-0_ipv4",
            "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
            "ipRange": "169.254.0.1/30"
            },
            {
            "name": "if-tunnel-a-to-on-prem-if-0_ipv6",
            "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
            "ipRange": "fdff:1::/126"
            }
      
          ]
      }
      

      以下範例會將 IPv4 BGP 介面和 IPv6 BGP 介面新增至同一個 linkedVpnTunnel,並自動指派 IPv4 和 IPv6 BGP 位址:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
      {
        "interfaces": [
          {
            "name": "if-tunnel-a-to-on-prem-if-0_ipv4",
            "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
            "ipVersion": "IPV4"
            },
            {
            "name": "if-tunnel-a-to-on-prem-if-0_ipv6",
            "linkedVpnTunnel": "ha-vpn-gw-a-tunnel-0",
            "ipVersion": "IPV6"
            }
      
          ]
      }
      
      1. 如要為每個 VPN 通道將 BGP 對等互連新增至 Cloud Router,請使用 routers.patch 方法routers.update 方法,發出 PATCHUPDATE 要求。針對其他 VPN 通道重複執行這項指令,並視需要變更所有選項。

        例如:

        PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
        {
        "bgpPeers": [
        {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0_ipv4",
          "ipAddress": "169.254.0.1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0_ipv4",
          "peerAsn": 65002,
          "peerIpAddress": "169.254.0.2",
          "advertiseMode": "DEFAULT"
          },
          {
          "interfaceName": "if-tunnel-a-to-on-prem-if-0_ipv6",
          "ipAddress": fdff:1::1",
          "name": "bgp-peer-tunnel-a-to-on-prem-if-0_ipv6",
          "peerAsn": 65002,
          "peerIpAddress": "fdff:1::2",
          "advertiseMode": "DEFAULT"
          }
        ]
        }
        

    驗證設定

    主控台

    如要驗證設定,請前往「摘要和提醒」頁面:

    1. 這個頁面的「摘要」部分會列出高可用性 VPN 閘道和對等互連 VPN 閘道設定檔的資訊。您可以查看各個 VPN 通道的 VPN 通道狀態BGP 工作階段名稱BGP 工作階段狀態,以及 MED 值 (通告路徑優先順序)。
    2. 本頁的「提醒」部分列出您必須完成的步驟,才能在 Cloud VPN 與對等互連 VPN 之間建立可正常運作的 VPN 連線。
    3. 如要下載對等互連 VPN 裝置的設定範本,請按一下「下載設定」。如需選取範本的操作說明,以及支援的供應商清單,請參閱「下載對等互連 VPN 設定範本」。您也可以稍後前往「對等互連 VPN 閘道」頁面,下載設定範本。
    4. 詳閱這個頁面上的資訊後,按一下「確定」

    gcloud

    如要驗證 Cloud Router 設定,請按照下列步驟操作:

    • 列出 Cloud Router 選擇的 BGP 工作階段 IP 位址。 如果您將新介面新增至現有 Cloud Router,新介面的 BGP IPv4 或 IPv6 位址可能會以最高的索引編號列出。使用 BGP IPv4 或 BGP IPv6 位址 peerIpAddress 設定對等互連 VPN 閘道:

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

      管理兩個 Cloud VPN 通道 (索引 0 和索引 1) 的預期 Cloud Router 輸出看起來像以下範例,其中:

      • GOOGLE_BGP_IP_0 代表 Cloud VPN 閘道 interface 0 上通道的 Cloud Router 介面 BGP IP 位址;PEER_BGP_IP_0 代表對等互連的 BGP IP 位址。
      • GOOGLE_BGP_IP_1 代表 Cloud VPN 閘道 interface 1 上通道的 Cloud Router 介面 BGP IP 位址;PEER_BGP_IP_1 代表對等互連的 BGP IP 位址。
        result.bgpPeerStatus[0].ipAddress:      169.254.0.1 GOOGLE_BGP_IP_0
        result.bgpPeerStatus[0].name:           bgp-peer-tunnel-a-to-on-prem-if-0
        result.bgpPeerStatus[0].peerIpAddress:  169.254.0.2 PEER_BGP_IP_0
        result.bgpPeerStatus[1].ipAddress:      169.254.1.1 GOOGLE_BGP_IP_1
        result.bgpPeerStatus[1].name:           bgp-peer-tunnel-a-to-on-prem-if-1
        result.bgpPeerStatus[1].peerIpAddress:  169.254.1.2 PEER_BGP_IP_1
      
    • 您也可以使用下列指令取得完整的 Cloud Router 設定清單:

       gcloud compute routers describe ROUTER_NAME \
           --region=REGION
      

      完整清單如下所示:

      bgp:
        advertiseMode: DEFAULT
        asn: 65001
      bgpPeers:
      - interfaceName: if-tunnel-a-to-on-prem-if-0
        ipAddress: 169.254.0.1
        name: bgp-peer-tunnel-a-to-on-prem-if-0
        peerAsn: 65002
        peerIpAddress: 169.254.0.2
      - interfaceName: if-tunnel-a-to-on-prem-if-1
        ipAddress: 169.254.1.1
        name: bgp-peer-tunnel-a-to-on-prem-if-1
        peerAsn: 65004
        peerIpAddress: 169.254.1.2
      creationTimestamp: '2018-10-18T11:58:41.704-07:00'
      id: '4726715617198303502'
      interfaces:
      - ipRange: 169.254.0.1/30
        linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-0
        name: if-tunnel-a-to-on-prem-if-0
      - ipRange: 169.254.1.1/30
        linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/vpnTunnels/tunnel-a-to-on-prem-if-1
        name: if-tunnel-a-to-on-prem-if-1
        kind: compute#router
        name: router-a
        network: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/network-a
        region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1
        selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-central1/routers/router-a
      

    API

    如要驗證 Cloud Router 設定,請使用 routers.getRouterStatus 方法發出 GET 要求,並使用空白要求主體:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers
    

    在單一通道閘道上建立額外通道

    主控台

    如要享有 99.99% 運作時間的服務水準協議,請在高可用性 VPN 閘道的每個高可用性 VPN 介面上設定通道。

    在下列情況下設定第二個通道:

    • 如果您將高可用性 VPN 閘道設定為對等互連 VPN 閘道,且該閘道只有一個對等互連 VPN 介面。
    • 如果您先前在高可用性 VPN 閘道上設定單一通道,連線至含有任意數量介面的對等互連 VPN 閘道,但現在希望高可用性 VPN 閘道能達到 99.99% 的運作時間服務水準協議。

    如要設定第二個通道,請按照「新增通道,從高可用性 VPN 閘道連至對接 VPN 閘道」一文中的步驟操作。

    設定通告路徑基本優先順序 (選用)

    您建立的 BGP 工作階段可讓每個 Cloud Router 將路徑通告至對等網路。廣告使用未修改的基本優先順序

    如要進行主動/主動轉送設定,請使用「建立高可用性 VPN 閘道和通道配對至對等互連 VPN」一文所述的設定,其中 Google Cloud 端和對等互連端兩個 VPN 通道的宣傳路徑優先順序相符。如要為兩個 BGP 對等互連設定相同的通告路徑優先順序,請省略 Google Cloud 側的通告路徑優先順序。 Google Cloud

    如要建立主動/被動設定,請為兩個高可用性 VPN 通道設定不等的播送路徑優先順序。其中一條宣傳路線的優先順序必須高於另一條。例如:

    • BGP 工作階段 1/通道 1,路徑優先順序 = 10
    • BGP 工作階段 2/通道 2,路徑優先順序 = 20

    如要進一步瞭解通告路徑基本優先順序,請參閱「通告前置字元和優先順序」。

    您也可以使用自訂通告指定要通告的路徑:

    • 新增 --advertisement-mode=CUSTOM 旗標 (gcloud) 或 advertiseMode: custom 旗標 (API)。
    • 使用 --set-advertisement-ranges 標記 (gcloud) 或 advertisedIpRanges 標記 (API) 指定 IP 位址範圍。

    完成設定程序

    如要使用新的 Cloud VPN 閘道和相關聯的 VPN 通道,請完成下列步驟:

    1. 設定對等互連 VPN 閘道,並在閘道中設定對應通道。如需相關指示,請參閱下列文章:
    2. 視需要設定 Google Cloud 和對等互連網路的防火牆規則。
    3. 檢查 VPN 通道的狀態。 這個步驟包括檢查高可用性 VPN 閘道的高可用性設定。

    後續步驟