建立 VPN BGP 工作階段

本頁面說明 VPN 邊界閘道通訊協定 (BGP) 工作階段必須遵守的規格,以及如何建立 VPN BGP 工作階段。

Google Distributed Cloud (GDC) 實體隔離 VPN 支援動態轉送,每個 VPN 通道都使用 IPv4 BGP 工作階段。BGP 工作階段可讓遠端網路和 GDC 機構中的 BGP 對等互連,互相 advertise 路由。

事前準備

如要建立 VPN BGP 工作階段,您必須具備必要的身分和存取權角色:

  • VPN 管理員:具備所有 VPN 相關資源的讀寫權限。請要求 IAM 機構組織管理員授予您 VPN 管理員 (vpn-admin) 角色。
  • VPN 檢視者:具備所有 VPN 相關資源的讀取權限。請要求 IAM 機構組織管理員授予您 VPN 檢視者 (vpn-viewer) 角色。
  • 詳情請參閱「角色定義」。

VPN BGP 工作階段規格

組織中的 BGP 對等互連支援 30 秒的 BGP 保持運作間隔,保留計時器為 90 秒。每個 BGP 工作階段的 IPv4 位址都必須符合下列規定:

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

不支援 MD5 驗證。這項方法使用 MD5 雜湊演算法,驗證資料的完整性和真實性。

建立 VPN BGP 工作階段

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

  1. 在平台命名空間的機構組織管理員叢集中,建立 VPNBGPPeer 物件:

    kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF
    apiVersion: networking.gdc.goog/v1
    kind: VPNBGPPeer
    metadata:
      name: VPN_BGP_PEER_NAME
    spec:
      remote:
        name: REMOTE_PEER_NAME
        ip: REMOTE_PEER_IP
        asn: REMOTE_PEER_ASN
      local:
        name: LOCAL_PEER_NAME
        ip: LOCAL_PEER_IP
        asn: LOCAL_PEER_ASN
    EOF
    

    更改下列內容:

    • MANAGEMENT_API_SERVER:可用區 API 伺服器的 kubeconfig 路徑。如果您尚未為目標可用區中的 API 伺服器產生 kubeconfig 檔案,請參閱「登入」一節瞭解詳情。
    • VPN_BGP_PEER_NAME:VPN BGP 對等互連的名稱。
    • REMOTE_PEER_NAME:遠端網路中 BGP 對等互連的名稱。
    • REMOTE_PEER_IP:遠端網路中 BGP 對等互連的 /30 子網路 BGP IPv4 位址。
    • REMOTE_PEER_ASN:為遠端網路設定的自治系統編號 (ASN)。
    • LOCAL_PEER_NAME:GDC 組織中 BGP 對等互連的名稱。
    • LOCAL_PEER_IP:GDC 組織中 BGP 對等互連 /30 子網路的 BGP IPv4 位址。
    • LOCAL_PEER_ASN:為 GDC 組織設定的 ASN。
  2. 檢查 Status 欄位,確認 VPN_BGP_PEER_NAME 物件已正確協調。取得 VPNBGPPeer 物件的詳細資料:

    kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
    

    查看輸出內容,應與下列範例類似:

      Status:
        Conditions:
          Last Transition Time:  2024-05-10T00:26:13Z
          Message:               Ready
          Observed Generation:   1
          Reason:                Ready
          Status:                True
          Type:                  ValidIPs
          Last Transition Time:  2024-05-10T00:26:00Z
          Message:               Used by 0 VPNTunnels, must be used by a single VPNTunnel
          Observed Generation:   1
          Reason:                GetResourceFailed
          Status:                False
          Type:                  TunnelsAttached
          Last Transition Time:  2024-05-10T00:26:00Z
          Message:               TunnelsAttached or ValidIPs Condition not Ready.
          Observed Generation:   1
          Reason:                Unknown
          Status:                False
          Type:                  Reconciled
          Last Transition Time:  2024-05-10T00:26:01Z
          Message:               ValidIPs or Reconciled Condition not Ready.
          Observed Generation:   1
          Reason:                Unknown
          Status:                False
          Type:                  AdvertisedRoutesReady
          Last Transition Time:  2024-05-10T00:26:13Z
          Message:               Ready
          Observed Generation:   1
          Reason:                Ready
          Status:                True
          Type:                  ReceivedRoutesValid
          Last Transition Time:  2024-05-10T00:26:01Z
          Message:               TunnelsAttached Condition not Ready.
          Observed Generation:   1
          Reason:                Unknown
          Status:                False
          Type:                  ReceivedRoutesReady
          Last Transition Time:  2024-05-10T00:26:01Z
          Message:               Condition "TunnelsAttached" is not ready.
          Observed Generation:   1
          Reason:                NotReady
          Status:                False
          Type:                  Ready
      ```
    

VPNBGPPeer 必須附加至 VPNTunnel。我們會在「建立 VPN 通道」中處理這個步驟。

後續步驟