Einen Hostnamen auszunehmen, ist etwas, was ein Tunnel nicht kann. Eine Route kann jedoch eine einzelne Adresse am Tunnel vorbei und über das heimische Gateway nach draußen schicken, und das reicht für eine Website meist aus. Der Haken ist, dass alles, was der Route folgt, übereinstimmen muss: Die Firewall muss das Paket durchlassen, DNS muss die Adresse zurückgeben, die Sie geroutet haben, und die Website muss diese Adresse weiter verwenden. Wenn eines der drei abweicht, funktioniert die Ausnahme nicht mehr, ohne sich anzukündigen.

Lesen Sie die Zieladresse, bevor Sie den Tunnel anfassen

Laden Sie die Website einmal bei aktivem Tunnel und sehen Sie dann nach, mit welcher Peer-Adresse sich der Browser tatsächlich verbunden hat. Unter Linux, ss -tunp listet die Gegenadresse für jeden offenen Socket auf, und dig +short zeigt für denselben Namen, was der Resolver zurückgegeben hat. Behalten Sie beide Zahlen im Blick.

Die beiden Antworten stimmen oft nicht überein, und genau diese Abweichung ist das ganze Problem. Große Websites setzen ein Content-Netzwerk vor ihren Ursprung, daher ist die Adresse, die Ihr Resolver jetzt zurückgibt, womöglich nicht die, die der Browser vor einer Minute verwendet hat. Routen Sie das, was Sie am Socket beobachtet haben, nicht das, was ein älterer Leitfaden auflistet. Wenn die Antworten immer wieder zwischen Regionen wechseln, ist eine Adressausnahme das falsche Werkzeug für genau diese Website.

Führen Sie die Abfrage ein zweites Mal aus einem anderen Netzwerk aus und notieren Sie die IPv6-Antwort zusammen mit der IPv4-Antwort. Ein Tunnel, der beide Familien trägt, braucht in beiden eine Ausnahme, sonst fällt der Browser still auf den IPv6-Pfad zurück, den Sie nie berührt haben. Schreiben Sie die Adressen und das Datum dorthin, wo Sie wieder nachsehen.

Setzen Sie eine Host-Route auf dem Client

Nehmen Sie an, die Schnittstelle heißt home-wg und der LAN-Router steht auf 192.168.1.1. NetworkManager übernimmt eine Route, deren Gateway dieser Router ist und deren Präfixlänge alle 32 Bit umfasst, und der Kernel bevorzugt sie, weil das längste Präfix gewinnt.

nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20

Das Gateway muss ohne den Tunnel erreichbar sein; den nächsten Hop auf die Tunneladresse zu zeigen, vereitelt den Zweck, denn das Paket würde wieder in die Schnittstelle eintreten, die Sie vermeiden wollen. Nachdem die Verbindung wieder steht, ip route get für die Ausnahme sollte das LAN-Gateway ausgeben, und derselbe Befehl für einen öffentlichen Resolver sollte weiterhin das Tunnelgerät ausgeben.

Ein wg-quick-Profil hat kein Routenfeld, deshalb lebt dieselbe Ausnahme in einer PostUp -Zeile, die die Host-Route mit der LAN-Schnittstelle als Gerät zur Haupttabelle hinzufügt. Bringen Sie die Schnittstelle nach dem Bearbeiten herunter und wieder hoch, denn eine laufende Schnittstelle liest ihre Datei nie neu. Die fwmark-Regeln, die wg-quick installiert, lenken nur seine eigenen gekapselten Pakete, daher folgt normaler Browserverkehr weiterhin der Haupttabelle und findet Ihre /32.

Der Kill-Switch ist das Nächste, was es blockiert

Eine Firewall-Regel, die Verkehr nur auf der Tunnelschnittstelle zulässt, verwirft die Ausnahme selbst dann, wenn die Route genau richtig ist. Lesen Sie die Regeln hinter dem Schalter, statt dem Schalter zu vertrauen, denn die, die einen Kill-Switch umsetzen, sind meist auf einen Schnittstellennamen beschränkt.

Sie wollen eine eng gefasste Erlaubnis für die physische Schnittstelle und genau dieses eine Ziel, platziert vor dem Verwerfen, während die Standardrichtlinie unangetastet bleibt. Den Kill-Switch ganz pausieren beweist den Punkt, setzt aber auch die Maschine frei, solange Sie vergessen, ihn wieder einzuschalten.

Testen Sie beide Richtungen getrennt. Eine Anfrage an die Ausnahmeadresse sollte gelingen, während eine Anfrage an eine unbeteiligte Website weiterhin durch den Tunnel geht. Wenn beide gelingen, die zweite aber die Heimatadresse meldet, ist die Reihenfolge der Firewall-Regeln falsch und nicht die Route.

DNS entscheidet, welche Adresse der Browser anwählt

Wenn der Name innerhalb des Tunnels aufgelöst wird, kann der Resolver des Anbieters mit einer anderen Adresse antworten als der lokale. Ihre Route gilt dann für eine Adresse, die der Browser nie kontaktiert, und die Seite lädt durch den Tunnel, als hätte sich nichts geändert. Dieser Fehler sieht wie eine kaputte Ausnahme aus, obwohl die Routingtabelle korrekt ist.

Schicken Sie die Abfragen für diesen Namen auch durch den lokalen Resolver, oder überspringen Sie Namen ganz und testen Sie die Adresse direkt. Die Adresse aufzuteilen, während DNS im Tunnel bleibt, ist die häufigste halbfertige Version dieses Aufbaus, und sie ist auch am schwersten zu bemerken, weil die Website weiter funktioniert, nur nicht so, wie Sie es wollten.

Dieselbe Ausnahme auf dem Router, einmal, für jedes Gerät

Läuft der Tunnel auf dem Router, gehört die Host-Route in die Policy-Routing-Tabelle des Routers und zeigt auf das WAN-Gateway statt auf das LAN-Gateway. Jedes Gerät dahinter erbt die Ausnahme, was für eine Streaming-Box oder ein Arbeitslaptop zählt, dessen Netzwerkeinstellungen Sie nicht ändern können.

Lassen Sie den Tunnel den Standardausgang für jeden anderen Client und prüfen Sie dann von einem Client-Rechner aus, nicht von der Router-Konsole. Laden Sie die Ausnahme-Website und eine zweite Website in derselben Browsersitzung und vergleichen Sie die Ausgangsadressen; wenn die zweite weiterhin den Tunnel zeigt, tut die Policy-Tabelle, was Sie verlangt haben.

Notieren Sie die Adresse, das Datum und den Grund in den Notizen des Routers. Eine Ausnahme, die um eine Adresse herum gebaut wurde, die später umzieht, wird zu einem Fehler, den in einem Jahr niemand erklären kann, und die Lösung wirkt immer wie ein Rätsel, bis jemand die alte Notiz findet.

Ähnliche Artikel