Direkt zum Inhalt

Wie behebe ich Probleme bei der BGP-Konnektivität in einem Transit-Gateway-Verbindungsanhang?

Lesedauer: 6 Minute
0

Meine Border Gateway Protocol (BGP)-Sitzungen werden nicht über meinen Verbindungsanhang von AWS Transit Gateway hergestellt.

Lösung

Die Anforderungen für die BGP-Sitzung überprüfen

Ergreife die folgenden Maßnahmen:

  • Vergewissere dich, dass die maximale Paketgröße (MTU) des Generic Routing Encapsulation (GRE)-Tunnels kleiner ist als die MTU der externen Schnittstelle. Subtrahiere den GRE-Header von 24 Byte und den Overhead des äußeren IP-Adress-Headers von 20 Byte von der MTU der externen Schnittstelle.
    Hinweis: Der GRE-Tunnel ist auch als Verbindungs-Peer des Transit-Gateways bekannt.
  • Stelle sicher, dass du den Verbindungs-Peer richtig konfiguriert hast und dass er zwischen deiner Appliance und dem Transit-Gateway betriebsbereit ist.
  • Prüfe, ob du unterstützte BGP-Typen, wie interner BGP (iBGP) und externer BGP (eBGP), für ein bestimmtes Routing-Verhalten verwendest.
  • Erstelle einen oder mehrere Verbindungs-Peers in einem Verbindungsanhang und richte aus Redundanzgründen zwei BGP-Sitzungen über jeden Verbindungs-Peer ein.
    Wichtig: Es hat sich bewährt, zwei BGP-Peering-Sitzungen zu konfigurieren. Ein Verbindungs-Peer mit einer einzigen BGP-Sitzung kann während der Wartung der AWS-Infrastruktur vorübergehend die Konnektivität verlieren.

Hinweis: Der Verbindungsanhang unterstützt keine Bidirectional Forwarding Detection (BFD) und keinen ordnungsgemäßen Neustart.

Weitere Informationen zu den Anforderungen für einen Verbindungsanhang findest du unter Anforderungen und Überlegungen.

Überprüfen, ob sich die AWS-Ressourcen im richtigen Zustand befinden

Zeige den Verbindungsanhang und die Verbindungs-Peers an, um sicherzustellen, dass sie sich im Status Verfügbar befinden.

Hinweis: Ein neuer Verbindungs-Peer verbleibt im Status „Ausstehend“, bis die Bereitstellung abgeschlossen ist.

Stelle außerdem sicher, dass in der Verbindungs-Peer-Konfiguration die Transit-Gateway-Adresse, die Peer-IP-Adresse und der interne CIDR-Block für das BGP angezeigt werden.

Die BGP-Adresse und die ASN-Konfiguration in AWS und auf der Appliance überprüfen

Wenn du die IP-Adresse oder die autonome Systemnummer (ASN) zwischen Peers nicht richtig konfigurierst, schlägt die BGP-Nachbarschaftsbildung fehl.

Hinweis: Verwende aus Redundanzgründen zwei BGP-Peering-Sitzungen für jeden Verbindungs-Peer. AWS erstellt standardmäßig zwei BGP-Peering-Sitzungen. Wenn du mehrere Verbindungs-Peers hast, konfiguriere beide BGP-Peering-Sitzungen.

Überprüfe zunächst den Verbindungs-Peer auf die folgenden Konfigurationen:

  • Stelle für InsideCIDR sicher, dass die BGP-Sitzungen den CIDR-Block /29 für Peer-IP-Adressen verwenden.
  • Prüfe für Peer ASN, ob du eine ASN angegeben hast oder ob AWS die Standard-ASN zugewiesen hat.
    Hinweis: Wenn du beim Erstellen des Verbindungs-Peers keine ASN angibst, verwendet AWS dieselbe Transit-Gateway-ASN und erstellt eine iBGP-Sitzung. Dies kann zu unerwartetem Routing-Verhalten führen.

Überprüfe dann die Appliance auf die folgenden Konfigurationen:

  • Stelle sicher, dass du die Tunnelschnittstelle mit der ersten IP-Adresse aus dem internen CIDR-Block konfiguriert hast. Wenn der interne CIDR-Blockbereich beispielsweise 169.254.6.0/29 ist, konfiguriere 169.254.6.1 im Appliance-Tunnel.

  • Stelle sicher, dass das Transit-Gateway die zweite IP-Adresse aus dem internen CIDR-Blockbereich verwendet.
    Beispielkonfiguration für Cisco IOS:

    interface Tunnel0
      ip address 169.254.6.1 255.255.255.248
      tunnel source GRE OUTER IP ADDDRESS
      tunnel destination TGW TUNNEL IP
    router bgp 65001
      neighbor 169.254.6.2 remote-as 64512
      neighbor 169.254.6.2 ebgp-multihop 2
      neighbor 169.254.6.2 timers 10 30

    Hinweis: Ersetze 169.254.6.1 und 169.254.6.2 durch die IP-Adressen aus dem internen CIDR-Block. ErsetzeTGW TUNNEL IP und GRE OUTER IP ADDRESS durch deine Werte. Konfiguriere für eBGP ebgp-multihop und setze den Time-to-Live (TTL)-Wert auf 2.

Problembehandlung bei BGP-Nachbarzuständen

Überprüfe die BGP-Zusammenfassung und die Nachbarinformationen auf der Appliance. Wenn auf der Appliance beispielsweise Cisco IOS ausgeführt wird, führe die folgenden Befehle aus.

Um eine Zusammenfassung des BGP-Sitzungsstatus bei allen Nachbarn anzuzeigen, führe den folgenden Befehl show ip bgp summary aus:

