Fehlerbehebung: BGP-Routen und Routenauswahl

Dieser Leitfaden behandelt die Behebung von Problemen im Zusammenhang mit BGP-Routen, einschließlich Routenauswahl, Routenverteilung und Routenprioritäten.

Weitere Informationen zur Fehlerbehebung finden Sie hier:

IPv6-BGP-Sitzung wurde eingerichtet, tauscht aber keine IPv4-Routen aus

  1. Prüfen Sie, ob der VLAN-Anhang oder das HA VPN-Gateway den erforderlichen Stack-Typ IPV4_IPV6 hat. Wenn der Stack-Typ für den VLAN-Anhang falsch ist, ändern Sie den VLAN-Anhang. Erstellen Sie für ein HA VPN-Gateway das HA VPN-Gateway und seine Tunnel neu.

  2. Prüfen Sie, ob Ihr Cloud Router ordnungsgemäß konfiguriert ist. Führen Sie folgenden Befehl aus:

    gcloud compute routers describe ROUTER-NAME
    

    Prüfen Sie in der Ausgabe die folgenden Werte:

    • bgpPeers.enableIpv4 ist true
    • bgpPeers.ipv4NexthopAddress und bgpPeers.peerIpv4NexthopAddress sind vorhanden

Einige lokale IPv4- oder IPv6-Präfixe sind nicht verfügbar

Wenn einige lokale IPv4- oder IPv6-Präfixe nicht verfügbar sind, prüfen Sie Kontingente und Limits oder sich überschneidende Subnetzbereiche.

Benutzerdefinierte erkannte Routen sind inaktiv

Wenn Sie eine benutzerdefinierte erkannte Route konfiguriert haben, aber Trafficverlust, Ping-Fehler oder andere Probleme im Zusammenhang mit der Route auftreten, gehen Sie so vor:

  • Prüfen Sie, ob die Route in der BGP-Sitzung ordnungsgemäß konfiguriert ist.
  • Prüfen Sie, ob die BGP-Sitzung aktiv ist.
  • Prüfen Sie, ob Routen unterbrochen wurden.
  • Kontingente und Limits prüfen.
  • Prüfen Sie, ob sich die Subnetzbereiche überschneiden.

Weitere Informationen finden Sie unter Status von benutzerdefinierten erkannten Routen prüfen.

Auf verlorene Routen prüfen

Führen Sie folgenden Befehl aus, um festzustellen, ob eine Route gelöscht wurde:

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

Ersetzen Sie Folgendes:

  • ROUTER_NAME: Der Name Ihres Cloud Routers.
  • REGION: die Region, in der sich Ihr Cloud Router befindet.

Die Ausgabe sieht in etwa so aus:

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

Der Wert bestRoutesForRouter.routeStatus zeigt ACTIVE für eine aktive Route und DROPPED für eine verworfene Route an.

Kontingente und Limits prüfen

Stellen Sie sicher, dass Ihre Cloud Router die Limits für erkannte Routen nicht überschritten haben. Wenn Sie die Anzahl der erkannten Routen für einen Cloud Router ansehen möchten, rufen Sie dessen Status auf.

Informationen zu den Limits, zugehörigen Logeinträgen und Messwerten sowie zum Beheben von Problemen finden Sie in der folgenden Tabelle.

Limits Hinweise
Informationen zu Limits

Für erkannte Routen gibt es zwei Beschränkungen. Diese Limits definieren nicht die maximale Anzahl erkannter Routen. Sie definieren stattdessen die maximale Anzahl eindeutiger Zielpräfixe:

  • Die maximale Anzahl eindeutiger Ziele für erkannte Routen, die von allen Cloud Routern in derselben Region auf Subnetze in einer Region angewendet werden können
  • Die maximale Anzahl eindeutiger Ziele für erkannte Routen, die von Cloud Routern aus verschiedenen Regionen auf Subnetze in einer Region angewendet werden können

Das erste Limit ist unabhängig vom Modus für dynamisches Routing relevant, den das VPC-Netzwerk verwendet. Das zweite Limit ist nur sinnvoll, wenn das VPC-Netzwerk den Modus für globales dynamisches Routing verwendet. Weitere Informationen zu Cloud Router-Limits finden Sie unter Limits.

