Kur VPN NAT iederas UFW before.rules failā un kā to pārbaudīt
NAT rindai before.rules ir jāatrodas derīgā tabulas sadaļā ar COMMIT. Pirms UFW atkārtotas ielādes analizējiet kandidātu ar iptables-restore --test.
NAT noteikums, kas darbojas, ievadot to čaulā, neizdodas, kad to ielīmē before.rules, jo šis fails nav skripts. Tas ir atjaunošanas formāta dokuments ar tabulu sadaļām, ķēžu deklarācijām un COMMIT marķieri katrai tabulai. Rinda nepareizajā vietā vai nu pārtrauc visu atjaunošanu, vai klusi izmet noteikumus, par kuriem domājāt, ka tie tur ir. Tālāk sniegtā instrukcija ievieto fragmentu tur, kur to sagaida ietvars, un pierāda rezultātu pirms nākamās atkārtotās ielādes.
Čaulas komanda nav atjaunošanas fails
Rinda, kas sākas ar iptables -t nat, ir norādījums iptables binārajam failam, savukārt fails, ko lasa UFW, ir pilnīga noteikumu kopuma apraksts. Atšķirība nav kosmētiska: atjaunošanas formātam jāzina, kurā tabulā tas atrodas, kādas ķēdes pastāv un kur tabula beidzas. Šajā dokumentā ielīmēta komanda ir vai nu sintakses kļūda, vai, vēl ļaunāk, noteikums, kas piesaistīts nepareizajai tabulai. Ietvars ielādē šos failus ar atjaunošanas rīkiem tieši tāpēc, ka tie ir deklaratīvi, nevis secīgi.
Dokuments tiek ielādēts arī kopumā, tāpēc viena bojāta sadaļa var apturēt pārējā faila piemērošanu. Tāpēc neliela kļūda NAT fragmentā noveļ arī filtra noteikumus, un tā ugunsmūra izmaiņas kļūst par pārtraukumu.
Ievietojiet fragmentu esošajā tabulas sadaļā
NAT fragmentam ir forma, un forma ir svarīgāka par tajā esošo noteikuma tekstu. Tabulas galvene atver sadaļu, ķēžu deklarācijas nosaka skaitītājus, noteikumi seko, un COMMIT aizver sadaļu.
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.55.0.0/24 -o ens3 -j MASQUERADE
COMMIT
Iepriekš minētais baseins un saskarne ir vietturi jūsu vērtībām; struktūra ir daļa, ko ir vērts kopēt. Ja failā jau ir *nat sadaļa, pievienojiet noteikumu šajā sadaļā, nevis atveriet otru, jo formāts sagaida vienu COMMIT katrai tabulai, un divas sadaļas vienai tabulai ir labojums, kas gaida notikšanu. Saglabājiet izplatīšanas ķēžu definīcijas neskartas, tostarp tās, ko piegādātājs pievienoja savai integrācijai. UFW ietvara rokasgrāmata dokumentē failus before, user un after kopā ar prasību par atbilstošu COMMIT.
Ja fails izrādās tukšs, neaizpildiet to no apmācības. Pārliecinieties, kura pakotne to pārvalda un kāda patiesībā ir aktīvā politika, jo tukšs pastāvīgais fails nepierāda, ka kodolā nav noteikumu, un ielādēta noteikumu kopa nepierāda, ka nākamajā atkārtotajā ielādē būs pilns fails lasīšanai. Vispirms atjaunojiet atbalstīto bāzes līniju, pēc tam atkārtoti piemērojiet vietnes izmaiņas.
Pārbaudiet kandidātu, to nepiemērojot
Atjaunošanas rīks var analizēt un veidot noteikumu kopu, to nepiemērojot, un tas ir lētākais pieejamais tests. Palaidiet to aizsargātā kopijā, nevis aktīvajā failā, un lasiet kļūdas tekstu, nevis tikai izvades statusu. Analīzes kļūme nosauc rindu un parasti tabulu, kas ir vairāk, nekā pateiks neveiksmīga atkārtota ielāde.
sudo cp /etc/ufw/before.rules /root/before.rules.bak
sudo iptables-restore --test < /root/before.rules.bak
echo "exit: 0"
Šīs pārbaudes izturēšana pierāda, ka dokuments tiek analizēts, un neko citu. Tā nepierāda, ka kandidāts joprojām satur katru ķēdi, no kuras UFW ir atkarīgs, ka tas atļauj tikai paredzētos avotus vai ka attālinātā administrēšana paliek sasniedzama. Tie ir atsevišķi pārskati, un pēdējais ir pelnījis otru sesiju, kas tiek atvērta pirms sākšanas.
Izvēlieties rīku, kas atbilst instalētajam backend un adrešu saimei. Resursdators, kas darbina nft backend caur saderības slāni, prasa atbilstošo komandu, un IPv6 noteikumi dzīvo pavisam citā failā.
Turiet pārsūtīšanu, NAT un piekļuves politiku atsevišķi
Avota tulkošana atrisina adresēšanas problēmu un neko nepiešķir. Pārsūtīšana ir atsevišķa atļauja, ko kontrolē sysctl un filtra tabula, un tieši to cilvēki aizmirst, kad tunelis maršrutē, bet neplūst trafiks. Piekļuves politika ir trešais lēmums par to, kuri avoti var sasniegt kurus pakalpojumus, un neviens NAT noteikums to neizsaka. Tieši šo trīs atdalīšana padara kļūmi diagnosticējamu, nevis vienu neskaidru simptomu.
sysctl net.ipv4.ip_forward
sudo iptables -t nat -S POSTROUTING
sudo iptables -S FORWARD
Lasiet šos trīs izvades kopā, nevis pa vienam. Masquerade noteikums ar izslēgtu pārsūtīšanu rada klientu, kas savienojas un neko nesasniedz, kas no klienta puses izskatās tieši kā maršrutēšanas kļūda un aizsūta cilvēkus uz nepareizo failu. Filtra tabula ir arī vieta, kur slēpjas pārāk plašs accept, tāpēc, būdami tur, pārbaudiet tās noklusējuma politiku.
Pārbaudiet atkārtotu ielādi, noraidījumu un VPN zudumu
Trīs novērojumi veido pilnīgu pieņemšanas testu: atkārtotā ielāde izdodas, atļautā klienta darbība darbojas, un pieprasījums, kas būtu jānoraida, faktiski tiek noraidīts. Trešais ir tas, ko izlaiž, un tas ir vienīgais pierādījums, ka politika vispār kaut ko dara.
sudo ufw reload
sudo ufw status verbose
sudo iptables -t nat -L POSTROUTING -n -v
Pēc tam pārbaudiet kļūmi, kurai projektējāt. Nometiet tuneli un vērojiet, ko dara resursdators, jo politika, kas darbojas tikai tad, kamēr VPN ir ieslēgts, ir politika ar neizteiktu atkarību. Pēc tam ielādējiet vēlreiz, lai pierādītu, ka darba rezultātu dod fails, nevis kāds atlikušais izpildes stāvoklis.
IPv4 NAT neko neizsaka par IPv6, tāpēc norādiet paredzēto pārklājumu abām saimēm tajā pašā piezīmē kā noteikumu. Mērķis ir saskaņota pārvaldīta politika, un fragments, kas nejauši tika analizēts, nav tās pierādījums.