show ip bgp summary

Um Informationen über BGP- und TCP-Verbindungen zu Nachbarn anzuzeigen, führe den folgenden Befehl show ip bgp neighbors aus:

show ip bgp neighbors

Führe den folgenden Befehl debug ip bgp aus, um die BGP-Debugging-Protokollierung anzuzeigen:

debug ip bgp

Wenn sich der BGP-Nachbar im Status Idle (inaktiv), Aktiv oder Verbinden befindet, führe die folgenden Schritte aus:

  1. Führe den folgenden telnet-Befehl aus, um die Konnektivität mit der BGP-Peer-IP-Adresse zu testen, die auf dem Transit-Gateway konfiguriert ist:

    telnet TGW-BGP-PEER-IP 179

    Hinweis: Ersetze TGW-BGP-PEER-IP durch die BGP-Peer-IP-Adresse deines Transit-Gateways.

  2. Führe den Befehl tcpdump auf der Appliance aus, um GRE-Pakete und den BGP-Datenverkehr zu überwachen, z. B. den TCP-Port 179.

  3. Stelle sicher, dass GRE-gekapselte Pakete und TCP SYN/ACK für Port 179 angezeigt werden.

  4. Wenn die Appliance andere oder kürzere BGP-Timer verwendet, empfiehlt es sich, die Appliance so zu konfigurieren, dass sie den Standardeinstellungen des Transit-Gateways entspricht. Stelle keepalive auf 10 Sekunden und hold time auf 30 Sekunden ein.

Die Zuordnungen und Propagierung von Routing-Tabellen überprüfen

Gehe wie folgt vor:

  1. Öffne die Amazon-VPC-Konsole.
  2. Wähle im Navigationsbereich Transit-Gateway-Anhänge aus und wähle dann deine Anhangs-ID aus.
  3. Wähle auf der Registerkarte Details die Routing-Tabellen-ID aus und überprüfe dann, ob du den Anhang mit der richtigen Routing-Tabelle verknüpft hast.
  4. Wähle für dieselbe Routing-Tabelle die Registerkarte Propagierungen.
  5. Stelle sicher, dass du die Propagierung aktiviert hast, damit die Routing-Tabelle die Propagierung aus dem Verbindungs-Anhang akzeptieren kann.

Wenn Routen in der Routing-Tabelle des Transit-Gateways und nicht in der Routing-Tabelle des verbundenen Anhangs erscheinen, überprüfe die Routing-Tabellenzuordnungen und Propagierungseinstellungen.

Wenn die erwarteten Routen nicht angezeigt werden, ergreife die folgenden Maßnahmen:

  • Prüfe, ob die Appliance BGP-Ankündigungen sendet. Suche auch nach Exportfiltern oder Routenkarten, die Ankündigungen blockieren könnten.
  • Bei iBGP-Verbindungen installiert das Transit-Gateway nur Routen, wenn sie von einem eBGP-Peer stammen. Stelle sicher, dass die Routen, die die Appliance über iBGP-Verbindungen ankündigt, eine ASN haben, oder verwende stattdessen eBGP.

Das Standardkontingent für dynamische Routen, die du dem Verbindungs-Peer non der Appliance ankündigen kannst, beträgt 1000. Du kannst das Kontingent anpassen. Es hat sich jedoch bewährt, die Anzahl der dynamischen Routen auf 1000 zu begrenzen, um eine BGP-Instabilität zu verhindern.

MTU- und Fragmentierungsprobleme überprüfen

Die GRE-Kapselung erhöht die Paketgröße und führt zu fragmentierten Paketen. Wenn Pakete fragmentiert werden, können BGP-Sitzungen nicht eingerichtet werden.

Gehe wie folgt vor, um dieses Problem zu beheben:

  • Stelle sicher, dass du die GRE-MTU auf der Appliance richtig eingestellt hast. Um die GRE-MTU zu berechnen, subtrahiere 24 Byte GRE-Header und 20 Byte IP-Adress-Header (insgesamt 44 Byte) von der externen MTU. Wenn die externe MTU beispielsweise 1500 ist, setze die MTU auf 1456.

  • Um nach MTU-Pfadproblemen zu suchen, führe den folgenden ping-Befehl auf der Appliance mit unterschiedlichen Paketgrößen aus und beziehe das „don't fragment“-Flag -M ein:

    ping -M do -s 1400 TRANSIT_GATEWAY_BGP_PEER_IP

    Hinweis: Ersetze 1400 durch andere Werte, um die maximale MTU-Größe zu ermitteln, die ohne Fragmentierung funktioniert. Ersetze TRANSIT_GATEWAY_BGP_PEER_IP durch die BGP-Peer-IP-Adresse aus dem internen CIDR-Blockbereich. Wenn du zwei BGP-Sitzungen konfiguriert hast, führe den ping-Befehl für beide BGP-Peer-IP-Adressen aus.

  • Führe tcpdump oder Wireshark auf der GRE-Schnittstelle aus, um nach fragmentierten Paketen zu suchen. Suche nach IP-Adress-Flags, die weitere Fragmente anzeigen, und suche nach TCP-Neuübertragungen.

Wenn du MTU-Probleme feststellst, senke die GRE-Tunnel-MTU auf der Appliance. Aktiviere außerdem das Maximum Segment Size (MSS)-Clamping auf der Appliance, damit große Pakete den Pfad nicht überlasten.

Ähnliche Informationen

Verbindungs-Anhänge und Verbindungs-Peers in AWS Transit Gateway

Transit-Gateway-Routing-Tabellen in AWS Transit Gateway

Kontingente für AWS Transit Gateway

AWS OFFICIALAktualisiert vor 7 Monaten