排解 BGP 路徑和路徑選取問題

本指南適用於排解與 BGP 路徑相關的 Cloud Router 問題,包括路徑選取、路徑傳播和路徑指標。

如需其他疑難排解資訊,請參閱下列文章:

已建立 IPv6 BGP 工作階段,但未交換 IPv4 路由

  1. 確認 VLAN 連結或高可用性 VPN 閘道是否具有 IPV4_IPV6 的必要堆疊類型。如果 VLAN 連結的堆疊類型不正確,請修改 VLAN 連結。如果是高可用性 VPN 閘道,請重新建立高可用性 VPN 閘道及其通道。

  2. 確認 Cloud Router 設定正確無誤。執行下列指令:

    gcloud compute routers describe ROUTER-NAME
    

    在輸出中,檢查下列值:

    • bgpPeers.enableIpv4」這個價格true
    • bgpPeers.ipv4NexthopAddressbgpPeers.peerIpv4NexthopAddress都存在

無法連線至部分地端部署 IPv4 或 IPv6 前置碼

嘗試連線至 Cloud Router 學習到的前置字元內的地端部署 IPv4 或 IPv6 目的地時,如果發生流量遺失、ping 錯誤或其他問題,可能的原因有很多。

檢查是否有已停用的自訂已知路徑

如果無法使用已設定的自訂已知路由連線至地端部署目的地,請按照下列步驟操作:

  • 確認 BGP 工作階段已正確設定路徑。
  • 確認 BGP 工作階段是否在執行。
  • 確認地端部署路由器是否正在篩選部分已知路由。

詳情請參閱「查看自訂學習路徑的狀態」。

檢查已篩選的已知路徑

如要查看是否已篩選出路徑,請執行下列指令:

gcloud compute routers get-status ROUTER_NAME \
    --region=REGION

更改下列內容:

  • ROUTER_NAME:Cloud Router 的名稱。
  • REGION:Cloud Router 所在的區域。

輸出結果會與下列內容相似;請找出設為 routeStatusactive

kind: compute#routerStatusResponse
result:
  bestRoutesForRouter:
  - asPaths:
    - asLists:
      - 65200
      pathSegmentType: AS_SEQUENCE
    creationTimestamp: '2024-03-22T13:57:15.533-07:00'
    destRange: 10.128.0.0/20
    kind: compute#route
    network: https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/VPC_NAME
    nextHopIp: 169.254.73.246
    nextHopVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/vpnTunnels/VPN_NAME
    priority: 100
    routeStatus: ACTIVE
    routeType: BGP
  bgpPeerStatus:
  - advertisedRoutes:
    - destRange: 10.128.0.0/20
      kind: compute#route
      network: https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/aneta-vpc
      nextHopIp: 169.254.73.245
      nextHopVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/vpnTunnels/VPN_NAME
      priority: 100
      routeType: BGP
    enableIpv6: false
    ipAddress: 169.254.73.245
    linkedVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/vpnTunnels/VPN_NAME
    md5AuthEnabled: false
    name: aneta-bgp
    numLearnedRoutes: 1
    peerIpAddress: 169.254.73.246
    state: Established
    status: UP
    uptime: 10 hours, 11 minutes, 0 seconds
    uptimeSeconds: '36660'
  network: https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/VPC_NAME

bestRoutesForRouter.routeStatus 值會顯示執行中路徑的 ACTIVE,以及已篩選路徑的 DROPPED

查看配額與限制

請確認 Cloud Router 未超過已知路徑的配額。如要查看 Cloud Router 的已知路徑數量,請查看 Cloud Router 的狀態

如要瞭解配額、相關記錄訊息和指標,以及如何解決問題,請參閱下表。

