設定 Cloud Router 的 BGP ID 範圍

每個 Cloud Router 都有一個 BGP ID,也稱為路由器 ID。根據 RFC 6286 的規定,BGP 識別碼是虛擬私有雲 (VPC) 網路中每個 Cloud Router 專屬的值。BGP ID 是 4 個位元組的無正負號整數,以有效的 IPv4 位址表示。

您可以將明確的 BGP ID 範圍指派給 Cloud Router。如此一來,Cloud Router 就會從指派的範圍中,取得穩定的 BGP ID。

IPv6 BGP 需要明確的 BGP ID 範圍。如果您將 IPv6 介面新增至尚未指派 BGP ID 範圍的 Cloud Router,系統會將 IPv4 連結本機位址空間的隨機範圍指派給該介面。

如果 Cloud Router 沒有明確的 BGP ID 範圍,系統會指派 BGP ID,對應至其 IPv4 介面中字典排序最後一個 IPv4 位址。

BGP ID 變更和 BGP 工作階段重新啟動

除非您已設定明確的 BGP ID 範圍,否則 Cloud Router 可能會在下列情況下變更自動產生的路由器 ID:

  • 新增 BGP 工作階段
  • 您移除 BGP 工作階段
  • 定期維護期間

事前準備

gcloud

如要使用本指南中的指令列範例,請完成下列事項:

  1. 安裝或更新至最新版 Google Cloud CLI
  2. 設定預設地區和區域

API

如要使用本指南提供的 API 範例,請設定 API 存取權

將 BGP ID 範圍指派給 Cloud Router

本節說明如何將明確的 BGP 識別碼範圍指派給 Cloud Router。

主控台

  1. 在 Google Cloud 控制台中,前往「Create a Cloud Router」頁面。

    前往「建立雲端路由器」

  2. 指定 Cloud Router 的詳細資料:

    • 名稱:Cloud Router 的名稱。這個名稱會顯示在 Google Cloud 控制台中,並由 Google Cloud CLI 用於參照 Cloud Router,例如 my-router
    • 說明:選填。Cloud Router 的說明。
    • 網路:您要連線之執行個體所屬的 VPC 網路,例如 my-network
    • 「Region」:您希望 Cloud Router 所處的地區,例如 asia-east1
    • Google ASN:您在內部網路中未使用的任何私人 ASN (64512-655344200000000-4294967294)。Cloud Router 要求您使用私人 ASN,但內部部署的 ASN 可以是公用或私人。

    • BGP 對等點保持運作間隔:兩次連續傳送至對等互連路由器的 BGP 保持運作訊息之間的間隔。這個值必須是介於 20 和 60 之間的整數,用於指定間隔的秒數。預設值為 20 秒。詳情請參閱「管理 BGP 定時器」。
    • BGP ID:選填。BGP ID (有時稱為「路由器 ID」),用於在網路中唯一識別 Cloud Router。如果省略,具有 IPv4 BGP 工作階段的 Cloud Router 會使用其中一個 IPv4 BGP 位址做為 BGP ID,並在將第一個 IPv6 介面新增至此 Cloud Router 時自動填入這個欄位。

      如需更多資訊,請參閱「為 Cloud Router 設定 BGP 識別碼範圍」。

  3. 選用:如要指定自訂公告路徑,請前往「公告路徑」部分。詳情請參閱「廣告路線」。
    1. 如要指定自訂路徑,請選取「建立自訂路徑」
    2. 選擇是否要通告 Cloud Router 可用的子網路。啟用這個選項後即可模擬雲端路由器的預設行為。
    3. 如要新增通告路徑,請選取「新增自訂路徑」,然後進行設定。
  4. 如要儲存設定並建立 Cloud Router,請按一下「建立」。新的 Cloud Router 會顯示在 Cloud Router 清單頁面上。如要查看詳細資料並設定 BGP 工作階段,請選取該 Cloud Router。

gcloud

如要在建立 Cloud Router 時指派明確的 BGP ID 範圍,請使用 --bgp-identifier-range 旗標。

gcloud compute routers create ROUTER_NAME \
    --bgp-identifier-range=BGP_IDENTIFIER_RANGE

BGP_IDENTIFIER_RANGE 替換為來自 169.254.0.0/16 的連結本機 IPv4 範圍,子網路遮罩前置長度最多為 /30。IPv4 位址範圍不得與下列任一項目重疊:

  • 這個 Cloud Router 上其他 BGP 工作階段使用的 IPv4 位址範圍。

  • 相同 VPC 網路和區域中其他 Cloud Router 使用的任何自訂 BGP ID 範圍。

API

請使用 routers.insert 方法

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
         "asn": "ASN_NUMBER",
         "keepaliveInterval": KEEPALIVE_INTERVAL,
         "identifierRange": BGP_IDENTIFIER_RANGE
      },
      "name": "ROUTER_NAME",
      "network": "NETWORK"
     }

BGP_IDENTIFIER_RANGE 替換為來自 169.254.0.0/16 的連結本機 IPv4 範圍,子網路遮罩前置長度最多為 /30。範圍不得與任何現有的 IPv4 Cloud Router 介面或相同區域中 Cloud Router 的 BGP ID 範圍重疊。

修改 BGP ID 範圍

本節說明如何修改 Cloud Router 上現有的明確 BGP ID 範圍。

gcloud

如要變更明確的 BGP 識別碼範圍,請執行下列指令。

gcloud compute routers update ROUTER_NAME \
    --bgp-identifier-range=BGP_IDENTIFIER_RANGE

BGP_IDENTIFIER_RANGE 替換為來自 169.254.0.0/16 的連結本機 IPv4 範圍,子網路遮罩前置長度最多為 /30

IPv4 位址範圍不得與下列任一項目重疊:

  • 這個 Cloud Router 上其他 BGP 工作階段使用的 IPv4 位址範圍。

  • 相同 VPC 網路和區域中其他 Cloud Router 使用的任何自訂 BGP ID 範圍。

API

請使用 routers.patch 方法更新 bgp.identifierRange 欄位:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
        "identifierRange": BGP_IDENTIFIER_RANGE
     }
   }

BGP_IDENTIFIER_RANGE 替換為來自 169.254.0.0/16 的連結本機 IPv4 範圍,子網路遮罩前置長度最多為 /30。IPv4 位址範圍不得與下列任一項目重疊:

  • 這個 Cloud Router 上其他 BGP 工作階段使用的 IPv4 位址範圍。

  • 相同 VPC 網路和區域中其他 Cloud Router 使用的任何自訂 BGP ID 範圍。

後續步驟