Erkannte Routen Die maximale Anzahl eindeutiger Ziele für erkannte Routen, die von allen Cloud Routern in derselben Region auf Subnetze in einer Region angewendet werden können.
Logs Wenn Sie eines dieser Limits erreichen, wird in Cloud Logging die Meldung limit-exceeded angezeigt. Informationen zum Erstellen einer erweiterten Abfrage zum Aufrufen dieser Nachricht finden Sie in der zugehörigen Anfrage in der Logging-Dokumentation für Cloud Router.
Messwerte

Anhand der folgenden Messwerte können Sie sich außerdem über Ihre aktuellen Limits und die Nutzung informieren. Diese Messwerte werden mit dem Präfix router.googleapis.com/dynamic_routes/learned_routes/ vorangestellt:

  • used_unique_destinations

    Anzahl der eindeutigen Ziele, die in diesem VPC-Netzwerk verwendet werden. Wenn globales dynamisches Routing aktiviert ist, zeigt dieser Messwert sowohl die globale als auch die regionale Nutzung an.

  • unique_destinations_limit

    Anzahl der eindeutigen Ziele, die in diesem VPC-Netzwerk beworben werden können. Wenn globales dynamisches Routing aktiviert ist, zeigt dieser Messwert sowohl globale als auch regionale Limits an.

  • any_dropped_unique_destinations

    Gibt an, ob für dieses VPC-Netzwerk Ziele entfernt wurden, da ein oder beide Limits für Routenkontingente überschritten wurden.

Diese Messwerte sind über die überwachte Ressource gce_network_region verfügbar. Weitere Informationen zu Cloud Router-Messwerten und deren Anzeige finden Sie im Abschnitt Messwerte unter „Logs und Messwerte“ ansehen.

Fehlerbehebung

Sie können Folgendes unternehmen, um Probleme mit dem Routenlimit zu beheben. In Fällen, in denen die Anzahl der Routen die Limits stark überschreitet, sollten Sie so vorgehen:

  • Konfigurieren Sie Ihre lokalen Router so, dass die von Ihnen exportierten Routen zusammengefasst werden, sodass diese Routen weniger Ziele (CIDRs) anbieten.
  • Wenden Sie sich an den Support. Der Support kann Sie dabei unterstützen, Ihre Cloud Router bei Bedarf zurückzusetzen oder die Limits zu erhöhen.

Überlappende Subnetzbereiche prüfen

Achten Sie darauf, dass sich die IPv4- und IPv6-Adressbereiche für ein VPC-Subnetz nicht vollständig mit den beworbenen Routen aus Ihrem lokalen Netzwerk überschneiden. Sich überschneidende IPv4- und IPv6-Bereiche können dazu führen, dass Routen gelöscht werden. Dies gilt auch für benutzerdefinierte statische Routen, die sich mit einer vom Cloud Router erkannten dynamischen Route überschneiden. Von Cloud Routern empfangene Präfixe werden in den folgenden Szenarien ignoriert (benutzerdefinierte dynamische Routen werden nicht erstellt):

  • Wenn das erkannte Präfix genau mit einem primären oder sekundären IPv4- oder IPv6-Adressbereich eines Subnetzes in Ihrem VPC-Netzwerk übereinstimmt.

  • Wenn das erkannte Präfix genau mit dem Ziel einer benutzerdefinierten statischen Route in Ihrem VPC-Netzwerk übereinstimmt.

  • Wenn das erkannte Präfix spezifischer ist (eine längere Subnetzmaske hat) als der primäre oder sekundäre IPv4- oder IPv6-Adressbereich eines Subnetzes in Ihrem VPC-Netzwerk.

  • Wenn das erkannte Präfix spezifischer ist (eine längere Subnetzmaske hat) als das Ziel einer benutzerdefinierten statischen Route in Ihrem VPC-Netzwerk.

Weitere Informationen finden Sie unter Anwendbarkeit und Reihenfolge der Routen in der Übersicht über VPC-Routen.

Routen, die aus einem lokalen Netzwerk ermittelt wurden, werden nicht auf andere VPC-Netzwerke übertragen.

Ein einzelner Cloud-Router kann Routen, die von einem BGP-Peer erkannt wurden, anderen BGP-Peers nicht noch einmal anbieten, auch nicht Cloud Routern in anderen VPC-Netzwerken.

