Router-Shoppingseiten führen VPN-Routing als ein Kontrollkästchen, und dieser Satz verbirgt drei verschiedene Fragen. Passt die Regel zum Gerät, das den Verkehr sendet, zum Server, der ihn empfängt, oder zu beiden? Was geschieht mit Verkehr, der zu keinem von beiden passt? Und wenn sich zwei Regeln überschneiden, welche gewinnt? Wer die Antwort als Paar aus Quelle und Ziel notiert, verwandelt eine vage Funktionsliste in ein prüfbares Design.

Der Funktionsname verbirgt zwei Enden

Ein Mediaplayer, der den Tunnel nutzen soll, ist eine Quellübereinstimmung. Ein privates Büro-Präfix, das über den Tunnel erreichbar sein soll, ist eine Zielübereinstimmung. Eine Workstation, die den Tunnel nur für einen Dienst nutzen soll, ist beides, und genau diese Schnittmenge ist der Fall, den die meiste Consumer-Firmware schlecht behandelt.

Notieren Sie die Anforderung als Paar, bevor Sie Produkte vergleichen. Dieses Paar werden Sie später testen.

Ein Produkt mit Geräteliste oder globaler Zielliste kann „nur dieses Gerät, nur diese Ziele“ vielleicht nicht ausdrücken. Die Lücke ist nicht kosmetisch: Eine globale Zielregel schickt den Verkehr jedes Geräts zu dieser Website durch den Tunnel, und eine Geräteregel schickt den gesamten Verkehr dieses Geräts. Keines von beiden ist die Anforderung. Testen Sie diesen Fall mit zwei Geräten, bevor Sie dem Bildschirm trauen.

Bauen Sie die Regel als Schnittmenge

Eine Tabelle hält das Design ehrlich. Setzen Sie das Szenario nach links und benennen Sie dann Absenderübereinstimmung und Zielübereinstimmung getrennt:

ScenarioSender matchTarget matchRule shape
Media player uses the tunnelPlayer addressAny internet destination except the LANSource only
Office prefix reachableAuthorized LAN devices10.40.0.0/16Target only
One app on one laptopLaptop addressThe service address setSource and target
Guest network never tunnelsGuest subnetAnyDeny, evaluated first

Die dritte Zeile ist die interessante, weil sie beide Hälften gleichzeitig braucht. Kann die Firmware nur eine Achse ausdrücken, muss die Anforderung in zwei Regeln aufgeteilt oder auf ein Gerät verlegt werden, das es kann.

Halten Sie die Quellidentität stabil. Eine DHCP-Reservierung, ein eigenes Segment oder ein Geräteidentitätsmechanismus funktionieren, eine Adresse, die sich nach Ablauf der Lease ändert, nicht. Beziehen Sie IPv6 ein, denn eine IPv4-Adresse identifiziert nicht den gesamten Verkehr eines Geräts.

Die Priorität entscheidet die Überschneidung

Überschneidende Regeln sind normal. Eine breite Geräteregel und eine enge Zielregel können denselben Fluss beschreiben, und die dokumentierte Rangfolge entscheidet, welche gewinnt. Ein ansprechender Einstellungsbildschirm verrät Ihnen diese Reihenfolge nicht.

Lesen Sie im Handbuch die Reihenfolge und den Fall ohne Übereinstimmung nach und testen Sie dann beides mit Verkehr, den Sie beobachten können:

ip rule show
ip route get 203.0.113.10

Wenn die Dokumentation die Reihenfolge nicht angibt, gehen Sie davon aus, dass die engere Regel möglicherweise nicht gewinnt, und planen Sie entsprechend. Zwei Regeln, die nicht in Konflikt geraten können, sind leichter zu betreuen als eine clevere Regel mit undokumentiertem Vorrang.

Namen brauchen eine Aktualisierungsrichtlinie

Ein als Domäne geschriebenes Ziel bringt ein Wartungsproblem mit. Der Router muss sie auflösen, das Mapping aktualisieren, mehrere Adressen und Subdomains verarbeiten und mit Anwendungs-DNS umgehen, das den erwarteten Resolver umgeht.

Ein einzelnes Nachschlageergebnis in eine IP-Regel zu kopieren ist eine Momentaufnahme, keine Domänenrichtlinie.

Legen Sie fest, wie veraltet eine Antwort sein darf, bevor die Regel falsch ist, und was der Router tut, wenn die Auflösung scheitert. Eine Regel, die die letzte bekannte Adresse behält, kann eine Dienstmigration überdauern; eine Regel, die den Eintrag verwirft, kann die Tunnelung stillschweigend beenden. Beides ist akzeptabel, wenn es neben der Regel festgehalten wird.

Definieren Sie den nicht verfügbaren Zustand

Eine Routenpräferenz erzwingt keinen reinen VPN-Verkehr. Ist der Tunnel unten, kann der Router den Fluss blockieren, direkt senden oder einen anderen Tunnel nutzen, und jede Wahl hat eine andere Fehlersignatur.

Legen Sie fest, welche der Anforderung entspricht, und prüfen Sie es dann, indem Sie den Tunnel stoppen und den Fluss beobachten:

curl -sS -o /dev/null -w "%{http_code}" --max-time 5 https://service.example/
ping -c 2 203.0.113.10

Verkehr, der vom Router selbst ausgeht, ist ein eigener Bereich. DNS-Weiterleitung, Update-Prüfungen und Überwachung können neue Flüsse vom Router selbst starten, statt die Quellübereinstimmung des Geräts zu erben. Berücksichtigen Sie diese Flüsse ausdrücklich, sonst erscheinen sie als unerklärte Lecks in den Protokollen.

Ähnliche Artikel