Den Handshake geet duerch, wg show mellt rezent Transfer, an d'Tunneladress vum Server äntwert op e Ping. En Host am LAN vum Server awer net. Dräi Konditioune mussen zur selwechter Zäit erfëllt sinn: de Client muss de LAN-Präfix an den Tunnel routeieren, de Server muss d'Paketen weiderleeden, an d'Äntwert brauch e Wee zréck. Wann eng vun den dräi feelt, ass de Symptom identesch.

AllowedIPs ass souwuel eng Zougangslëscht wéi och eng Routing-Tabell

Um Client entscheet d'Lëscht AllowedIPs souwuel wat un dëse Peer geschéckt ka ginn wéi och wéi eng Route WireGuard installéiert. En Peer-Andrag, deen nëmmen d'Tunneladress vum Server oplëscht, installéiert eng eenzeg Host-Route, dofir kommen LAN-Ziler ni an den Tunnel. De LAN-Präfix bäizefügen ass dat Éischt wat ze préiwen ass, an et ass och déi Ännerung, déi no enger kopéierter Konfiguratioun am dackste feelt. En Peer, deen op eng Standardroute erweidert gouf, ass en aneren Design, an en verréckelt och den Internetverkéier vum Client.

Halt d'Host-Route an de LAN-Präfix als getrennt Andräg. Wann de Büro zwee Subnetzer huet, gehéieren béid an d'Lëscht, an de fehlenden zweete Präfix produzéiert e Fehler, dee selektiv amplaz total ausgesäit.

[Peer]
PublicKey = <server public key>
Endpoint = vpn.example.net:51820
AllowedIPs = 10.66.0.1/32, 192.168.50.0/24

Weiderleedung an Iwwersetzung gehéieren op de Server

De Server brauch ageschalt IP-Weiderleedung, eng Weiderleedungsregel déi Verkéier aus dem Tunnel unhëlt, an eng Iwwersetzungsregel a Richtung vu senger LAN-Schnittstell. D'Iwwersetzung ass et, déi den Design funktionéiere léisst, ouni all Host am Büronetz ze beréieren. D'Äntwerten ginn dann zréck op de Server amplaz op eng Adress, vun där de LAN ni héieren huet. Ouni si brauch all Host eng Route fir den Tunnel-Subnetz an eng Firewallregel, déi et erlaabt, wat an engem Netz, dat een aneren administréiert, seele akzeptabel ass.

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i wg0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Reegele vun Hand verschwannen beim Neistart, also bind se mat den Hook-Befehle vun der Serverkonfiguratioun un d'Schnittstell. En Reelesatz, deen seng Schnittstell iwwerlieft, ass de Wee wéi eng Maschinn am Schluss Verkéier fir en Tunnel iwwersetzt, deen net méi existéiert.

Wéi de LAN sech beweegt huet an d'Reegel net

Den Austausch vun engem Router, deen den Büro-Subnetz nei nummeréiert, ass déi klassesch Versioun vun dësem Fehler. Den Tunnel bleift un, den Handshake bleift frësch, an hannert dem Server äntwert näischt, well d'Iwwersetzungsregel nach ëmmer déi al Adress nennt. Installatiounsskripten backen d'LAN-Adress vum Server dacks an eng POSTROUTING-Regel, an no enger Neinummeréierung existéiert déi Adress op kenger Schnittstell. D'Pakete ginn dann op en Zil ëmgeschriwwen, dat net äntwere kann.

iptables -t nat -n -L POSTROUTING
ip -br addr show

Vergläicht déi zwou Ausgaben. En Iwwersetzungszil, dat net an der Schnittstellëscht erschéngt, ass de Fehler, an en ze fixen ass eng Ännerung vun enger Zeil, soubal een en gesinn huet. D'Reegel kann an enger generéierter Unit liewen amplaz an der WireGuard-Konfiguratioun, also lued déi Unit no der Ännerung nei a bestätegt, datt den nächsten Start Är Ännerung net iwwerschreift.

Zwee Siten hannert NAT brauchen en Treffpunkt

Wann keng Säit erakommend Verbindungen unhëlt, ass déi praktesch Äntwert e klengen Host mat enger ëffentlecher Adress an zwou WireGuard-Schnittstellen. All Site verbënnt sech no baussen, de mëttleren Host lëscht de LAN vun all Peer a senger eegener AllowedIPs, an d'Weiderleedung dréit Paketen tëscht den zwéin Tunnelen. Näischt an der Firewall vun enger vun de Siten muss sech änneren, dofir verbreet sech dësen Design liicht.

D'Routing tëscht de Siten behält d'Originalsprongsadressen a mécht domat d'Logging pro Host sënnvoll. D'Iwwersetzung um mëttleren Host ass méi einfach, wann déi zwou LAN sech iwwerschneiden, awer op Käschte vum Verloscht vun der Sprongsidentitéit an de Loggen. Entscheet, wéi eng Eegenschaft zielt, ier Dir wielt.

Trennt d'Schichten mat véier Kontrollen

Maacht eng Kontroll pro Schicht amplaz dräi Saachen z'änneren an ze hoffen. Déi éischt weist den Alter vum Handshake an d'Zieler fir all Peer. Déi zweet weist, ob de Client dat Zil tatsächlech an den Tunnel routeiert. Déi drëtt an déi véiert soen Iech, ob d'Ufro ukomm ass an ob eng Politik se no der Arrivée verworf huet.

wg show
ip route get 192.168.50.20
tcpdump -ni wg0 icmp
iptables -vnL FORWARD --line-numbers

Eng Ufro, déi ukomm an keng Äntwert ausléist, weist op de Wee vun der Äntwert oder op den LAN-Host. Eng Ufro, déi ni ukomm, weist op AllowedIPs oder op d'Route vum Client. Déi zwou Resultater brauchen ënnerschiddlech Korrekturen, an d'Opnam ass et, déi se ënnerscheet.

Ähnlech Artikelen