Ein Laptop hält den Tunnel, der Rest des Hauses will denselben Zugang, und der erste Versuch ist, alles auf die verbundene Maschine zu zeigen. Das scheitert aus Gründen, die nichts mit dem VPN zu tun haben: Der empfangende Host muss das Paket weiterleiten, seine Quelle umschreiben und sicherstellen, dass Antworten den Rückweg finden. Fehlt eines der drei, arbeitet der verbundene Laptop weiter, während jedes andere Gerät in einen Timeout läuft. Die Lösung ist ein Routing-Entwurf, keine Client-Einstellung.

Warum das Zeigen der Geräte auf den Host scheitert

Ein Host, der ein an ein entferntes Netz adressiertes Paket empfängt, wird für diesen Moment zum Router, ob jemand ihn so konfiguriert hat oder nicht. Weiterleitung ist unter Linux und unter Windows standardmäßig aus, sofern keine Funktion sie einschaltet. Die Übersetzung ist wichtig, weil die Gegenseite wissen muss, wohin Antworten gehen sollen, und eine private LAN-Adresse ihr nichts bedeutet. Die Rückroute ist das dritte Stück, und sie ist es, die Leute vergessen, wenn der erste Ping erfolgreich erscheint.

Diagnostizieren Sie in dieser Reihenfolge, statt Einstellungen zufällig umzuschalten. Jedes fehlende Stück erzeugt ein etwas anderes Symptom.

Weiterleitung und Übersetzung auf dem Host aktivieren

Zwei Änderungen auf dem verbundenen Host decken die ersten beiden Stücke ab: IPv4-Weiterleitung aktivieren und den LAN-Verkehr auf die Tunnel-Schnittstelle übersetzen.

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Bewahren Sie den sysctl-Wert in einer Datei unter /etc/sysctl.d auf und prüfen Sie die MASQUERADE-Regel nach einem Neustart erneut, da Firewall-Frontends eigene Ketten leeren können. Unter Windows führt die Freigabefunktion beide Schritte aus, adressiert aber auch den LAN-Adapter auf ein festes Subnetz um und löscht dessen Gateway, was statische Adressierung und Portweiterleitung bricht. Stellen Sie den Weg des Routers zum Host unter seiner neuen Adresse wieder her, bevor Sie schließen, dass die Freigabe gescheitert ist. Beobachten Sie dann, wie die Regelzähler steigen, während ein zweites Gerät Verkehr sendet.

Geben Sie dem LAN einen Weg, der Neustarts übersteht

Die anderen Geräte brauchen eine Route zum entfernten Präfix, und die beiden Wege dorthin unterscheiden sich im Ausmaß der Wirkung.

ip route add 10.8.0.0/24 via 192.168.1.20 dev eth0

Das Zeigen des Standard-Gateways eines Clients auf den Host schickt dessen gesamten Verkehr durch den Host, einschließlich lokalem Drucken und Dateifreigabe, sodass unabhängige Dinge stoppen, wenn der Host schläft. Das Hinzufügen einer bestimmten Route auf dem Router für das entfernte Präfix ist enger: Nur Ziele hinter dem Tunnel gehen an die verbundene Maschine, und der Rest des LAN arbeitet weiter. Die Subnetze oben sind Beispiele, ersetzen Sie sie durch Ihre eigenen LAN- und Tunnel-Bereiche. Testen Sie in jedem Fall von einem zweiten Gerät mit aktivem und dann inaktivem Tunnel.

Achten Sie auf die MTU, bevor Sie den Tunnel beschuldigen

Tunnel verkleinern die nutzbare Paketgröße, und das zweite Gerät ahnt nichts davon. Große Übertragungen und TLS-Handshakes stocken, während kleine Anfragen gelingen.

ping -M do -s 1400 10.8.0.5

Eine Antwort beweist, dass diese Größe den Pfad unfragmentiert passiert; ein Timeout bedeutet, dass der Kapselungs-Overhead das Paket über die MTU des Tunnels hinausgeschoben hat. Senken Sie die MTU an der Freigabe-Schnittstelle oder begrenzen Sie die maximale Segmentgröße am Weiterleiter, und wiederholen Sie dann dieselbe Probe. Testen Sie dieselbe Größe zuerst auf der LAN-Seite, denn ein lokales Scheitern deutet auf das LAN hin und nicht auf den Tunnel. Notieren Sie die funktionierende Größe, da ein späterer Anbieter- oder Tunnelwechsel sie verschieben kann.

Für ein einzelnes zusätzliches Gerät genügt die Host-Freigabe. Für einen Haushalt legen Sie die Route auf den Router. Wenn der Zugang überleben muss, dass der Laptop mit Ihnen geht, gehört der Tunnel selbst auf ein eigenes Gateway.

Ähnliche Artikel