In der folgenden Hub-and-Spoke-Topologie unterstützt Cloud Router beispielsweise kein Route Advertisement zwischen mehreren VPC-Netzwerken.

Grafik: Hub und Spoke mit Cloud Router
Hub-and-Spoke mit Cloud Router (zum Vergrößern klicken)

Empfehlungen zu Netzwerktopologien in Google Cloud finden Sie unter Best Practices und Referenzarchitekturen für das VPC-Design.

Zum Erstellen und Verwalten von Hub-and-Spoke-Topologien in Google Cloud können Sie das Network Connectivity Center verwenden.

Präfixe werden nicht in BGP-Sitzungen importiert (ASN-Pfadvoranstellung)

Das Voranstellen eines AS-Pfads ist für die Steuerungsebene und das VPC-Netzwerk irrelevant. Die Länge des AS-Pfads wird nur innerhalb der einzelnen Cloud Router-Softwareaufgaben berücksichtigt, wie in den folgenden Szenarien beschrieben.

Folgendes geschieht, wenn eine einzelne Cloud Router-Softwareaufgabe dasselbe Ziel aus zwei oder mehr BGP-Sitzungen erkennt:

  • Die Softwareaufgabe wählt die BGP-Sitzung für den nächsten Hop mit der kürzesten AS-Pfadlänge aus.
  • Die Softwareaufgabe sendet Informationen zum Ziel, zum nächsten Hop und zum MED-Wert an die Steuerungsebene des Cloud Routers.
  • Die Steuerungsebene verwendet die Informationen zum Erstellen einer oder mehrerer Kandidatenrouten. Die Basispriorität jedes Kandidaten wird auf den erhaltenen MED-Wert eingestellt.

Folgendes geschieht, wenn zwei oder mehr Cloud Router-Softwareaufgaben dasselbe Ziel aus zwei oder mehr BGP-Sitzungen erkennen:

  • Jede Softwareaufgabe wählt die BGP-Sitzung für den nächsten Hop mit der kürzesten AS-Pfadlänge aus.
  • Jede Softwareaufgabe sendet Informationen zum Ziel, zum nächsten Hop und zum MED-Wert an die Steuerungsebene des Cloud Routers.
  • Die Steuerungsebene verwendet die Informationen zum Erstellen von zwei oder mehr Kandidatenrouten. Die Basispriorität jedes Kandidaten wird auf den erhaltenen MED-Wert eingestellt.

Die Cloud Router-Steuerungsebene installiert dann eine oder mehrere dynamische Routen im VPC-Netzwerk, wobei dies entsprechend dem Modus für dynamisches Routing des VPC-Netzwerks erfolgt. Im Modus für globales dynamisches Routing wird die Priorität jeder regionalen dynamischen Route in anderen Regionen als der Cloud Router-Region angepasst. Ausführliche Informationen zum Auswählen einer Route durch Google Cloud finden Sie unter Routingreihenfolge in der VPC-Dokumentation.

Auf einer Multi-NIC-VM erhält jede NIC unterschiedliche Routen

Dies ist das erwartete Verhalten. Sie müssen jeden Netzwerkschnittstellen-Controller (NIC) für eine VM mit mehreren NICs in einem eindeutigen VPC-Netzwerk konfigurieren. Jede Cloud Router-Instanz erstellt benutzerdefinierte dynamische Routen in einem VPC-Netzwerk. Daher gelten die von einem Cloud Router erkannten Routen nur für eine Netzwerkschnittstelle einer VM mit mehreren NICs. Von der Netzwerkschnittstelle einer VM gesendete Pakete verwenden nur die Routen, die für das VPC-Netzwerk dieser Schnittstelle gelten.

Traffic wird asymmetrisch geroutet

Der Traffic wird asymmetrisch geroutet, wenn der eingehende und der ausgehende Traffic unterschiedliche Pfade benutzen. Beispiel: Sie haben zwei Cloud VPN-Tunnel. Für den ausgehenden Traffic von Ihrem VPC-Netzwerk wird möglicherweise der erste Tunnel und für den eingehenden Traffic der zweite Tunnel verwendet.

Asymmetrisches Routing tritt auf, wenn der von Ihrem lokalen Router und dem Cloud-Router beworbene bevorzugte Pfad nicht übereinstimmt. Verwenden Sie für eingehenden Traffic zu Ihrem VPC-Netzwerk den Cloud Router zum Konfigurieren von Routenprioritäten für das Advertising. Weitere Informationen finden Sie unter Erkannte Routen.

