Gäste-WLAN nutzt weiter die Hauptroute: geben Sie ihm einen eigenen Ausgang
Eine SSID ist keine Route. Gäste verlassen weiterhin das WAN, bis ein eigenes Subnetz, eine quellenbasierte Regel und ein passender Rückweg alle auf den Tunnel zeigen.
Sie haben ein Gästenetz angelegt, eine Route dafür hinzugefügt, und die Gäste verlassen das Netz weiterhin über Ihre normale Internetverbindung. Der Tunnel steht, das Haupt-LAN funktioniert, und die Gästegeräte melden eine Adresse aus dem von Ihnen vergebenen Bereich, es sieht also nichts kaputt aus. Meist fehlt keine Route, sondern ein Selektor: Der Router entscheidet über den Pfad, bevor er berücksichtigt, auf welcher Schnittstelle das Paket ankam, und wenn nicht ausdrücklich etwas auf Gästeverkehr passt, erbt dieser Verkehr die Voreinstellung. Die Lösung ist ein Segment, eine Richtlinienregel und ein Rückweg, in dieser Reihenfolge.
Das Symptom: Gäste verlassen weiterhin das WAN
Der Hinweis ist die Ausgangsadresse. Ein Gästegerät, das über den Tunnel ins Internet gelangt, meldet die Adresse des Tunnelanbieters, und eines, das die Voreinstellung geerbt hat, meldet Ihre normale Verbindung. Vergleichen Sie ein Gästegerät und ein Gerät im Haupt-LAN nebeneinander, denn der interessante Fall ist, wenn sie von dem abweichen, was Sie eingerichtet haben, und untereinander übereinstimmen.
Der zweite Hinweis ist das Fehlen jeglichen Verkehrs auf der Tunnelschnittstelle, während Gäste surfen. Bewegen sich die Zähler nicht, wurde die Richtlinie nie angewendet, und am Tunnel selbst zu drehen hilft nicht.
Schritt 1: ein echtes Segment, nicht nur ein Name
Ein SSID-Name erzeugt keine Isolation. Prüfen Sie, ob das Gästenetz auf einer eigenen Schnittstelle, VLAN oder Bridge endet und ob der Adressbereich sich vom vertrauenswürdigen LAN unterscheidet. Bei vielen Consumer-Access-Points wird die Gast-SSID in dasselbe Segment wie alles andere gebrückt, was den Rest dieser Arbeit unmöglich macht, bis das korrigiert ist.
Bestätigen Sie dann den Gastbereich und seinen DHCP-Server und halten Sie die Resolver-Einstellungen an dieses Segment gebunden statt an den ganzen Router. Ein Gast-Subnetz, das nur als Kommentar in einer Firewall-Regel existiert, ist kein Segment, und der Router hat keine Schnittstelle zum Abgleichen.
Bridgen Sie Gäste nicht ins Haupt-LAN, damit sich das VPN leichter einrichten lässt. Das tauscht die gewünschte Isolation gegen eine Abkürzung im Routing, und das ist der übliche Grund, warum ein Gästenetz am Ende Zugriff auf Drucker und NAS hat.
Schritt 2: den Tunnel nach Quelle auswählen
Routing-Tabellen werden nach Ziel gewählt, eine Regel, die 0.0.0.0/0 in den Tunnel schickt, gilt also für alle. Policy-Routing fügt eine zweite Dimension hinzu: Wählen Sie die Tabelle nach Quelladresse. Auf einem Linux-basierten Router sind das eine zusätzliche Regel plus eine eigene Tabelle, und die Reihenfolge zählt, weil die erste passende Regel gewinnt:
ip rule add from 192.168.60.0/24 lookup 100 priority 1000
ip route add default dev wg0 table 100
ip route get 1.1.1.1 from 192.168.60.10
Der letzte Befehl beantwortet die Frage direkt: Welche Schnittstelle wird diese Quelle für dieses Ziel nutzen. Führen Sie ihn vor und nach der Änderung aus, und Sie wissen, ob die Richtlinie gegriffen hat, ohne einen Browser anzufassen.
Die meiste Router-Firmware drückt dasselbe als Schnittstellenregel oder quellenbasierte Gateway-Auswahl aus. Welche Syntax Ihre Plattform auch nutzt, das Prinzip ist gleich: Passen Sie auf die Eingangsschnittstelle oder das Quellpräfix, und überschreiben Sie dann die Route nur für diesen Treffer. Eine nach Ziel passende Regel kann einen Gast nicht von einem Haushaltsgerät unterscheiden.
Schritt 3: Rückweg und Übersetzung
Ein Paket, das durch den Tunnel hinausgeht, muss zurückkommen. Entweder kennt der Tunnel-Peer eine Route zurück zum Gastpräfix, oder der Router übersetzt die Gastquelle in die Tunneladresse. Wählen Sie eines und schreiben Sie es auf, denn die Fehlerbilder sehen verschieden aus: Ein fehlender Rückweg ergibt eine Verbindung, die aufgebaut wird und nie antwortet, während eine fehlende Übersetzung oft gar nichts liefert.
nft add rule ip nat POSTROUTING ip saddr 192.168.60.0/24 oifname "wg0" masquerade
Wenn Sie die Übersetzung wählen, denken Sie daran, dass der Peer nun eine Adresse für jeden Gast sieht, also ist jede Richtlinie pro Client am fernen Ende weg. Wenn Sie stattdessen Adressen erhalten, brauchen beide Enden das Gastpräfix in Routing und Richtlinie, was mehr Arbeit und berechenbarer ist.
IPv6 braucht eine eigene Regel. Eine für IPv4 geschriebene Richtlinie deckt die andere Familie nicht ab, und ein Gästegerät mit funktionierendem IPv6 nutzt es gern, während Ihr sorgfältig gerouteter IPv4-Pfad ungenutzt bleibt. Routen Sie beide Familien oder deaktivieren Sie IPv6 im Gästesegment, aber nehmen Sie nicht an, dass die kombinierte Regel, die Sie geschrieben haben, abdeckt, was das Gerät tatsächlich tut. Testen Sie mit einem Client, bei dem beide Familien aktiv sind, denn dieser Fall muss das Design überstehen. Ein Laptop, der IPv6 bevorzugt, sieht in einem reinen IPv4-Test korrekt aus und leckt im echten.
Testen Sie die Isolation, nicht nur das Surfen
Surfen beweist, dass sich der Ausgang geändert hat. Es beweist nicht, dass das Segment isoliert ist, und die Isolation ist der Grund, warum es das Gästenetz gibt. Versuchen Sie von einem Gästegerät aus, die Administrationsoberfläche des Routers, einen vertrauenswürdigen LAN-Host und einen Dienst zu erreichen, der abgelehnt werden sollte; alle drei sollten scheitern, und das Scheitern sollte eine Richtlinienentscheidung sein und kein Timeout, den niemand erklären kann.
Testen Sie dann ein Gerät im Haupt-LAN und bestätigen Sie, dass sich sein Ausgang nicht geändert hat. Das ist die Regression, die dieses Design am häufigsten verursacht: eine breite Regel für Gäste, auf jede Schnittstelle angewendet, weil der Treffer auf das Ziel geschrieben wurde.
Entscheiden Sie schließlich, was passiert, wenn der Tunnel ausfällt. Gäste bekommen entweder kein Internet oder fallen auf einen Pfad zurück, den Sie freigeben, und das unentschieden zu lassen bedeutet einen stillen Rückfall auf die normale Verbindung, also genau das Leck, das die Gästerichtlinie verhindern sollte. das Rezept zum Routing von Internetverkehr führt dieselbe Pfadauswahl für einen Router auf pfSense-Basis durch.
Vom Router ausgehendes DNS ist der Fall, der Leute zuletzt überrascht. Nutzen Gäste den Router als Resolver, folgen die Anfragen des Routers selbst der Route des Routers statt der Gastregel, sodass Auflösungen über die normale Verbindung hinausgehen können, während der Anwendungsverkehr es nicht tut. Halten Sie Segment, Resolver und Ausfallrichtlinie in einer Notiz fest, und die nächste Person kann alle drei prüfen, ohne das Design neu herzuleiten.