Tunnel steht, Route weg: zwei VPN-Ausfälle auseinanderhalten
Ein Präfix kann in drei verschiedenen Stufen empfangen, ausgewählt und installiert werden. Lesen Sie zuerst die Weiterleitungstabelle, dann die Protokolltabelle, dann die Uhren.
Ein Host wird unerreichbar, während die Tunnel-Schnittstelle sich weiterhin als aufgebaut meldet, und die beiden Beobachtungen widersprechen sich nicht. Etwas hat den Pfad entfernt, den der Datenverkehr nutzte: Ein Nachbar zog sein Präfix zurück, eine überwachte statische Route wurde entfernt, oder eine andere Route wurde bevorzugt. Die Security Association kann in allen drei Fällen völlig intakt bleiben. Die Ereignisse zu trennen heißt zu fragen, welche Schicht sich zuerst geändert hat, statt ob das VPN ausgefallen ist.
Drei Stufen, die wie ein Ereignis aussehen
Eine Routingentscheidung hat drei Stufen. Das Präfix wird empfangen, als bestes ausgewählt und in die Weiterleitungstabelle eingetragen. Jede Stufe kann für sich ausfallen, und der Ausfall sieht von der Anwendungsseite gleich aus. Ein Präfix, das gelernt, aber bei der Auswahl unterlegen ist, lässt sich nicht von einem unterscheiden, das nie ankam, wenn der einzige Beweis, den man betrachtet, die Weiterleitungstabelle ist.
Deshalb lautet die erste Frage, welche Stufe gebrochen ist, nicht welches Protokoll schuld ist. Die Antwort entscheidet, wem der Vorfall gehört und welches Werkzeug die nächste Prüfung verwendet.
Zuerst die installierte Route lesen
Fragen Sie den Kernel, wohin der Datenverkehr zum gestörten Ziel tatsächlich geht. ip route get gibt den nächsten Hop, die Schnittstelle und die Quelladresse aus, die der Kernel verwenden würde, und antwortet für ein Ziel statt für die ganze Tabelle. Wenn die Antwort den Tunnel nennt, glaubt die Weiterleitungstabelle weiterhin, dass der Pfad existiert, und das Problem liegt darüber.
ip route get 10.20.5.10
ip route show 10.20.0.0/16
Eine Antwort »unreachable« bedeutet, dass überhaupt keine Route installiert ist, was auf einen Rückzug oder eine fehlende Installation hindeutet. Eine Antwort, die eine physische Schnittstelle nennt, bedeutet, dass der Datenverkehr den Tunnel verließ, ohne dass jemand das entschieden hat, und die nächste Prüfung ist die Präferenz, die gewonnen hat. Eine Antwort, die den Tunnel nennt, während Pakete weiterhin verschwinden, deutet weiter unten im Pfad auf Filterung oder auf die Gegenseite hin.
Dann der Blick des Protokolls selbst
Ein Routing-Daemon führt mehr als eine Tabelle, und der interessante Vergleich ist der zwischen ihnen. Bei BGP sind der Zustand der Nachbarsitzung, die empfangene Ankündigung und die installierte Route drei getrennte Beweise. Ein Präfix kann in der empfangenen Tabelle stehen und den Kernel nie erreichen, weil eine Route mit kürzerer administrativer Distanz gewinnt. Prüfen Sie alle drei, bevor Sie schließen, dass die andere Seite aufgehört hat zu annoncieren.
vtysh -c "show bgp summary"
vtysh -c "show bgp ipv4 unicast 10.20.0.0/16"
Die Übersicht sagt Ihnen, ob die Sitzung aufgebaut ist, die Ansicht pro Präfix sagt, ob das Präfix akzeptiert wurde, und die Kernelsuche sagt, ob es installiert wurde. Sie in dieser Reihenfolge zu lesen verhindert, dass ein Flackern der Sitzung mit einem Rückzug verwechselt wird und ein Rückzug mit einer Ablehnung durch die Richtlinie.
Wenn die Uhren nicht übereinstimmen
Legen Sie das Tunnel-Protokoll, das Routing-Protokoll und den ersten Anwendungsfehler mit ihren echten Zeitzonen auf eine Zeitachse. Wenn der Nachbarverlust zuerst kommt, hat der Tunnel die Route mitgerissen. Wenn der Rückzug zuerst kommt, änderte sich das Routing, und der Tunnel reagierte danach. Das sind verschiedene Vorfälle mit verschiedenen Eigentümern, und die Reihenfolge ist der ganze Befund.
Eine Minute Uhrenversatz genügt, um diese Schlussfolgerung umzukehren, also bestätigen Sie die Zeitzone und den Versatz, bevor Sie der Reihenfolge trauen. Geräte, die in Ortszeit ohne Versatz protokollieren, sind die übliche Quelle einer selbstsicheren, aber falschen Zeitachse.
Wiederherstellung ohne Schleife
Nach einem Rückzug können zwei Pfade in Frage kommen: der, den das Protokoll auswählt, und der, den Sie von Hand festnageln. Nur der erste ist eine Entscheidung, die das Netzwerk weiterhin für Sie trifft, weshalb eine manuelle Route ein Provisorium und kein Wiederherstellungsplan ist. Eine alternative Ankündigung bewahrt auch keinen Firewall- oder NAT-Zustand für eine bereits aufgebaute Sitzung, sodass neue Flows funktionieren können, während der ursprüngliche kaputt bleibt. Bestätigen Sie, welches Backup aktiv werden soll und ob die Gegenseite einen Rückweg darüber akzeptiert.
Installieren Sie keine dauerhafte statische Überschreibung, bevor Sie verstanden haben, warum der Rückzug geschah. Diese Abkürzung kann Datenverkehr an einen gescheiterten Pfad binden oder eine bewusste Routing-Richtlinie stillschweigend umgehen und begräbt die ursprüngliche Ursache unter einer neuen Konfiguration. Testen Sie die Anwendung erneut, sobald die Route wiederhergestellt ist, und bestätigen Sie, dass das gewählte Präfix einen funktionierenden Datenpfad hat und nicht nur einen Eintrag in einer Tabelle.