Prüfen Sie in der Dokumentation Ihres Geräts, wie Sie den besten BGP-Pfad auswählen, da andere Attribute (wie Router-ID oder Herkunfts-ASN) diesen beeinflussen können. Sehen Sie sich beispielsweise die folgenden Ressourcen an:

Prüfen Sie für ausgehenden Traffic aus Ihrem VPC-Netzwerk den MED-Wert Ihres lokalen Routers.

Standardroute (0.0.0.0/0 oder ::/0) sendet Traffic an das Internetgateway

Wenn Sie ein VPC-Netzwerk erstellen, erstellt Google Cloud automatisch eine Standardroute mit der Priorität 1000, deren nächster Hop das Standard-Internetgateway ist.

Routen mit dem Standard-Internetgateway als nächsten Hop können nur von VMs verwendet werden, die die Anforderungen für den Internetzugriff erfüllen.

Für den Zugriff auf Google APIs und -Dienste ist es außerdem erforderlich, Routen mit dem Standard-Internet-Gateway als nächsten Hop zu verwenden, z. .B. bei Verwendung des privaten Google-Zugriffs.

In den folgenden Beispielen werden Fälle beschrieben, in denen der Traffic zum Internet oder zu Google APIs und -Diensten möglicherweise blockiert wird:

  • Wenn Sie die automatisch erstellte Standardroute löschen (die Route mit dem Standard-Internetgateway als nächsten Hop)

  • Wenn Sie die automatisch erstellte Standardroute ersetzen und der nächste Hop der Ersatzroute sich vom Standard-Internetgateway unterscheidet

  • Wenn ein Cloud Router eine Route mit dem Ziel 0.0.0.0/0 oder ::/0 erkennt, die eine höhere Priorität als die automatisch erstellte Standardroute hat.

Der nächste Hop ist nicht klar

Informationen zur Funktionsweise des Routenauswahlalgorithmus von Google Cloud finden Sie in der Dokumentation zu VPC-Routen unter Anwendbarkeit und Reihenfolge.

IPv6-Traffic wird nicht weitergeleitet

Wenn Sie Probleme beim Herstellen einer Verbindung zu IPv6-Hosts haben, gehen Sie so vor:

  1. Prüfen Sie, ob IPv4-Routen ordnungsgemäß beworben werden. Wenn Sie zuerst IPv4-Traffic prüfen, können Sie allgemeine Netzwerkprobleme ausschließen. Wenn keine IPv4-Routen beworben werden, führen Sie die in diesem Dokument aufgeführten allgemeinen Verfahren zur Fehlerbehebung aus.

  2. Prüfen Sie die Firewallregeln, um sicherzustellen, dass Sie IPv6-Traffic zwischen Ihrem VPC-Netzwerk und Ihrem lokalen Netzwerk zulassen.

  3. Achten Sie darauf, dass sich in Ihrem VPC-Netzwerk und im lokalen Netzwerk keine überlappenden IPv6-Subnetzbereiche befinden. Siehe Überlappende Subnetzbereiche prüfen.

  4. Prüfen Sie, ob Sie Kontingente und Limits für Ihre erkannten Routen überschritten haben. Wenn Sie Ihr Kontingent für erkannte Routen überschritten haben, werden IPv6-Präfixe vor IPv4-Präfixen gelöscht. Siehe Kontingente und Limits prüfen.

  5. Prüfen Sie, ob alle Komponenten, die eine IPv6-Konfiguration erfordern, korrekt konfiguriert wurden.

    • Das VPC-Subnetz ist für die Verwendung des Stack-Typs IPV4_IPV6 konfiguriert.

    • Im VPC-Subnetz ist --ipv6-access-type auf INTERNAL festgelegt.

    • Die Compute Engine-VMs im Subnetz sind mit IPv6-Adressen konfiguriert.

    • Das HA VPN-Gateway oder der VLAN-Anhang für Dedicated Interconnect ist für die Verwendung des Stack-Typs IPV4_IPV6 konfiguriert.

    • Der BGP-Peer ist für die Verwendung von IPv6 aktiviert und die richtigen IPv6-Adressen des nächsten Hops sind für die BGP-Sitzung konfiguriert.

Nächste Schritte