Ein Fluss, der den Tunnel passieren sollte, nimmt einen anderen nächsten Hop, und jemand findet in einem Mitschnitt eine ICMP-Weiterleitung. Das ist eine Hypothese, keine Diagnose. Eine Weiterleitung ist ein Vorschlag des Routers für einen besseren nächsten Hop, und ob der Host danach handelt, hängt von Einstellungen ab, die sich nach Plattform, Schnittstelle und Adressfamilie unterscheiden.

Eine Weiterleitung ist ein Vorschlag des Routers

IPv4-ICMP-Weiterleitungen haben einen eigenen Nachrichtentyp und einen engen Satz von Bedingungen: Der Router leitet ein Paket über die Schnittstelle weiter, auf der es ankam, und kennt einen nächsten Hop auf demselben Link, der näher am Ziel liegt. Dann teilt er dem Absender mit, diesen nächsten Hop direkt zu verwenden. Die Nachricht nennt das neue Gateway und enthält einen Teil des ursprünglichen Pakets, damit der Absender es einem Fluss zuordnen kann. Sie ist eine Höflichkeitsnachricht über die lokale Topologie und setzt voraus, dass der Absender einen Link mit dem vorgeschlagenen Gateway teilt.

Der Absender darf sie ignorieren. Nichts im Protokoll verlangt, dass ein Host seine Tabelle ändert, und eine mitgeschnittene Weiterleitung beweist nur, dass ein Router eine gesendet hat.

Genau an dieser Unterscheidung gehen die meisten Untersuchungen zu Weiterleitungen schief.

IPv4 und IPv6 liefern sie unterschiedlich

IPv6 hat einen analogen Mechanismus innerhalb der Nachbarerkennung statt in ICMPv4, mit anderen Nachrichtenformaten und anderen Prüfregeln. Die Konzepte reimen sich, die Pakete nicht. Ein Mitschnittfilter für ICMP-Typ 5 zeigt in einem IPv6-Netz nichts an, was manchmal als Beleg dafür gelesen wird, dass keine Weiterleitung stattfand.

Auch die Richtlinieneinstellungen sind getrennt, sodass ein Host IPv4-Weiterleitungen akzeptieren und IPv6-Weiterleitungen ignorieren kann, oder umgekehrt.

Prüfen Sie beide Familien, wenn der betreffende Fluss jede von beiden nutzen könnte.

Akzeptanz ist Host-Richtlinie, keine Netzwerktatsache

Unter Linux wird die Akzeptanz von Weiterleitungen pro Schnittstelle und global gesteuert, und die Vorgaben unterscheiden sich zwischen Host- und Routerrolle. Eine Tunnelschnittstelle, die Weiterleitungen akzeptiert, ist ein seltsames Design, denn in einem Punkt-zu-Punkt-Tunnel gibt es keinen sinnvollen alternativen nächsten Hop auf demselben Link. Das macht die Einstellung lesenswert statt vermutbar.

Einstellungen für sichere Weiterleitungen schränken zusätzlich ein, welchen Gateways geglaubt werden darf.

Wenn Sie einen Host härten, sind das die Einstellungen, die zu prüfen sind, und sie sind auch der Grund, warum sich zwei Rechner im selben Netz unterschiedlich verhalten können. Ändern Sie sie als Richtlinie, nicht als Debugging-Abkürzung.

Was eine Weiterleitung nicht erklären kann

Spezifische Routen, Policy-Routing-Regeln und lokale Schnittstellen erklären die meisten unerwarteten Pfade ganz ohne Weiterleitung. Ein spezifischeres Präfix, eine Regel, die auf die Quelladresse passt, oder ein zweiter Default in einer anderen Tabelle überstimmt jeweils die Route, die Sie erwartet haben. Prüfen Sie diese zuerst, denn sie sind deterministisch und sichtbar.

Veraltete Mitschnitte sind die andere Falle, denn ein Client, der das Netz gewechselt hat, hat ein anderes lokales Gateway.

Eine alte Weiterleitung aus der früheren Anbindung erklärt nichts über den aktuellen Pfad, notieren Sie also, welche Schnittstelle den Kontrollverkehr jetzt empfängt.

Prüfen Sie die Route, bevor Sie den Tunnel beschuldigen

Fragen Sie den Kernel, welche Route er für das Ziel verwenden würde, und vergleichen Sie das dann mit der Tabelle, die Sie vorgesehen hatten. Stimmt die Antwort mit der Tabelle überein, hat keine Weiterleitung etwas geändert und die Untersuchung gehört woanders hin. Stimmt sie nicht überein, suchen Sie nach einer gecachten Weiterleitung, einer Richtlinienregel oder einer zweiten Tabelle, bevor Sie annehmen, der Tunnel sei schuld. Die Abfrage ist die Grundwahrheit, und alles andere ist eine Geschichte darüber, wie es dorthin kam.

Eine Weiterleitung sollte nie der Grund sein, warum ein geschützter Pfad stillschweigend zu einem ungeschützten wird, und deshalb gehört die Akzeptanzrichtlinie in die Designprüfung. Die Definition in RFC 792 bleibt die Referenz dafür, was die IPv4-Nachricht sagen darf.

Schreiben Sie die Routenabfrage und den Zeitstempel des Mitschnitts zusammen auf, dann kann die nächste Person Ihre Schlussfolgerung nachvollziehen.

Ähnliche Artikel