Wou de VPN-NAT an der UFW hirer before.rules gehéiert a wéi een en testt
Eng NAT-Linn an before.rules muss an engem gültegen Tabellabschnitt mat engem COMMIT stoen. Parséiert den Kandidat mat iptables-restore --test, ier dir UFW nei luedt.
Eng NAT-Regel, déi funktionnéiert, wann een se an eng Shell tippt, versot, wann een se an before.rules pasteet, well dës Datei kee Skript ass. Et ass en Dokument am Restauratiounsformat mat Tabellabschnitter, Kette-Deklaratiounen an engem COMMIT-Marker fir all Tabell. Eng Linn op der falscher Plaz briicht entweder déi ganz Restauratioun of oder verwërft stëll Regelen, vun deenen dir gegleeft hutt, si wieren do. D'Prozedur hei drënner setzt de Fragment dohinner, wou de Framework en erwaart, a beweise d'Resultat virun der nächster Neiopladung.
E Shellkommando ass keng Restauratiounsdatei
Eng Linn, déi mat iptables -t nat ufänkt, ass eng Uweisung un de iptables-Binaire, während d'Datei, déi UFW liest, eng Beschreiwung vun engem komplette Reegelset ass. Den Ënnerscheed ass net kosmetesch: de Restauratiounsformat muss wëssen, an wéi enger Tabell e steet, wéi eng Ketten existéieren an wou d'Tabell op en Enn geet. En Kommando, deen an dat Dokument pasteet gëtt, ass entweder e Syntaxfehler oder, schlimmer, eng Regel, déi un déi falsch Tabell ugehaangen ass. De Framework lued dës Dateien iwwer Restauratiounsinstrumenter just well se deklarativ sinn an net sequenziell.
Dokument gëtt och als Ganzt gelueden, dofir kann een eenzelen defekten Abschnitt d'Uwendung vum Rescht vun der Datei stoppen. Dofir zitt e klengen Feeler an engem NAT-Fragment d'Filterregelen mat erof, an esou gëtt aus enger Firewall-Ännerung en Ausfall.
Setzt de Fragment an den existéierenden Tabellabschnitt
En NAT-Fragment huet eng Form, an d'Form ass wichtiger wéi de Regeltext dobannen. Den Tabellkapp mécht den Abschnitt op, Kette-Deklaratiounen etabléieren d'Zieler, d'Reegelen follegen, an e COMMIT schléisst den Abschnitt.
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.55.0.0/24 -o ens3 -j MASQUERADE
COMMIT
D'Pool an d'Interface uewendriwwer sinn Plazhalter fir Är eege Wäerter; d'Struktur ass den Deel, deen et wäert ass ze kopéieren. Wann d'Datei schonn en *nat-Abschnitt enthält, setzt d'Regel dobannen an dësen Abschnitt, amplaz en zweeten opzemaachen, well de Format ee COMMIT pro Tabell erwaart an zwéin Abschnitter fir déi selwecht Tabell eng Reparatur sinn, déi drop waart ze geschéien. Halt d'Kettendefinitioune vun der Distributioun intakt, och déi, déi de Fournisseur fir seng eege Integratioun derbäigesat huet. Den UFW-Framework-Handbuch dokumentéiert d'Dateien before, user an after zesumme mat der Ufuerderung vun engem passenden COMMIT.
Wann d'Datei sech als eidel erweist, fëllt se net aus engem Tutorial. Bestätegt, wéi ee Paket se besëtzt a wat d'live Politik tatsächlech ass, well eng eidel persistent Datei net beweist, datt de Kernel keng Regele huet, an e geluedene Reegelset net beweist, datt déi nächst Neiopladung eng komplett Datei zum Liesen huet. Stellt d'ënnerstëtzte Basislinie als éischt erëm hier, a setzt duerno d'Site-Ännerungen drop erëm an.
Testt de Kandidat, ouni en unzewenden
D'Restauratiounsinstrument kann e Reegelset parsen a bauen, ouni et unzewenden, wat den bëllegsten Test ass, deen et gëtt. Führt en op enger geschützter Kopie aus, net op der live Datei, a liest den Feelertext, net just de Exit-Status. En Parse-Fehler nennt eng Linn an normalerweis eng Tabell, wat méi ass wéi eng feelgeschloen Neiopladung Iech wäert soen.
sudo cp /etc/ufw/before.rules /root/before.rules.bak
sudo iptables-restore --test < /root/before.rules.bak
echo "exit: 0"
Dës Kontroll ze bestoen beweist, datt d'Dokument parst, an näischt anescht. Et beweist net, datt de Kandidat nach ëmmer all Kette enthält, vun deenen UFW ofhängt, datt en nëmmen déi virgesinn Quellen erlaabt, oder datt d'Fernadministratioun erreechbar bleift. Dat sinn separat Iwwerpréiwungen, an déi lescht verdéngt eng zweet Sëtzung, déi virum Start opgemaach gëtt.
Wielt d'Instrument, dat zum installéierte Backend an zur Adressfamill passt. E Host, deen den nft-Backend iwwer d'Kompatibilitéitsschicht lafe léisst, brauch dee passenden Kommando, an IPv6-Reegelen liewen an enger ganz anerer Datei.
Haalt Weidergabe, NAT an Zougriffspolitik getrennt
Iwwersetzung vun der Quell léist e Adresséierungsproblem a gëtt näischt. D'Weidergabe ass eng separat Erlaabnis, déi vun engem sysctl an vun der Filtertabell kontrolléiert gëtt, an et ass déi, déi d'Leit vergiessen, wann en Tunnel routeet awer keen Traffic duerchléisst. D'Zougriffspolitik ass eng drëtt Entscheedung doriwwer, wéi eng Quellen wéi eng Servicer erreeche kënnen, an keng NAT-Regel dréckt dat aus. Genau dës dräi getrennt ze halen, mécht e Feeler diagnostizéierbar amplaz en eenzegt vague Symptom.
sysctl net.ipv4.ip_forward
sudo iptables -t nat -S POSTROUTING
sudo iptables -S FORWARD
Liest dës dräi Ausgaben zesummen, net eng no der anerer. Eng Masquerade-Regel mat desaktivéierter Weidergabe produzéiert e Client, dee sech verbënnt an néierens ukommt, wat aus Client-Siicht genau wéi e Routingfeeler ausgesäit an d'Leit op déi falsch Datei schéckt. D'Filtertabell ass och dee Moment, wou e ze breedt Accept sech verstoppt, also kontrolléiert seng Standardpolitik, während dir do sidd.
Verifizéiert eng Neiopladung, eng Verweigerung an e VPN-Verlust
Dräi Observatiounen erginn en kompletten Akzeptanztest: d'Neiopladung geléngt, eng erlaabte Client-Operatioun funktionnéiert, an eng Ufro, déi misst verworf ginn, gëtt tatsächlech verworfen. Déi drëtt ass déi, déi iwwersprunge gëtt, an et ass den eenzegen Beweis, datt d'Politik iwwerhaapt eppes mécht.
sudo ufw reload
sudo ufw status verbose
sudo iptables -t nat -L POSTROUTING -n -v
Test duerno de Feeler, fir deen dir entworf hutt. Loosst den Tunnel fale a kuckt, wat den Host mécht, well eng Politik, déi nëmme funktionnéiert, wärend de VPN un ass, eng Politik mat enger onausgeschwate Ofhängegkeet ass. Lued duerno nach eng Kéier nei, fir ze beweise, datt d'Datei, an net e reschtlechen Lafzoustand, dat funktionéierend Resultat produzéiert.
IPv4-NAT seet näischt iwwer IPv6, also gitt déi virgesinn Ofdeckung fir béid Familljen an der selwechter Notiz wéi d'Regel un. D'Zil ass eng kohärent verwalt Politik, an e Fragment, deen zoufälleg geparst gouf, ass kee Beweis dofir.