Zwee Clienten kënnen allebéid den Jump-Host opmaachen an hunn trotzdeem näischt domat ze dinn, sech géigesäiteg opzemaachen. En Déngscht z'erreechen ass eng Weiderleedungsentscheedung, wärend en Peer z'erreechen eng Politikentscheedung ass, an déi meescht VPN-Stäck halen déi a getrennten Objeten. Näischt, wat Dir fir dat éischt konfiguréiert, setzt dat zweet duerch. D'Aufgab ass also net eng Regel bäizefügen, mä den Objet ze fannen, deen op dësem Server de Peer-Trafic entscheet, de Refus do ze schreiwen an en vun engem Client aus ze bewäisen.

Eng Route zum gedeelten Déngscht ass keng Erlaabnes tëscht Peeren

D'Client-Subnetz annoncéieren seet engem Peer, wéi en e Paket op de Kabel an Richtung vun enger anerer Client-Adress leet. Ob dee Paket geliwwert gëtt, entscheet sech duerno, duerch dat, wat en weiderleet. Op enger Linux-Gateway ass dat d'FORWARD-Kette; an engem Daemon am Benotzerraum ass et d'Sëtzungstabell vum Tunnel selwer. Eng Route äntwert op d'Erreechbarkeet an läisst d'Erlaabnes onberéiert.

Dofir bewäist eng Isolatiounspréifung, déi nëmme Route liest, näischt. Eng /24 kann un all Client geschéckt ginn, wärend all Peer-zu-Peer-Paket um Weiderleedungshaken erofgeet. De geféierleche Fall ass de Géigendeel: keng explizit Regel, en erlaabende Standard an eng Isolatioun, déi nëmmen do ass, well se keen getest huet.

Schreift d'Ufuerderung an enger Linn op, ier Dir en Terminal opmaacht. Erreecht de Déngschtblock an den Jump-Host, erreecht näischt anescht am Clientblock.

Fannt eraus, wien de Peer-Paket tatsächlech weiderleet

Zwee Serververhalen gesinn aus Clientsiicht d'selwecht aus a brauchen ënnerschiddlech Regelen. Entweder leet de Kernel de Paket erëm aus der Tunnel-Schnittstell eraus, oder den Daemon kopéiert en tëscht Sëtzungen an de Kernel gesäit en ni.

WireGuard gehéiert zum éischte Grupp: et huet keen Ëmschalter tëscht Peeren, also kënnt e Paket vu 10.8.0.4 op 10.8.0.5 op wg0 un, trëfft de Weiderleedungshaken an gëtt erëm aus wg0 geroutet, wann AllowedIPs béid Adressen deckt. OpenVPN ass den zweete Grupp, soubal client-to-client an der Serverkonfiguratioun gesat ass, well dës Direktiv de Paket am Benotzerraum tëscht Sëtzungen iwwergëtt. Kontrolléiert déi geluede Konfiguratioun op dës Direktiv, ier Dir eppes schreift. Eng Kernelregel, déi ni Trafic gesäit, ass net vun enger Regel z'ënnerscheeden, déi funktionéiert, an esou endet eng Ausrollung komplett ouni Isolatioun.

Liest déi effektiv Konfiguratioun an net d'Datei, déi Dir ugeholl hutt gelueden ze sinn, well Distributiounspäckercher hir eegen Inklusiounen bréngen. Wann den Daemon weiderleet, gehéiert de Refus zu sengen eegenen Kontrollen pro Client, an eng Host-Firewall filtéiert nëmme Trafic, deen un den Host adresséiert ass. Wann de Kernel weiderleet, ass de Weiderleedungshaken déi eenzeg Plaz, déi zielt.

Geroutete an iwwersate Ausrollungen brauchen nach eng Kontroll: d'Quell, déi e wäite Client gesäit, ass vläicht net déi, déi Dir erwaart. Dann entsprécht eng Regel, déi op d'Client-Subnetz passt, näischt. Notéiert d'Adress, déi d'Iwwersetzung iwwerlieft, ier Dir d'Passung schreift, a bevirzugt d'Interface-Puer ze passen, amplaz NAT-Adressen ze roden.

Gitt all Adress eng Identitéit, déi een eleng ka widderruffen

