Een Apparat duerch eng Router-VPN brauch dräi Reegele, net e Kippschalter
Een Apparat duerch eng Router-VPN ass Policy-Routing, net eng Këscht: eng markéiert Tabell, eng agegrenzt NAT-Reegel, plus d'DNS-, IPv6- an LAN-Weeër, déi d'Guiden iwwersprangen.
Et gëtt kee Schalter pro Apparat op enger Router-VPN; de Kippschalter, deen Dir sicht, ass eng Ofkierzung, déi an Ärem Numm Policy-Routing-Reegele schreift. Vum Moment un, wou ee Laptop, ee Portberäich, eng Adresslëscht oder een LAN-Segment den Tunnel benotze muss, während alles anescht um WAN bleift, baut Dir eng Policy-Route an net eng Funktioun un. D'Aarbecht huet dräi beweeglech Deeler, an all ee fällt anescht aus: eng markéiert Tabell ouni Route gesäit aus wéi Stille, e Mark, deen an der falscher Kette gesat gëtt, gesäit aus wéi wann näischt geschitt wier, an eng feelend NAT-Reegel gesäit aus wéi en Tunnel, deen sech verbënnt an näischt transportéiert. Nach zwou Deeler feelen, well se ni an der mangle-Reegel optauchen, an dat sinn DNS an IPv6.
De Mythos: den Tunnel ass eng Client-Astellung
En VPN-Client op der Routersäit mécht eng plump Saach gutt: en setzt 0.0.0.0/0 an d'Haapt-Routingtabell an riicht se op den Tunnel. WireGuard leet dat aus AllowedIPs of, OpenVPN aus engem redirect-gateway, dee vum Server geschéckt gëtt, an déi zwou änneren de Wee fir all Host hannert dem Router. AllowedIPs ze verschmäleren oder route-nopull bäizesetzen ännert, wat de Client installéiert. Et ännert net, wien d'Installatioun betrëfft, well de Client ni Apparater gesäit. En gesäit just Paketen.
D'Auswiel no Quell oder Destinatioun ass eng Routing-Entscheedung, also gehéiert se zu der Policy-Schicht vum Router: eng mangle-Reegel plus eng zweete Tabell op RouterOS, e MARK plus eng ip rule op OpenWrt oder DD-WRT, oder eng Firewall-Reegel, deenen hire Gateway den Tunnel ass, op pfSense. Dem Netgate seng WireGuard-Client-Rezept ass déi, déi ee liese soll, ier een schätzt, well op där Plattform de Gateway vun der Reegel, d'Zouweisung vum Interface an den Outbound-NAT-Andrag musse sech eens ginn, ier een eenzegen Client den Tunnel benotzt.
Déi aner Halschent vum Mythos ass den zweete Router. En anere Këscht kafen, oder den Apparat op eng Gaascht-SSID réckelen, funktionéiert dacks, an de Grond ass net d'Hardware: et setzt den Apparat op säin eegent Subnetz, wat Iech den Quell-Selektor gëtt, deen d'Firmware schonn versteet. Wann Dir dee Segment op Ärem eege Router definéiere kënnt, léist d'Zousatzkëscht e Problem, deen Dir net hat.
Deel een: en Tunnel, deen net d'Standardroute ass
Op RouterOS füügt de Client ouni Standardroute bäi a gitt dem Tunnel seng eege Tabell. Déi éischt Route ass den markéierten Standard; déi zweet ass d'Feelerhalschent.
/ip route add dst-address=0.0.0.0/0 gateway=VPN_GATEWAY_IP routing-mark=vpn distance=1
/ip route add dst-address=0.0.0.0/0 type=unreachable routing-mark=vpn distance=2
Déi onereechbar Route ass de Grond, firwat eng markéiert Tabell eng Ausnamlëscht an der Haapttabell schléit. Wann den Tunnel fällt, kréie markéiert Paketen direkt en Onereechbar, amplaz sech stëll op de WAN zeréckzezéien, sou datt de Feeler an der Fehlermeldung vun der Applikatioun erschéngt an net op enger Geolokatiounssäit, déi Dir eng Stonn méi spéit kontrolléiert.
RouterOS 7 trennt, wat 6.x zesummengehalen huet: Dir deklaréiert d'Tabell mat /routing table add name=vpn fib an dann zitéiert Dir se mam Numm op der Route an an der mangle-Reegel. E 6.x-Schnipsel, deen routing-mark schreift, ouni d'Tabell ze definéieren, luede sech propper an entsprécht näischt. Déi aner Klassiker sinn zwou 0.0.0.0/1-Halschenten, oder zwou Standardroute mat der selwechter Distanz an enger Tabell: de Kernel wielt eng, an d'Verhalen kann no engem Reboot änneren.
Deel zwee: markéieren ier d'Route gesicht gëtt
De Selektor entscheet, wéi eng Paketen an déi Tabell kommen. RouterOS fänkt meeschtens mat enger Adresslëscht fir Destinatiounspolitik un, oder enger Quelladress fir Apparatspolitik:
/ip firewall mangle add chain=prerouting src-address=192.168.88.50 action=mark-routing new-routing-mark=vpn
/ip firewall mangle add chain=prerouting dst-address-list=via-vpn action=mark-routing new-routing-mark=vpn
/ip firewall address-list add list=via-vpn address=203.0.113.10
Linux-Firmware mécht datselwecht mat engem Netfilter-Mark an enger Reegel, déi markéiert Paketen an eng Tabell leet, déi Dir gefëllt hutt:
iptables -t mangle -A PREROUTING -p tcp --dport 27000:27050 -j MARK --set-mark 0x200
ip route add default dev tun0 table 100
ip rule add fwmark 0x200 table 100
D'Kette ass keng Stilwiel. Wann e Paket FORWARD erreecht, ass d'Route-Sich schonn geschitt, also kann e MARK oder DROP do just ëmschreiwen oder verwerfen. De Mark muss an PREROUTING landen fir weidergeleet Verkéier an an OUTPUT fir Verkéier, deen de Router selwer erzeugt, wou den DNS, NTP an d'Update-Prüfungen vum Router wunnen. Dee Output-Wee ass de gewéinlechen Grond, firwat eng komplett getunnelt Installatioun an engem Leak-Test nach ëmmer vum ISP-Resolver äntwert.
Apparatspolitik brauch eng Übereestëmmung, déi net drifft. Reservéiert d'Adress am DHCP, oder passt en Interface fir en eegene Segment un; eng Adress, déi spéider op en aneren Apparat wiesselt, applizéiert den Tunnel stëll um falsche Client. Eng Bréck pro SSID mat engem eegene Subnetz ass déi méi robust Versioun vun der selwechter Iddi, an et gëtt de IPv6-Reegele och eng Plaz.
Deel dräi: NAT, DNS an d'LAN-Ausnam
Verkéier, deen duerch den Tunnel fortgeet, brauch eng Quelladress, déi déi aner Säit äntwert. Begrenzt d'Iwwersetzung op den Tunnel-Interface: out-interface=VPN_NAME op RouterOS, -o tun0 op Linux, en entspriechenden Outbound-NAT-Andrag op pfSense. Eng Masquerade-Reegel ouni déi Begrenzung schreift Verkéier ëm, den Dir a Rou wollt loossen, an d'Symptom ass, datt den Apparat ouni Tunnel seng ëffentlech Adress verléiert.
D'LAN-Ausnam verursaacht méi Support-Threaden wéi den Tunnel selwer. Wann déi markéiert Tabell just eng Standardroute hält, entsprécht eng Drucker- oder NAS-Destinatioun vum gewielten Apparat deem Standard a verschwënnt an den Tunnel. Füügt d'LAN-Route an déi selwecht Tabell bäi, oder schléisst d'lokal Subnetz am Selektor aus; béides funktionéiert, an d'Ausschéissung ass méi einfach korrekt ze halen, wann Dir spéider VLANen dobäisetzt.
DNS hëlt e getrennte Wee. Ufroe, déi de Router weiderleet, si vum Router ausgaang a follegen OUTPUT, net dem weidergeleetenen Mark, also kann en komplett getunnelte Laptop nach ëmmer iwwer den ISP opléisen. Riicht d'Cliente op en Resolver, deen iwwer den Tunnel erreechbar ass, oder markéiert dem Router säin eegene port-53 Verkéier, an iwwerpréift dann déi opgeléist Adress, amplaz ze denken, d'Äntwert wier mat der Web-Ufro gereest.
Wann d'Reegel entsprécht, awer d'App nach ëmmer de WAN benotzt
Destinatiounslëschte ginn séier al. En Numm léist sech op eng Adress op, déi net an der Lëscht ass, also hëlt d'Ufro de WAN, während all Test, deen Dir géint déi opgelëscht Adress gemaach hutt, funktionéiert huet. Erfrëscht d'Lëscht vum selwechte Resolver, deen de Client benotzt, a gitt engem Quell-baséierte Selektor de Virzuch, wann Dir wierklech all Verkéier vun engem Apparat wëllt.
IPv6 ass de rouegen Ëmwee. Den Apparat huet eng zweet Adressfamill mat hirer eegener Standardroute an hirem eegene Reegelsatz, an nëmmen d'IPv4-Adress ze passen ass eng hallef Politik. Applizéiert dee selwechte Selektor op ip6tables oder dat nftables-Äquivalent, oder deaktivéiert IPv6 op deem Segment bewosst amplaz vun onbewosst.
Etabléiert Verbindungen zielen och. En conntrack-Andrag, dee virun der Ännerung entstanen ass, follegt dem ale Wee, bis en ofleeft, also gesäit e Browser, deen während der Ännerung op blouf, genee aus wéi eng Reegel, déi ni ugewannt gouf. Maacht eng nei Verbindung op, oder läscht de Staat, ier Dir d'Politik beurteelt.
Verifizéiert mat zwee Apparater an engem Reboot
Test den Apparat, deen duerch den Tunnel soll, an deen, deen net soll, a vergläicht den zweete Hop amplaz enger Vitesszuel. En Traceroute vun allengem weist entweder den Tunnel-Gateway oder den ISP-Gateway um zweete Hop; wann béides gläich ausgesäit, mécht de Mark oder d'Tabell net, wat d'Reegel seet. Benotzt nei Verbindungen fir den Test.
Dann reboot. D'Startreihenfolge ass do, wou eng funktionéierend Politik futti gëtt, well de Client muss gelaf sinn, ier déi onereechbar Route installéiert gëtt, an e gespäicherte Snapshot, deen den ale Reegelsatz restauréiert, iwwerschreift Är Tabell. Kontrolléiert, datt all Reegel an der gespäicherter Konfiguratioun ass an datt de markéierte Standard no dem Boot existéiert, net nëmmen nodeems Dir en agetippt hutt.
Wann eppes feelt, huelt d'éischt de Mark ewech a kuckt, ob normale Verkéier zréckkënnt, dann huelt d'Tabell ewech. Déi Reihenfolge seet Iech, ob Dir e Routingproblem oder e Firewallproblem joos, an et léisst dem Stot en funktionéierende Drucker, während Dir d'Aarbecht fäerdeg maacht.