No enger IP-Ännerung vum Server nennt d'SNAT-Reeg nach ëmmer déi al
En Tunnel kann sech verbannen, während all weidergeleet Paket stoppt, well d'Iwwersetzungsreeg nach ëmmer op eng Adress ëmschreift, déi den Host net méi huet.
De Server ass op eng nei Adress geplënnert, d'Clienten verbannen sech nach ëmmer, an näischt vun deem, wat si schécken, erreecht d'Internet. Genee déi Trennung ass den Hiweis: de lauschende Socket an d'Portweiderleedung hunn de Plënneren iwwerlieft, also kënnt den Tunnel erop, während d' Quell-Iwwersetzung, déi op weidergeleet Paket ugewannt gëtt nach ëmmer eng Adress nennt, déi den Host net méi huet. Äntwerten op déi ëmgeschriwwe Paket ginn op eng Maschinn, déi et net méi gëtt.
Verbindung a Weiderleedung versoen op verschiddene Plazen
D'Opbau hänkt vum Endpunkt of, deen d'Clienten schonn kennen: déi ëffentlech Adress, d'Portweiderleedung dervir an de Lauschterer dobannen. De weidergeleet Trafik hänkt vun enger zweeter Entscheedung of, déi geholl gëtt, nodeems de Paket an den Tunnel erakënnt, wann den Host seng Quell ëmschreift, sou datt d'Äntwerten de Wee zeréck fannen.
Eng Adressännerung brécht just déi zweet Entscheedung, an dofir gëtt de Symptom als "verbonnen awer keen Internet" gelies. Dat erkläert och, firwat déi üblech Kontrollen op der Client-Säit gesond ausgesinn: den Handshake gëtt fäerdeg, de Client kritt eng Adress, an och e Ping op d'Tunneladress vum Server kann äntweren. Stonne ginn um Client verluer fir e Feeler, deen op der anerer Säit wunnt, dofir ass d'Regeltabelle déi éischt Plaz fir nozekucken.
Liest d'Reeg an hir Comptoiren, ier dir ännert
Lëscht d'Iwwersetzungsregele mat Comptoiren op a vergläicht déi konfiguréiert Quell mat den Adressen, déi den Host tatsächlech huet. Eng Reeg, déi op eng dout Adress ëmgeschriwwe gouf, weist meeschtens Trafik um Hiwäer, well Paket se erreechen an iwwersat ginn, an näischt um Réckwäer.
sudo iptables -t nat -L POSTROUTING -n -v --line-numbers
ip -4 addr show
Kuckt dräi Felder, während dir do sidd: de Pool am Quellmatch, d'Ausgangsinterface wann d'Reeg eng nennt, an d'Ausschlossung, déi verhënnert, datt Trafik tëschent Tunnelen ëmgeschriwwe gëtt. Déi Ausschlossung verléiert een einfach bei enger Ännerung, an hire Verloscht mécht, datt de Trafik tëschent Peeren funktionéiert ausgesäit, während seng Äntwerten en iwwerraschende Wee huelen.
Wann d'Comptoiren op Null stoe bleiwen, erreechen d'Paket dës Reeg ni an d'Adress ass net dat aktuellt Problem. Sicht eng konkurréierend Reeg méi fréi an der Kette, wat geschitt, wann een eng Ersatzreeg bäisetzt, amplaz d'Original z'änneren. Vergläicht d'Regelnummeren mam Output, deen dir virun enger Minutt notéiert hutt. D'Reiefolleg ass Deel vun der Konfiguratioun, keen dekorativen Detail.
Ersetzt d'Quell, oder hält op eng ze nennen
Wann den Host eng stabil Adress huet, ersetzt d'Reeg op hirem Platz, amplaz eng aner bäizesetzen. D'Ersetze no Regelnummer behält d'Reiefolleg, vun där de Rescht vun der Kette ofhänkt.
sudo iptables -t nat -R POSTROUTING 1 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to-source 10.151.0.40
Wann d'Adress dynamesch zougewise gëtt, nennt guer keng Quell a loosst de Kernel déi aktuell aus dem Ausgangsinterface wielen. Déi Variant iwwerlieft déi nächst Plënneren ouni Ännerung, op de Käschte vum Verstoppen, wéi eng Adress benotzt gouf.
sudo iptables -t nat -R POSTROUTING 1 -s 10.8.0.0/24 ! -d 10.8.0.0/24 -o eth0 -j MASQUERADE
Bestätegt, datt d'IPv4-Weiderleedung nach ëmmer iwwer eng verwalt Konfiguratioun aktivéiert ass, an da maacht d'Reeg dauerhaft mam eegene Mechanismus vun der Distributioun. Eng Ännerung, déi just am lafende Kernel gemaach gouf, kënnt mam nächste Neistart zeréck, meeschtens an engem Ënnerhaltfenster, deen een net mat der Ännerung verbënnt.
Zwee Weeër, fir den Ersatz falsch ze maachen
De Pool op d'Tunneladress vum Server ze iwwersetzen amplaz op seng LAN-Adress schéckt d'Äntwerten direkt an den Tunnel zeréck, wou se zu engem Client geroutet ginn, dee se ni gefrot huet. D'Verbindung stoppt op eng Manéier, déi wéi eng Routing-Schleef ausgesäit, well et eng ass.
Eng zweet Iwwersetzung iwwer déi al ze stapelen ass deen anere Feeler. Déi éischt passend Reeg gewënnt, also behandelt den alen Entrée nach ëmmer Paket, bis en geläscht gëtt, an d'Comptoire vun der neier Reeg bleiwen op Null, während jidderee den Ersatz beschëllegt. Läscht den Duplikat, ier dir eppes Neies bäisetzt. Liest dann d'Lëscht nach eng Kéier a bestätegt, datt genee eng Iwwersetzung zum Pool passt.
Wann den Tunnel och IPv6 dréit, widderhëlt déi ganz Iwwerpréiwung um anere Stack. Eng IPv6-Defaultroute ouni Iwwersetzung an ouni geroutete Prefix versot just esou stëll, an et ass einfach ze vergiessen, well alles driwwer identesch ausgesäit.
Inbound-Servicer brauchen déi ëmgekéiert Iwwersetzung
E Service op engem VPN-Client, deen dobaussen erreechbar musse sinn, brauch Ziel-Iwwersetzung, net Quell-Iwwersetzung: de ëffentleche Port gëtt op d'Tunneladress vum Client ëmgeschriwwen, ier en erakënnt. De Weiderleedungswee brauch dann eng ausdrécklech Reeg, déi deen Trafik erlaabt.
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.9.8.2:8080
Iwwersetzt ni de Port, deen den Tunnel selwer dréit, well déi Ëmschreiwung d'Verbindung ënnerbriecht, déi de Service erreechbar hält. Halt den Tunnelport komplett aus den Zilregele raus. Verifizéiert duerno vun zwou Säiten: Comptoiren op der neier Reeg, eng kuerz Opnam um Tunnelgerät an eng Ufro op eng Adress bannen am Tunnel, ier dir déi ëffentlech probéiert.