D'Isolatioun fält zesummen, soubal zwee Geräter eng Umeldungsinformatioun deelen. Eng Regel, déi un dës Identitéit gebonnen ass, kann se net trennen, an de Widderruff vun engem verluerenen Laptop widderrufft déi ganz Grupp. Zertifikater pro Gerät oder Schlësselen pro Peer halen de Widderruff lokal an d'Politik liesbar, well all Adress genau enger Persoun oder Maschinn entsprécht. Wou den Design dat net kann, sagt et am Runbook, amplaz d'Regel als feingranular ze beschreiwen.

D'Adressverdeelung muss mat der Politik iwwerenee stëmmen. Reservéiert e Block fir Déngschter, e Block fir Clienten, a verdeelt Client-Adressen aus engem Pool, deen Dir kontrolléiert, an net aus enger Rei, wou deen éischten kënnt. Wann de Server iwwersetzt oder bréckt, haalt d'Mappingstabelle nieft der Konfiguratioun, well déi Tabelle ass, wat den nächsten Lieser brauch, fir d'Regel erëm ofzeleeden.

Setzt de Refus do, wou de Paket den Tunnel iwwerquiert

Op enger Gateway, déi WireGuard-Trafic weiderleet, decken zwou Regele de Fall of: erlaabt den Déngschtblock, da verwerft de Rescht vum Clientblock. D'Interface-Puer zielt esou vill wéi d'Adressen, well eng Passung nëmmen op den Destinatioun och Trafic aus dem LAN fänkt. Luet se an där Rei, sou datt d'Erlaabnes fir d'éischt bewäert gëtt.

Mat nftables geet d'Puer an eng existent inet filter-Tabelle, Erlaabnes fir d'éischt an Verwerfen duerno. Béid Passungen pinn d'Interface-Puer souwéi d'Adressen.

nft add rule inet filter forward iifname "wg0" oifname "wg0" ip saddr 10.8.0.0/24 ip daddr 10.8.2.0/24 accept
nft add rule inet filter forward iifname "wg0" oifname "wg0" ip saddr 10.8.0.0/24 ip daddr 10.8.0.0/24 drop

Liest d'Kette no dem Lueden zréck, amplaz dem Exit-Status ze vertrauen, a bestätegt, datt béid Regele an der gewënschter Rei stoen. Füügt passend ip6-Regele fir de IPv6-Pool bäi, soss ass d'v4-Puer op engem Dual-Stack-Tunnel nëmmen Dekoratioun. Wann de Server schonn eng erlaabend Weiderleedungspolitik huet, füügt d'Verwerfen bäi, amplaz d'Kette ganz z'ersetzen.

Wann client-to-client op OpenVPN aktivéiert ass, passen dës Weiderleedungsregele ni op Peer-Trafic an de Refus muss an den eegene Kontrollen vum Daemon liewen. Haalt d'Kernelregele fir Trafic un den Host, awer zielt se net als d'Isolatiounskontroll.

Bewäist de Refus vun engem Client, net vum Server

Tester vun der Gateway aus bewäist näischt, well lokal generéierten Trafic den Ausgangswee hëlt an de Weiderleedungshaken ni iwwerquiert. Benotzt zwee richteg Clienten: een, deen den Déngscht soll erreechen, een, deen soll verworf ginn. Fuert den erlaabten Fall als éischt aus, sou datt en defekten Tunnel net fir eng funktionéierend Politik gehal gëtt.

Vum erlaabten Client aus bestätegt, datt den Déngscht op sengem Port äntwert. Vum selwechte Client aus probéiert d'Peer-Adress a waart op e stille Verwerfen amplaz op eng Oflehnung:

ping -c 3 -W 2 10.8.0.5
nc -z -w 2 10.8.0.5 22
nft list chain inet filter forward
iptables -vnL FORWARD
ping -6 -c 3 -W 2 fd00:8::5

E verworfene Paket an en Offline-Peer gesinn allebéid wéi en Zäitofleef aus, also kontrolléiert d'Zähler, ier Dir eppes schléisst. Bestätegt, datt den Zähler vun der Verwerfungsregel klëmmt, wärend de Peer bewäislech erreechbar ass. Widderhëlt dat iwwer IPv6, wou eng fehlend ip6-Regel de v4-Refus effektiv ausgesäit. Hält déi akzeptéiert an ofgelehnt Resultater mam Datum am Runbook fest, well déi nächst Migratioun d'Regel erëm ofleet.

Ähnlech Artikelen