Wéi een Test-LAN seng eege WireGuard-Ausgang kritt
Begrenzt een LAN op eng WireGuard-Ausgang mat enger dedizéierter Routingstabelle an engem onerreechbare Wiechter, während d'Gateway seng normal WAN-Standardroute behält.
Dräi Konzepter léisen dat selwecht Laborproblem: e klengt LAN muss duerch e WireGuard-Peer eraus, während d'Gateway selwer seng gewinnt Upstream-Verbindung behält. De verlockende Ëmwee ass, d'Standardroute vum Router an den Tunnel ze verleeën, awer dat brécht de eigene Managementwee vun der Këscht an alles anescht, wat se weidergëtt. Déi interessant Optioun ass Policy-Routing, begrenzt op eng eenzeg Interface an e eenzegt Präfix. Wielt tëschent hinnen, andeems Dir dräi Froen iwwer déi Maschinn beäntwert, déi Dir tatsächlech hutt.
Entscheet, wou den Ausgang wunnt
Éischt Fro: leet dësen Host och fir eppes anescht weider? Eng dedizéiert Labor-Gateway kann mat enger Forwarding-Politik liewen, déi standardméisseg alles verwerft. E Router mat Produktiounsaufgaben kann dat net, an e konkurréierend Regelset iwwer eng verwalt Firewall ze leeën ass genee de Wee, wéi Ausfäll geplangt ginn. Zweet: kënnt Dir zwee Politikobjete besëtzen an hir Reiefolleg iwwer Neistarts? Drëtt: autoriséiert de Peer, deen Dir hutt, Är Tunnelsquelladress a bitt en Internet-Ausgang? E Peer, deen nëmmen en private Netzwierk weist, ass en anert Produkt, a keng lokal Routingännerung mécht dat gutt. Wann eng Äntwert nee ass, setzt den Ausgang amplaz an en Nummraum oder an eng eegegebrauchte virtuell Maschinn.
En Nummraum oder eng VM kascht Erënnerung a gëtt Iech e propperen Explosiounsradius. Policy-Routing kascht zwou Reegele a léisst Iech eng eenzeg Këscht fir ze debuggen.
Wielt den Ausgang, deen Är Quell autoriséiert
Déi meescht Feeler an dësem Labor geschéien, ier iwwerhaapt eng eenzeg Firewall-Reeg existéiert. Den Operateur vum Ausgang muss d'Quelladress akzeptéieren, déi Är Pakete no der Iwwersetzung droen, an an dësem Konzept ass dat d'Tunneladress an net de LAN-Präfix. Dofir gehéiert d'Maskéierung vun Ufank un an de Konzept an net als spéit Ergänzung.
Bestätegt dräi Saache mam Operateur: de Peer autoriséiert Är Tunneladress, hie leet IPv4 weider amplaz sech selwer ze terminéieren, an hie wendet Egress-NAT un. Ouni dat Éischt kommen Är Paketen un a verschwannen. Ouni dat Drëtt ginn se mat enger privater Quell eraus a stierwen um nächsten Hopp. Préift dann, datt wg-quick net seng eegen Standardroute installéiert, wat Table = off verhënnert; déi Astellung ënnerdréckt d'Schafe vu Routen, net dem Peer seng AllowedIPs-Préifungen oder seng DNS-Behandlung.
Zwee Politikobjete maachen d'Steierung
D'Steierung brauch eng Tabell an eng Reegel. D'Tabell hält zwou Routen: de LAN-Präfix aus der LAN-Interface eraus an eng Standardroute aus dem Tunnel eraus. D'Reegel schéckt Verkéier, deen op der LAN-Interface ukommt an dee Präfix dréit, an d'Tabell. Benotzt de iif-Selektor nieft dem Quellmatch, well dem Gateway seng eege WireGuard-Paketen lokal entstinn a ni mat enger erakommender Interface iwwereneestëmmen.
De Wiechter kënnt virum Lookup, net duerno. Dës Reiefolleg ass déi ganz Sécherheetseigenschaft vum Konzept.
De Wiechter ass eng zweet Reegel um selwechte Selektor, där hiert Uerteel unreachable ass. Gitt hir eng méi héich numeresch Prioritéit, sou datt de Lookup nach ëmmer gewënnt, während den Tunnel uewen ass. Wann d'Tunnelroute verschwënnt, gëtt de Lookup näischt zréck an de Wiechter stoppt d'Sich, amplaz se op d'WAN-Standard an der Haapttabell falen ze loossen.
ip rule add from 192.168.50.0/24 iif lan0 lookup 51861 pref 1000
ip rule add from 192.168.50.0/24 iif lan0 unreachable pref 1001
ip route add table 51861 default dev wg0
Maacht d'Réckfallsgruef zou, ier Dir se opmaacht
Installéiert de Wiechter als éischt an de Lookup duerno. Am Ëmgekehrte léisst et e Fënster vu Sekonnen, an deem den Verkéier vun engem Testclient den Upstream erreeche kann.
De Filter komplettéiert d'Bild. Am forward-Hook akzeptéiert Dir d'Richtung vun LAN op Tunnel fir de Testpräfix an d'etabléiert Réckrichtung, an dann verwierft Dir alles anescht; den NAT fir dee Präfix op d'Tunnel-Interface geet an postrouting. Genau policy drop op der Forward-Kette ze loossen ass dat, wat eng fehlend Route a Stille amplaz an e Leck verwandelt. D'Reverse-Path-Filterung brauch de lockere Modus op der Tunnel-Interface, well eng ëffentlech Quell, déi dekapsuléiert ukommt, hir bescht Réckroute op der WAN-Säit huet. Linux hëlt deen héchsten aus all an pro Interface, also d'Tunnel-Interface ze setzen ass net datselwecht wéi d'Validatioun iwwerall ze schwächen.
Beweist et mam Feelerfall
Frot de Kernel eng prezis Fro, andeems Dir d'Quelladress vum Client an d'Interface nennt, op där se ukommt. E Lookup ouni béides beäntwert eng aner Fro a wäert a béide Fäll richteg ausgesinn. Kuckt dann op d'Firewall-Zähler, den Transferstatus vum Peer an de Service vum Client selwer.
Test d'Entfernen richteg. Stoppt den Tunnel, während d'Reegel an de Filter op hirem Platz bleiwen: de Client soll stocken an dem Gateway säi eigenen Verkéier soll weider funktionéieren. Stoppt dann de Peer, ouni déi lokal Interface unzepaken, an dat ass de Fall, dee Konzepter fänkt, déi sech nëmmen op d'Präsenz vun der Route verloossen. Zum Schluss startet nei a préift d'Reiefolleg vun de Reegele nach eng Kéier, well en Ofbauhook, deen de Wiechter ewechhëlt, de ganze Konzept un d'Haapttabell zréckgëtt. Notéiert d'Tabellnummer, d'Prioritéiten an d'Interface-Nimm um Ännerungsticket, well déi nächst Persoun, déi eng Reegel bäisetzt, ass déi, déi dat hei brécht.