主題 指引
配額簡介 請參閱 Cloud Router 配額已知路由示例
記錄 當路徑用量達到任一配額的 75% 時,Cloud Router 會記錄警告。如果超出任一配額,系統會記錄錯誤並列出所有捨棄的路徑。這些事件會顯示在 router.googleapis.com/route_quota_events 的 Cloud Logging 中。如要瞭解記錄,請參閱 Cloud Router 說明文件中的「路徑配額事件記錄」。
指標

您也可以使用下列指標,瞭解目前的配額可用量和使用情形。這些指標會加上 router.googleapis.com/dynamic_routes/learned_routes/ 前置字元:

  • used_unique_destinations

    這個虛擬私有雲網路目前使用的不重複目的地數量。

  • unique_destinations_limit

    允許在這個虛擬私有雲網路中宣傳的不重複目的地數量。

  • any_dropped_unique_destinations

    指出這個虛擬私有雲網路是否因超過一或多個路由配額,而捨棄任何目的地。

這些指標可透過受監控的資源取得。gce_network_region 如要進一步瞭解 Cloud Router 指標和查看方式,請參閱「查看記錄和指標」一文中的「指標」一節。

解決問題

如要解決路徑配額問題,請採取下列做法。如果路線數量大幅超過可用配額,建議同時採取以下做法:

  • 設定地端部署路由器,匯出路由摘要,減少這些路由通告的目的地 (CIDR)。
  • 與支援團隊聯絡。 支援團隊可協助您提高配額。

已知路由 (從地端部署網路取得的路徑) 未傳播至其他虛擬私有雲網路

單一 Cloud Router 無法將從某個 BGP 對等點取得的路徑重新通告至其他 BGP 對等點,包括其他虛擬私有雲網路中的 Cloud Router。

舉例來說,在下列中樞和輪輻拓撲中,Cloud Router 無法支援多個 VPC 網路之間的路由通告。

Cloud Router 軸輻式拓撲。
Cloud Router 軸輻式拓撲 (按一下可放大圖片)。

在這種情況下,共用相同 VPC 網路的 Cloud Router 之間沒有 iBGP 工作階段,且 Cloud Router 只會通告 VPC 子網路和自訂設定的路徑。Cloud Router 不會通告虛擬私有雲網路的動態路徑。

如要查看 Cloud de Confiance網路拓撲的建議,請參閱「虛擬私有雲設計的最佳做法與參考架構」。

此外,如要在 Cloud de Confiance中建構及管理中樞和輪輻拓撲,可以使用 Network Connectivity Center

IPv6 流量未經過轉送

如果無法順利連線至 IPv6 主機,請按照下列步驟操作:

  1. 確認 IPv4 路徑是否正確宣傳。先檢查 IPv4 流量,可以排除一般網路問題。如果未宣傳 IPv4 路由,請執行本文列出的一般疑難排解程序。

  2. 檢查防火牆規則,確保允許虛擬私有雲網路和地端部署網路之間的 IPv6 流量。

  3. 判斷您是否已超過已知路徑的可用配額。如果超過已知路徑的配額,系統會先捨棄 IPv6 前置字元,再捨棄 IPv4 前置字元。請參閱「檢查配額和限制」。

  4. 確認所有需要 IPv6 設定的元件都已正確設定。

    • 虛擬私有雲子網路已設為使用 IPV4_IPV6 堆疊類型。

    • 虛擬私有雲子網路已設為 --ipv6-access-typeINTERNAL

    • 子網路上的 Compute Engine VM 已設定 IPv6 位址。

    • 高可用性 VPN 閘道或 Dedicated Interconnect 的 VLAN 連結已設定為使用 IPV4_IPV6 堆疊類型。

    • BGP 工作階段已啟用,可宣傳 IPv6 路由,且下一個躍點是 IPv6 位址。

Cloud Router 未傳回 ICMPv6 連線偵測 (ping) 回應

Cloud Router BGP 位址不支援 ICMPv6 ping。如要測試 Cloud Router BGP 位址的第 3 層連線,請使用 ICMPv4 ping

後續步驟