VPN-Gateway um Raspberry Pi: eng eenzeg Netzkaart oder en eegene Client-Port
Ee Pi-Port kann ausgewielte Cliente bedéngen, oder en zweete Port kann d'Apparater aschléissen. Wielt de Layout no Ofschottung, Fallback-Politik a wien den DNS huet.
Dir hutt ee Pi, ee funktionéierenden erausgängigen VPN-Profil an zwee Apparater, déi iwwer hie sollten an den Internet kommen. D'Fro, déi de ganze Bau entscheet, ass net, wéi enger Uleedung een follegt, mä wéi vill Ofschottung Dir braucht. Een eenzegen Port léisst de Pi niewent dësen Apparater um LAN vum Router stoen an als zousätzlech Gateway wierken; en zweete Port léisst Iech se op engem Segment setzen, wou de Pi den eenzegen Ausgang ass. Alles wat no där Wiel kënnt — DHCP, Ëmfang vun der Firewall, DNS, de Fall vum Ausfall — kënnt dohier.
A wat d'zwee Layouten sech wierklech ënnerscheeden
Béid Entwërf routeren. Den Ënnerscheed ass, wien nach um Kabel steet a wat geschitt, wann Är Politik falsch ass.
| Layout A: Pi on the ISP LAN | Layout B: dedicated client port | |
|---|---|---|
| Cabling | One Ethernet port, existing switch port | Two interfaces: uplink plus a separate LAN port |
| Can a client bypass the Pi? | Yes, by using the ISP router as its gateway | No, unless the device has another radio or link |
| Who hands out addresses | The ISP router, with a per-client setting or a DHCP option | The Pi, on its own LAN interface only |
| Blast radius of a mistake | Any LAN host, if a rule is too broad | The attached segment |
| Good fit for | One laptop, a console, a temporary test client | Appliances, always-on boxes, untrusted devices |
Ofschottung ass déi real Achs. Layout A ass berodend: en Apparat, deen d'Gateway aus dem DHCP ignoréiert an de Router wielt, funktionéiert weider, awer onverschlësselt. Layout B gëtt duerch d'Topologie erzwongen, well et keen aneren nächsten Hop gëtt ze wielen.
Layout A: de Pi als zousätzlech Gateway um bestoende LAN
Hält un, datt den ISP-Router 192.168.50.1 ass, de Pi 192.168.50.2, an d'ausgewielte Clienten op de Pi weisen. Wichteg ass, datt zwee verschidde Paketstréim ee Kabel deelen. De bannenzege Pak vum Client kënnt um Pi un a muss duerch den Tunnel eraus; dem Pi säin eegene verschlësselte Pak zum VPN-Peer muss iwwer dee selwechte Kabel zum Router eraus. Si reesen a géigende Richtungen iwwer déiselwecht Interface an brauchen eng aner Behandlung.
Gitt dem Pi seng Adress iwwer dee installéierte Netzmanager, net iwwer eng al Interface-Datei-Rezept, déi mat him ëm den Apparat streit. Stellt dann d'Cliente an: eng statesch Gateway op engem Apparat, oder eng DHCP-Reservatioun, déi 192.168.50.2 als Router ausgëtt. Ännert net de ganzen DHCP-Beräich vum Router fir zwee Apparater, a maacht net d'Annam datt e Client d'Optioun respektéiert — iwwerpréift et.
D'Schwächt ass strukturell an net reparabel. Jiddwereen Client op deem Segment kann op 192.168.50.1 weisen a kloer erausgoen, an en Apparat mat enger zweeter Interface oder engem Mobilfunk verléisst Ären Duerchsetzungswee komplett. Wann dee Saz fir den Apparat an der Fro net akzeptabel ass, hutt Dir Är Äntwert schonn: benotzt de Layout B.
Layout B: en eegene Port schléisst d'Apparater an
Hei behält de Pi 192.168.50.2 um Uplink mat Gateway 192.168.50.1, an hëlt 10.20.0.1/24 op enger zweeter Interface fir d'ugehaangen Apparater. De Pi ass elo en Router mat zwou Netzwierker, an dee ugehaangene Segment huet genee een Ausgang.
Iwwerpréift de Beräich géint alles anescht, ier Dir Iech festleet: den eegene Subnetz vum Tunnel, aner Standort-zu-Standort-Präfixer an alles, wat iwwer de VPN erreechbar ass. En 10.20.0.0/24, dee mat engem wäitem LAN kollidéiert, gëtt dee bal funktionéierende Resultat, deem seng Diagnos en Owend kascht. Wann den zweete Port en USB-Adapter ass, bestätegt datt en ënnerstëtzt gëtt, a fixéiert säin Numm am Netzmanager, datt eng Ëmuerdnung no engem Neistart Är LAN-Adress net verréckelt.
Loosst den DHCP-Lauschterer nëmmen op där Interface lafen. En Server, deen um Uplink äntwert, konkurréiert mam ISP-Router a verdeelt d'Adresse vun Ärem Segment un de Rescht vum Haus. Bindt en un d'LAN-Interface, begrenzt en op de deklaréierte Beräich, a haalt dem Pi seng eegen Adress aus dem Pool.
Weiderleedung, Iwwersetzung an d'Reegel fir bei Feeler zouzemaachen
Véier Saache ginn dacks als eng beschriwwen an sinn et net. D'Weiderleedung aschalten (net.ipv4.ip_forward=1) seet dem Kernel nëmmen, datt en Pakete tëscht Interface bewege kann; et erlaabt fir sech selwer näischt a garantéiert kee Wee. D'Entscheedung iwwer den Ausgang ass eng Routing-Decisioun. De Pak erlaaben ass eng Politik-Decisioun an der forward-Kette. Seng Quell nei schreiwen ass eng postrouting-Decisioun. E Bau, dee just dat Éischt mécht, gëtt en Pi, deen de Client-Trafic fréilech iwwer den Uplink eraus weiderleet.
Begrenzt d'Erlaabnis op d'Quellen, déi Dir gemengt hutt, an op d'Interface, déi den Trafic soll benotzen, a schléisst de Retourwee an dem Pi seng eege noutwenneg Ziler mat an. Iwwersetzt dann um Tunnelausgang, wann den Ubieder Äre LAN-Präfix net op Iech zréck routert. nftables-Handbuch behandelt Weiderleedung, lokalen Ausgang an Quell-Iwwersetzung als getrennte Operatiounen, wat hei dat richtegt Denkmuster ass.
De geleefege Feeler ass eng breet masquerade-Reegel op der physescher Interface. Dann erreecht den Trafic den Internet iwwer den ISP-Wee, wärend en aus Client-Siicht genee wéi en funktionéierende VPN ausgesäit. Dat beweist näischt. Hält d'Iwwersetzung un den deklaréierten Ausgang gebonnen, a haalt Är Reegele an der Firewall, déi den Host schonn benotzt, amplaz eng konkurréierend Reegele-Set dobäizesetzen, déi eng gedeelte postrouting-Kette leemaacht.
Behandelt dann d'Fehlen vum Tunnel. En Client-Profil, deen eng breet Standardroute installéiert, heescht och, datt wann den Tunnel fält, déi gewéinlech Standardroute ka zréckkommen an de Client-Trafic roueg op den Uplink zréckgeet. Wou de Réckfall op Kloertext net akzeptabel ass, muss d'forward-Politik den Trafic vum Client op den Uplink ausdrécklech ofleenen, an deem Zoustand, wou d'VPN-Route fort ass. Schreift dat als Ofleennungs-Reegel, net als Annam. Dem Pi säi verschlësselten Transport zum VPN-Peer ass en eegene local-output-Stroum a muss erlaabt bleiwen, soss kann den Tunnel ni zréckkommen.
DNS an IPv6 brauchen hir eege Äntwert
Wann d'Cliente den Pi als Resolver benotzen, stoussen se op e lokale Lauschterer an de Pi fänkt eng nei Ufro un. Déi Upstream-Ufro follegt dem Pi seng eegen Route, net der forward-Reegel, déi Dir fir d'Cliente geschriwwen hutt, dofir ass e Client-Wee nëmmen duerch den Tunnel plus e Resolver, deen direkt erausgeet, e Leck ouni eng eenzeg Fehlermeldung. Entscheet bewosst: e Resolver, deen iwwer den Tunnel erreecht gëtt, oder engem lokalen, deen Dir als direkt akzeptéiert, a passt dem Pi seng eegen Ausgangspolitik un déi Entscheedung un.
IPv6 ass nach eng Kéier e Fall fir sech. Eng forward-Reegel fir IPv4 begrenzt näischt wat IPv6 ugeet, an d'Router-Annoneen um Uplink kënne dem Pi, an duerch hien dem ugehaangene Segment, eng zweet Standardroute ginn, déi Är Politik ëmgeet. Gitt entweder dem IPv6 säin eegene geschützte Wee nom selwechte Prinzip, oder begrenzt en ausdrécklech um Client-Segment a sot et.
Test d'Grenz, ier Dir hatt traut
Akzeptéiert den Entworf eréischt no véier getrennten Iwwerpréiwungen, well deen verlockende eenzegen Test — e Browser op engem Client opmaachen — a verschiddene gebrache Zouständ bestoe gëtt.
Bestätegt, datt ee richtegen Client iwwer den Tunnel den Internet erreecht, a bestätegt duerno, datt dee selwechte Client den Internet net erreecht, wann den Tunnel ënnen ass. Bestätegt, datt d'DNS-Opléisung funktionéiert an d'Ufro do erausgeet, wou Dir et wollt. Bestätegt, datt dem Pi säin eegenen Transport och no engem Neistart vum Tunnel funktionéiert, an datt d'Erhuelung kee Neistart vum System verlaangt. Iwwerpréift zum Schluss en Apparat, deen Dir net ausgewielt hutt: ënner Layout A soll en normal weiderlafen, an ënner Layout B soll en op deem Segment guer net existéieren.
- Zwee Porten an eng Ofleennungs-Reegel ginn Duerchsetzung; ee Port an eng DHCP-Optioun ginn Rot.
- Iwwersetzung op der falscher Interface gesäit wéi Erfolleg aus an ass et net.
- Dem Pi säin eegenen Trafic, DNS an IPv6 brauchen all eng Entscheedung, keng Ofleedung.