BGP-Routen und RPKI-Gültigkeit prüfen
Eine BGP-Routenprüfung beantwortet eine Frage, die eine Serverprüfung nicht beantworten kann: nicht „Läuft die Maschine?“, sondern „Transportiert das Internet den Datenverkehr zu diesem Präfix tatsächlich — und vom richtigen Ursprung?“. Sie liest die Announcements, die andere Netze sehen — das Ursprungs-AS, die AS-Pfade, wie viele Routensammler das Präfix überhaupt sehen — und prüft sie gegen RPKI, das signierte Register darüber, wer was originieren darf. Dieser Leitfaden geht durch, was jedes Signal bedeutet, wo es in die Irre führt, und gibt eine Fünf-Schritte-Routine mit dem BGP-Lookup auf dieser Seite.
Zuletzt aktualisiert:
Wenn Routen schiefgehen
Das Szenario kennt jeder, der einen öffentlichen Dienst betrieben hat: Die Seite lädt bei Ihnen, der Server ist gesund, das Zertifikat ist gültig — und Kunden in einem anderen Land bekommen nichts. Das Monitoring aus dem eigenen Büro sagt: alles in Ordnung. Deren Verkehr kommt nie an, weil Erreichbarkeit keine Eigenschaft Ihres Servers ist. Sie ist eine Eigenschaft der Announcements, die Ihr Präfix durch die Netze anderer Leute tragen, und diese Announcements können sich ändern, gefiltert oder widersprochen werden, ohne dass sich an Ihrer Maschine irgendetwas ändert. „Die Seite ist down“ ist manchmal eine Routing-Tatsache im Serverkostüm.
Routenfehler haben drei Formen, die es sich zu unterscheiden lohnt. Ein Hijack: Ein anderes autonomes System kündigt Ihr Präfix an — oder ein spezifischeres Stück davon — und zieht Verkehr an, der nie seiner war. Ein Route Leak: Ein Netz propagiert Routen, die es erhalten hat, an Peers oder Provider, an die es sie nicht hätte senden dürfen, sodass der Verkehr absurde Umwege nimmt oder in ein Netz fällt, das ihn nicht ausliefern kann. Und der stille Fall: ein Announcement, das zurückgezogen oder durch eine Konfigurationsänderung, einen Peering-Streit oder einen RPKI-Drop weggefiltert wird, sodass ein Teil des Internets schlicht keinen Weg mehr hat. Die Behebungen für die drei sind völlig verschieden, weshalb die erste Aufgabe darin besteht, sie auseinanderzuhalten — und das beginnt damit, anzusehen, was tatsächlich angekündigt wird.
Beginnen Sie mit dem Announcement
Die erste Frage ist die schlichteste: Wird dieses Präfix überhaupt in die globale Tabelle angekündigt, und wenn ja, von wem? Das letzte AS des Announcements — die Ursprungs-ASN — benennt das Netz, das behauptet, das Präfix zu halten, und die Registerdaten dahinter benennen die Organisation, zu der diese ASN gehört. Ist der Ursprung Ihre eigene ASN oder die Ihres Providers, behauptet das Announcement zumindest das richtige Zuhause. Ist es ein Name, den Sie noch nie gesehen haben, haben Sie in den ersten zehn Sekunden etwas Wichtiges gelernt.
Die Randfälle tragen die Information. Ein Präfix ganz ohne Ursprung wird nirgends angekündigt, wo die Sammler es sehen können — ein Tippfehler im Präfix, ein Announcement, das nie gemacht wurde, oder eines, das überall zurückgezogen wurde; prüfen Sie auf ein abdeckendes, weniger spezifisches Präfix, bevor Sie irgendetwas folgern, denn der Verkehr kann noch unter dem Aggregat fließen. Mehrere Ursprünge für ein Präfix sind nicht automatisch verdächtig: Anycast-Dienste und große CDNs originieren dasselbe Präfix konstruktionsbedingt aus vielen Netzen, und ein Präfix mitten in einer Übertragung zwischen Providern kann eine Zeitlang legitimerweise zwei Ursprünge zeigen. Mehrere Ursprünge plus ein Halter, den Sie nicht kennen, beginnend zu einem Zeitpunkt, an dem Sie nichts geändert haben — das ist die Kombination, die Alarm verdient.
Sichtbarkeit und AS-Pfade
Ein Looking Glass fragt nicht Ihren Router; es fragt Routensammler — die RIPE-RIS-Sammler hinter den Daten dieser Seite peeren mit Netzen auf der ganzen Welt und zeichnen auf, was diese Peers ihnen ankündigen. Sichtbarkeit ist die Zahl der Sammler-Peers, die Ihr Präfix überhaupt sehen. Ein gesundes, langlebiges Präfix wird typischerweise von fast allen gesehen. Eine Zahl im freien Fall — oder eine, die gestern voll war und heute eine Handvoll ist — deutet auf ein Announcement hin, das zurückgezogen, gefiltert oder nur noch über einen sich verengenden Satz von Pfaden gesehen wird.
Der AS-Pfad ist die Kette der Netze, die ein Announcement durchlaufen hat: Lesen Sie ihn von rechts nach links, vom Ursprung über Transitprovider nach außen bis zum Peer des Sammlers. Er sagt Ihnen, welche Upstreams die Route tragen und wo Ihr eigener Provider in der Kette sitzt — und wenn ein Leak passiert, zeigt der Pfad das Netz, das nicht dort sein sollte, in der Mitte, das den Verkehr seitwärts weiterleitet. Eine Lesegewohnheit, die sich lohnt: Eine wiederholte ASN in einem Pfad ist meist absichtliches Prepending, ein Traffic-Engineering-Signal, keine Schleife; und der kürzeste Pfad ist nicht immer der, den der echte Verkehr nimmt, weil Routing der Geschäftspolitik folgt, nicht der Geografie.
Kalibrieren Sie das Instrument, bevor Sie ihm vertrauen. Sammler sehen die Sichten der Netze, die mit ihnen peeren — eine große, gut platzierte Stichprobe, aber nicht jeden Router auf der Erde. Ein Präfix kann für die Sammler unsichtbar und dennoch innerhalb eines Providers erreichbar sein, der nicht mit RIS peert, und für Sammler sichtbar, während ein bestimmter Transit es weiter stromabwärts filtert. Ein Looking-Glass-Ergebnis ist ein Beleg über die globale Tabelle, gesehen von ernsthaften Beobachtungspunkten. Es ist kein Foto jeder Weiterleitungsentscheidung, die gerade über Ihr Präfix getroffen wird.
RPKI in einfachen Worten
RPKI ist der Versuch des Internets, aus „Ich darf das ankündigen“ eine prüfbare Behauptung statt eines Zurufs zu machen. Ein Präfixhalter veröffentlicht ein ROA — eine Route Origin Authorisation, ein signiertes Objekt, das erklärt, dass eine benannte ASN dieses Präfix originieren darf, bis zu einer angegebenen maximalen Präfixlänge. Validatoren wie Routinator — der hinter der Prüfung dieser Seite steht — holen die ROAs von den Vertrauensankern der fünf Regionalregister (APNIC, ARIN, LACNIC, RIPE NCC und AFRINIC) und prüfen jedes Announcement dagegen. Eine signierte Erklärung deckt Ihr Announcement ab oder sie tut es nicht; das ist der ganze Mechanismus.
Jedes Announcement landet in einem von drei Zuständen. Gültig (valid): Ein ROA deckt dieses Präfix, diese Ursprungs-ASN und diese Länge ab. Ungültig (invalid): Ein ROA deckt das Präfix ab, aber das Announcement bricht seine Bedingungen — und die Unterscheidung innerhalb von ungültig ist wichtig: invalid_asn bedeutet, dass das falsche Netz es originiert, während invalid_length bedeutet, dass das richtige Netz ein spezifischeres Präfix ankündigt, als das ROA erlaubt. Unbekannt (unknown, oft not-found genannt): Kein ROA deckt das Präfix überhaupt ab, also gibt es nichts, wogegen man prüfen könnte.
Jetzt die Ehrlichkeit. Ungültig ist ein Beleg, kein Beweis für einen Hijack. ROAs werden falsch ausgestellt, veralten nach einer Präfixübertragung oder werden mit einer maximalen Länge geschrieben, die das Betriebsteam später beim Deaggregieren vergisst — der Fall der falschen ASN verdient einen schnellen Anruf, aber prüfen Sie Ihre eigenen Unterlagen, bevor Sie jemanden beschuldigen. Und unbekannt heißt meist einfach, dass niemand ein ROA veröffentlicht hat; ein großer Teil der Präfixe der Welt hat immer noch keins, also ist unbekannt eine Lücke im System, kein Makel für das Präfix. Ungültig hat trotzdem echte Zähne: Viele große Netze verwerfen ungültige Announcements inzwischen direkt, sodass ein ungültiger Zustand die direkte Ursache des Erreichbarkeitslochs sein kann, mit dem Sie angefangen haben.
Eine Prüfroutine in fünf Schritten
Schließen Sie zuerst die einfacheren Schichten aus — ein neuer DNS-Eintrag, der sich noch ausbreitet (prüfen Sie ihn mit dem DNS-Propagationsprüfer), oder ein Dienstport, der nach außen geschlossen ist (prüfen Sie ihn mit dem Portscanner), imiteren Routingfehler perfekt. Öffnen Sie dann das BGP-Lookup und arbeiten Sie der Reihe nach. Schritt eins, das Präfix: Geben Sie die IP oder das Präfix ein und bestätigen Sie das abdeckende Announcement, das Ihren Verkehr tatsächlich trägt. Schritt zwei, der Ursprung: Lesen Sie die Ursprungs-ASN und den Halter — Ihrer, der Ihres Providers oder der eines Fremden. Schritt drei, die Sichtbarkeit: Wie viele Sammler-Peers sehen es, und sieht diese Zahl wie das Normale für dieses Präfix aus?
Schritt vier, RPKI: gültig, ungültig (welche Art?) oder unbekannt — und wenn invalid_asn einen Fremden benennt, eskalieren Sie, bevor Sie die Liste beenden. Schritt fünf, die AS-Pfade: Welche Upstreams tragen das Announcement, und sitzt ein Netz in einem Pfad, wo es nicht hingehört? Schreiben Sie es dann auf, solange es vor Ihnen liegt: das Präfix, die Ursprungs-ASN und den Halter, die Sichtbarkeitszahl, den RPKI-Zustand, die Pfade, die Sie gesehen haben — und die Uhrzeit, in UTC. Die Daten des Tools stammen von RIPEstat und RIPE RIS und werden etwa eine Stunde zwischengespeichert, also ist ein Screenshot ohne Zeitstempel eine Anekdote; eine Notiz mit einem ist ein Beleg, den Sie mit der nächsten Prüfung vergleichen können.
Grenzen, die man benennen sollte
Drei Grenzen gehören in jeden Bericht, den diese Daten speisen. Die Sammlerabdeckung ist verzerrt: Die RIS-Peers sind zahlreich, aber nicht gleichmäßig verteilt — manche Regionen und Netzarten sind weit besser vertreten als andere, also ist eine Sichtbarkeitszahl eine Stichprobe, keine Volkszählung. Propagation braucht Minuten, nicht Sekunden: Eine legitime Änderung, die Sie gerade gemacht haben, darf legitimerweise noch nicht sichtbar sein, und eine zurückgezogene Route kann in den Sammlern verweilen, nachdem der echte Verkehr längst weitergezogen ist; warten Sie und prüfen Sie erneut, bevor Sie eine Behebung oder eine Katastrophe ausrufen. Die RPKI-Abdeckung ist teilweise: Da viele Präfixe immer noch keine ROAs haben, kann die Validierungsschicht nur den Teil der Tabelle beurteilen, der an ihr teilnimmt.
Und die Grenze, die in einem Streit am meisten zählt: Ein sauberes Ergebnis hier beweist nicht, was die Tabelle Ihres eigenen Routers enthält. Ihre Sessions, Ihre Filter, Ihre lokale Präferenz können alle dazu führen, dass Ihre Ecke des Internets legitimerweise von dem abweicht, was die Sammler sehen. Nutzen Sie das BGP-Lookup, um festzustellen, was die Welt ankündigt und sieht; nutzen Sie die BGP-Tabelle Ihres eigenen Routers, um festzustellen, was Sie damit tun. Ein Vorfallbericht, der diese beiden Behauptungen getrennt hält, ist einer, den niemand zurücknehmen muss.
Häufig gestellte Fragen
Was bedeutet RPKI ungültig tatsächlich?
Dass ein ROA das Präfix abdeckt, dieses Announcement aber seine Bedingungen bricht: Entweder ist die Ursprungs-ASN nicht die, die das ROA autorisiert (invalid_asn), oder das angekündigte Präfix ist spezifischer, als die maximale Länge des ROA erlaubt (invalid_length). Es ist ein Beleg, kein Beweis für einen Hijack — falsch ausgestellte und veraltete ROAs sowie Präfixe mitten in einer Übertragung erzeugen ebenfalls ungültige Announcements. Behandeln Sie es trotzdem als dringend: Viele große Netze verwerfen ungültige Routen, sodass ein ungültiger Zustand selbst der Grund sein kann, warum ein Teil des Internets das Präfix nicht erreicht.
Kann ein Looking Glass die Routentabelle meines eigenen Routers sehen?
Nein. Ein Looking Glass zeigt, was Routensammler wie RIPE RIS von den Netzen erhalten haben, die mit ihnen peeren — eine große, nützliche Stichprobe der globalen Tabelle, aber nicht die Sicht Ihres eigenen Routers. Ihr Router wendet Ihre Sessions, Filter und lokale Präferenz an, sodass seine Tabelle legitimerweise abweichen kann. Für Ihre eigene Sicht gibt es keinen Ersatz dafür, den Router selbst zu fragen (seine BGP-Zusammenfassung und Routenabfragen); nutzen Sie das Looking Glass für das, was die Welt sieht, und Ihren Router für das, was Sie tun.
Warum widersprechen sich zwei Looking Glasses beim selben Präfix?
Weil sie von verschiedenen Stühlen aus schauen. Jeder Sammler peert mit einem anderen Satz von Netzen, sodass einer ein Announcement erhalten kann, das ein anderer nie hört; sie können auch Minuten auseinander abfragen, während eine Änderung sich noch ausbreitet, und die Netze auf dem Weg wenden ihre eigene Filterung an — einschließlich des Verwerfens RPKI-ungültiger Routen —, sodass verschiedene Beobachtungspunkte ehrlicherweise verschiedene Tabellen halten. Widerspruch ist Information: Wenn die Sammler einer Region das Präfix sehen und die einer anderen nicht, ist die Form des Widerspruchs oft die Form des Problems.