OpenVPN-Client fir de ganze LAN op OpenWrt: eng Rei, déi funktionéiert
D'Eegentum vun der Interface, d'Zonepolitik, d'Masquerade an d'Tabellen pro SSID sinn véier getrennt Aufgaben. Maach se an der Rei, an en Tunnel fir de ganze Router hält op, géint dech ze schaffen.
Véier onofhängeg Aufgaben setzen de ganze LAN vun engem Router hannert een Tunnel. D'Tunnel-Apparat brauch en Eegentum, eng Firewall-Zon, eng Iwwersetzungsdestinatioun a Richtung Uplink an, wann een Deel vun de Cliente vun der VPN erausbleiwe muss, Routing no Quelladress. En Tunnel, dee sech verbënnt, awer duerch deen näischt geet, huet meeschtens een vun deene véier feelen. An der Rei vun den Ofhängegkeete schaffen heescht, datt e Feeler um Enn zu deem Schrëtt gehéiert, den s du just geännert hues. All Schrëtt hei drënner hält mat eppes op, wat s de gesinn kanns, wat den nächste Schrëtt virun engem Verdacht schützt.
Bestëmm, wat den Tunnel deelt
Den Router, deen Wi-Fi an DHCP verdeelt, kann de Client selwer bedreiwen. Dat setzt all ugeschlossenen Apparat hannert den Tunnel ouni Astellung pro Apparat, an dat ass d'Astellung, déi déi meescht kleng Site wëllen. Et ass och déi mat der gréisster Auswierkung, wann den Tunnel fält, well all Apparat gläichzäiteg säi Wee verléiert. Näischt am LAN hält en fonctionéierende Wee no baussen.
En zweeten Router hannert dem éischten, deen de Client mat sengem eegene Subnetz bedreift, begrenzt den Tunnel op seng eegen Apparater. Et ass méi einfach ewechzehuelen an méi einfach deem ze erklären, deen en iwwerhëlt. De Präis ass d'Erreechbarkeet tëscht den zwou Säiten ouni eng Route oder eng Port-Weiderleedung.
Op jiddwerfall, maach d'LAN-Subnetzer verschidden. Identesch Beräicher loossen eng Säit direkt ugeschloss ausgesinn, an dat Schwaarzt Lach, dat doraus entsteet, liest sech Stonnen laang wéi e VPN-Feeler.
Gëff dem Tunnel en Eegentum
Deklaréier den Tunnel als Netzwierk-Interface mat engem Numm, engem Apparat an ouni eegene Protokoll. D'Netzwierksystem erstellt an administréiert dann den Apparat, an alles hei drënner verweist op d'Interface mam Numm an net mam Apparat. Dat ass et, wat d'Zon et fannen léisst.
Erstell deen nämmlechten Apparat net op zwou Plazen. En handgemaachten Tunnel niewent enger deklaréierter Interface produzéiert en Apparat, deen existéiert, awer net an enger Zon ass, oder een, deen beim Nei-Luede verschwënnt. Béides gesäit aus wéi wann de Client versot huet, an keent vun deenen zwee gëtt eng Feelmeldung, déi déi richteg Ursaach nennt. Wielt de deklarative Wee a läscht de manuellen.
Hal den Numm identesch an der Netzwierk-, Firewall- an VPN-Konfiguratioun. D'Zon listet Netzwierker mam Numm op, also léisst en Tippfeeler den Tunnel baussent all Zon, wärend d'Interface selwer gesond ausgesäit. Eng gesond Interface ouni Politik ass de schwieregste Staat ze gesinn.
Setz en an eng Zon, da leet an se ëm
Eng Firewall-Zon ass do, wou d'Politik wunnt: Input, Output, Forward a Masquerade. En Tunnel, deen an kenger Zon ass, gëtt vun Standardwäerter regéiert, déi s de net gewielt hues, an dat ass selten dat, wat e Router-Client brauch. D'Bléck hei drënner deklaréieren d'Interface, setzen se an eng Zon a erlaben den LAN-Ver kéier an déi Zon.
config interface 'vpn'
option device 'tun0'
option proto 'none'
config zone
option name 'vpn'
list network 'vpn'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
config forwarding
option src 'lan'
option dest 'vpn'
Op Verëffentlechunge méi al wéi 21.02 gëtt déi selwecht Interface-Zeil als option ifname geschriwwen, also kontrolléier virum Afügen, wéi eng Form déi installéiert Firmware parst. D'Weiderleedungsbléck ass d'Erlabnes, déi den LAN-Ver éierlech den Tunnel benotze léisst. Ouni et ass den Apparat uewen, de Client verbonnen, an keen LAN-Host erreecht den Tunnel. Dat ass déi heefegst Meldung vu verbonnen awer keen Internet bei Router-Cliente.
Masquerade op der VPN-Zon dréckt all LAN-Adress an d'Tunneladress vum Router zesummen, ier de Paket fortgeet. Dat hëlt d'Brauchen un enger Réckroute op däin Subnetz op der anerer Säit ewech.
Wann déi aner Säit däin LAN schonn leet, hält d'Ausschalte vu Masquerade d'Quelladressen sichtbar a mécht d'Loggen pro Client sënnvoll. Wielt eng a schreif op wéi eng, well déi zwou Wieler méi spéit ënnerschiddlech Support-Froe produzéieren. D'Standard-Weiderleedung vu LAN op WAN ewechzehuelen ass eng separat Entscheedung mat hirer eegener Konsequenz. Huelt se ewech, an den eegene Internetzougang vum Router geet mat.
Nenn den echte Uplink an NAT
Op Firmware, wou d'Iwwersetzungsregel vu Hand geschriwwe gëtt, ass d'Interface fir eraus dat Feld, wat falsch geet. Eng Regel, déi vlan2 nennt, mécht näischt, wann d'Sessioun op ppp0 ophält. Eng Regel ouni iergendeng Interface kann Verkéier iwwersetzen, dee privat misst bliwwen hunn. Keng vun deenen zwee Feele kënnegt sech u, well den Tunnel weider funktionéiert.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Ersetz ppp0 an där Regel duerch d'Interface aus ip route oder aus der Lëscht vun den aktiven Interface, a kuck da op den Zähler, während e LAN-Host eng Säit lued. Op engem Router mat engem eenzege Provider ass eng Masquerade-Regel fir den Uplink normalerweis genuch. Eng zweet Regel fir d'Interface vum Tunnel ass keen Ersatz fir déi éischt.
Dann füüg d'Client-Optiounen dobäi, déi bestëmmen, wat an den Tunnel geet. Eng redirect-gateway-Direktiv schéckt den Internetverkéier vum Client duerch d'VPN, an ouni se dréit den Tunnel nëmmen d'Route, déi de Server dréckt. Kontrolléier d'Resultat-Routetabell, ier s de DNS upackst.
Deel de Wi-Fi mat enger zweeter Tabell
Eng Routetabell kann net zwee Standarde droen. En zweeten SSID, deen den Tunnel muss ëmgoen, brauch dofir säin eegene Subnetz a seng eegen Tabell. Gëff dem tunnelléierten SSID säi eegene Beräich, a leet dann nëmmen dee Beräich an den Tunnel mat enger Regel, déi d'Tabell auswielt.
D'Politik-Routing-Pakete op OpenWrt drécken genau déi Kombinatioun aus. Vu Hand geet et awer och, mat enger Quellregel an enger Tabell, där hire Standard op den Tunnelapparat weist.
Kontrolléier d'Deelung vu béiden Netzwierker aus. E Client um tunnelléierten SSID sollt d'Exit-Adress vun der VPN presentéieren, an e Client um normale SSID déi vum Provider. Wann béides gläich ausgesäit, passt d'Regel op déi falsch Quell oder d'Tabell gëtt ni consultéiert. Test och no enger Reconnectioun, well eng Regel, déi vum Interface-Numm ofhängt, brécht, wann den Apparat nei nummeréiert gëtt.
Verdächteg d'Auer an de Flag vum Apparat
De Flag persist-tun léisst den Tunnelapparat iwwer Neistarts stoen. Dat passt zu engem Server a verwirrt e Client, deem säi Staat vun Null u muss opgebaut ginn. Huelt en ewech, während s de e Router-Client diagnoséierst, well en Apparat, dee mat enger versoter Verhandlung iwwerlieft, verstoppt, wéi ee Schrëtt wierklech gebrach ass. Setz en zréck, wann de Client zouverlässeg verbënnt, an net virdrun.
D'Auer ass den aneren heemleche Feeler. En Router ouni batteriegestäipt Auer fänkt bei der Epoche un, wat heescht, datt Zertifikatspréiwungen feelen, bis NTP nogekënnt. Vergläich d'Zäitstempel vum Log mat der richteger Zäit, ier s de en Zertifikat upackst, well e Client, deen eng Minutt nom Start verbënnt, meeschtens op d'Zäitsynchronisatioun waart.