Tuneļi ir vienreiz lietojami; politikai tādai nevajadzētu būt. Linux vārtejā nftables noteikumu, kas pēc nosaukuma saskaņo tuneļa saskarni, var ielādēt vienreiz, un tas turpina darboties katru reizi, kad šī saskarne parādās. Saskarnei joprojām ir dzīves cikls: tā tiek izveidota, tā pazūd, un maršruti un tulkojumi ap to seko savam grafikam. Tieši šo īpašnieku atdalīšana uztur piekļuvi stabilu atkārtotas savienošanas laikā.

Nosaukuma atbilsme pārdzīvo saskarni

nftables piedāvā skaitliskas saskarnes indeksa atbilsmes un dinamiskās nosaukuma atbilsmes iifname un oifname. Noteikumi ar šiem nosaukumiem ielādējas tīri arī tad, kad tuneļa ierīce vēl nav izveidota, kas ir tieši tas, kas noteikumu kopai vajadzīgs palaišanas laikā. Atbilsme pārstājas, ja saskarne tiek pārdēvēta, un atsākas, kad jauna saskarne pārņem šo nosaukumu. Skaitliskajam indeksam šīs īpašības nav, tāpēc nosaukuma forma ir ierastā izvēle tunelim.

Nosaukums ir atbilsmes atslēga, nevis pierādījums par to, kas ir otrā pusē. Partnera autentifikācija paliek VPN uzdevums.

Izlasiet ķēdi pirms noteikumu pievienošanas

Apskatiet, ko noteikumu kopa pašlaik satur un kur atrastos jauns noteikums, jo iznākumu izšķir secība.

nft list ruleset
nft -c -f /etc/nftables.conf

Saraksts rāda ķēdes, noteikumus un rokturus, un pārbaudes režīms validē kandidāta failu, to neielādējot. Atļauja, kas domāta tikai tunelim un ievietota pēc agrākas atļaujas tai pašai plūsmai, neko nemaina, jo uzvar pirmais atbilstošais noteikums. Tāpēc novēlots noteikums var izskatīties pareizs un nedot nekādu efektu. Lasiet ķēdi pēc kārtas un apstipriniet, ka aizliegums trafikam no klienta uz augšupējo saiti joprojām ir pirms jebkā plašāka.

Maršrutiem, tulkojumam un plūsmām ir citi īpašnieki

Saskarnes klātbūtne nerada maršrutus un neautentificē partneri. Tie pieder VPN pārvaldniekam, savukārt tulkojumam ir trešais dzīves cikls.

conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0

conntrack saraksts rāda esošās plūsmas ar to sākotnējām un tulkotajām vērtībām, un maršrutu saraksts rāda, ko pārvaldnieks instalēja saskarnei. NAT noteikumi izveido savienojuma izsekošanas stāvokli pirmajā paketē, tāpēc izveidota plūsma saglabā savu tulkojumu arī pēc noteikuma maiņas. Tāpēc atjaunināts noteikums un plūsma, kas izmanto jauno ceļu, ir divi atšķirīgi apgalvojumi. Izlemiet, kuras sesijas ir jāsavieno no jauna, un atstājiet nesaistītas plūsmas mierā.

Pieņemiet auksto startu, zudumu un atjaunošanu

Pārbaudiet vārteju, kad tuneļa palaišanas laikā nav, pēc tam kad tas ir, un pēc tam pēc pārtraukuma un atgriešanās. Apstipriniet, ka aizliegtā pārsūtīšana paliek aizliegta, kamēr tunelis trūkst, ka jauna atļauta plūsma darbojas pēc partnera autentifikācijas un ka atjaunošanai nav jānotīra nesaistīts stāvoklis. Nenotīriet visu POSTROUTING ķēdi vai katru conntrack ierakstu kā viena profila apstāšanas darbību, jo citi pakalpojumi tos dala. Pierakstiet, kura komponente mainīja saskarni, maršrutu un politiku, nevis tikai to, ka palaišanas āķis izgāja ar nulli.

Politika, kas pārdzīvo atkārtotu savienošanu, ir tā, kuras īpašnieki ir nosaukti un kuras noteikumi ir pārbaudīti ar tuneli gan izslēgtu, gan ieslēgtu. Āķis, kas ziņo par panākumiem, pierāda tikai to, ka āķis darbojās.

Saistītie raksti