sakkmesterke - stock.adobe.com
Border Gateway Protocol (BGB): einfaches Troubleshooting
Beim BGP-Troubleshooting kann ein strukturierter Ansatz schnell von der Problemdiagnose zur Lösung führen. Unser Szenario mit einem einzigen BGP-Router zeigt, worauf es ankommt.
Das Border Gateway Protocol (BGP) ist ohne Zweifel das komplexeste IP-Routing-Protokoll, das derzeit im Internet eingesetzt wird.
Seine Komplexität ist in erster Linie darauf zurückzuführen, dass der Fokus auf Sicherheit und Routing-Richtlinien liegt – BGP wird genutzt, um kooperative Informationen (Internetrouten) zwischen ansonsten konkurrierenden Unternehmen (Service-Providern) auszutauschen.
Das Protokoll muss in der Lage sein, alle Aspekte, die in Interprovider-Peering-Vereinbarungen festgelegt worden sind, zu implementieren. (Diese Vereinbarungen haben oft wenig mit technisch optimalen Lösungen zu tun.)
Doch ein strukturierter Ansatz für das BGP-Troubleshooting kann schnell von der anfänglichen Problemdiagnose zur Lösung führen.
In diesem Artikel konzentrieren wir uns auf ein einfaches Szenario mit einem einzigen BGP-fähigen Router in Ihrem Netzwerk (Abbildung 1). Ähnliche Designs werden oft von Multihomed-Kunden und kleinen Internet-Service-Providern (ISPs) genutzt, die ihren Kunden keine BGP-Konnektivität bieten.
Handelt es sich um ein BGP-Problem?
Bevor es mit dem BGP-Troubleshooting losgeht, müssen Sie zunächst die Quelle des Konnektivitätsproblems ermitteln, das Sie beheben wollen. Üblicherweise vermuten Sie, dass BGP beteiligt sein könnte, wenn einer Ihrer Kunden von eingeschränkter oder fehlender Internetkonnektivität außerhalb Ihres Netzwerks berichtet.
Führen Sie von einem der Arbeitsplatzrechner aus eine Überprüfung per Traceroute für das problematische LAN durch. Wenn die gesendeten Datenpakete den ersten BGP-fähigen Router erreichen (oder besser noch, wenn sie über den Edge Ihres Netzwerks hinaus gelangen), haben Sie es wahrscheinlich mit einem BGP-Problem zu tun.
Andernfalls prüfen Sie, ob der BGP-fähige Router eine Standardroute in Ihr Netzwerk bekanntgibt (ohne eine Standardroute können andere Router in Ihrem Netzwerk die Internetziele nicht erreichen).
Sofern kein mit dem LAN verbundener Rechner zur Verfügung steht, können Sie den Traceroute vom Customer Premise Router aus durchführen, müssen aber sicherstellen, dass die Quell-IP-Adresse, die für die Traceroute-Pakete verwendet wird, der LAN-Adresse des Routers entspricht.
Troubleshooting von benachbarten BGP-Geräten
BGP muss eine TCP-Sitzung zwischen benachbarten BGP-Routern aufbauen, bevor sie Routen austauschen können. Der erste Check gilt daher dem Status der BGP-Sitzungen zwischen den Routern.
Die BGP-Nachbarn werden manuell konfiguriert, und die zwei wahrscheinlichsten Konfigurationsfehler sind:
- Nicht übereinstimmende benachbarte IP-Adressen: Die auf einem BGP-Nachbarn konfigurierte Ziel-IP-Adresse muss mit der auf dem anderen Router konfigurierten Quell-IP-Adresse (oder mit der IP-Adresse der direkt verbundenen Schnittstelle) übereinstimmen.
- Fehlende Übereinstimmung der AS-Nummer: Die benachbarte AS-Nummer, die auf einer Seite der BGP-Sitzung konfiguriert ist, muss mit der aktuellen BGP-AS-Nummer, die vom Nachbarn genutzt wird, übereinstimmen.
Eventuell liegt auch ein Problem mit Paketfiltern auf dem BGP-fähigen Router vor. Diese Filter müssen Pakete zu und von TCP-Port 179 akzeptieren.
Troubleshooting der BGP-Routenpropagierung
Wenn Ihre Nutzer Traffic aus dem Internet empfangen sollen, muss das Ihrem Netzwerk zugeordnete IP-Präfix im gesamten Internet sichtbar sein. Zu diesem Zweck sind drei Schritte notwendig:
- Ihr BGP-Router muss Ihr IP-Präfix in seine BGP-Tabelle einfügen.
- Das IP-Präfix muss seinen BGP-Nachbarn bekannt gegeben werden.
- Das IP-Präfix muss im gesamten Internet propagiert werden.
Ist die Route in BGP hinzugefügt?
Die meisten Routing-Protokolle fügen direkt verbundene IP-Subnetze ihren Routing-Tabellen oder -Datenbanken automatisch hinzu. Aufgrund von Sicherheitsanforderungen bildet BGP eine Ausnahme. Es erzeugt nur dann ein IP-Präfix, wenn dies manuell so eingerichtet wurde (zum Beispiel nutzen Cisco-Router das Netzwerk-Statement, um bekannt gegebene IP-Präfixe zu konfigurieren). Eine weitere Option ist Route Redistribution, von der bei einer Internetumgebung strikt abzuraten ist.
Um zu vermeiden, nicht routbaren Traffic anzuziehen, macht BGP darüber hinaus ein konfiguriertes IP-Präfix nur bekannt, wenn eine passende Route in der IP-Routing-Tabelle vorhanden ist. Sie könnten die passende IP-Route durch Route Summarization generieren, doch es empfiehlt sich im Allgemeinen, eine statische Route zu verwenden, die auf ein Null-Interface (oder dessen Äquivalent) zeigt.
Um zu überprüfen, ob Ihr IP-Präfix in Ihrer BGP-Routing-Tabelle enthalten ist, nutzen Sie einen Show-Befehl von BGP (zum Beispiel show ip bgp prefix mask für einen Cisco-Router).
Wird die Route den Nachbarn bekannt gegeben?
Standardmäßig werden alle in der BGP-Tabelle enthaltenen IP-Präfixe allen BGP-Nachbarn bekannt gemacht. Aufgrund der Anforderungen bezüglich Sicherheit und Routing-Richtlinien wird das Standardverhalten normalerweise mit mehreren Ausgangs- und Eingangsfiltern modifiziert. Wenn Sie Ausgangsfilter für Ihre BGP-Nachbarn angewendet haben, müssen Sie prüfen, ob diese Filter es erlauben, dass Ihr IP-Präfix zu den externen BGP-Nachbarn propagiert wird. Der Befehl zur Anzeige von Routen, die einem BGP-Nachbarn bekannt gegeben wurden, lautet bei einem Cisco-Router: show ip bgp neighbor ip-address advertised.
Ist die Route überall im Internet sichtbar?
Selbst wenn Sie Ihr IP-Präfix Ihren BGP-Nachbarn erfolgreich bekannt gegeben haben, wird es möglicherweise trotzdem nicht im Internet propagiert. Es ist schwierig, genau herauszufinden, was außerhalb der Grenzen Ihres Netzwerks propagiert wird. Die Tools, die Sie dabei unterstützen können, nennen sich BGP Looking Glasses. Mit diesen Tools können Sie BGP-Tabellen an verschiedenen Punkten im Internet unter die Lupe nehmen und kontrollieren, ob Ihr IP-Präfix bis zu diesen Zielen gelangt ist.
Es gibt einige Faktoren, die dazu führen können, dass Ihr IP-Präfix irgendwo im Internet blockiert wird. Der bekannteste darunter wird als BGP Route Flap Dampening bezeichnet: Kommt es innerhalb kurzer Zeit zu oft zu einem IP-Präfix-Flapping (das heißt, das Präfix verschwindet und taucht wieder auf) – etwa wenn Sie Ihre BGP-Sitzungen trennen oder Ihre BGP-Konfiguration ändern –, wird das Präfix für einen längeren Zeitraum (standardmäßig bis zu einer Stunde) blockiert.
Bei einem IP-Präfix-Dampening können Sie nichts weiter tun, als abzuwarten. Vielleicht enthalten die IP Routing Registries auch einen ungültigen (oder fehlenden) Eintrag, oder einer der Upstream-ISPs verwendet Eingangsfilter. In allen genannten Fällen ist es am besten, wenn Ihr Upstream-ISP Ihnen bei der Lösung des Problems behilflich sein kann – das an dieser Stelle über technisches BGP-Troubleshooting hinausgeht.
Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!