nftables: sisestage VPN-i lubamisreegel enne langetamise käepidet
nftables-is asetavad insert ja add reegli käepideme vastaskülgedele. Leidke langetamine, valige külg ja kontrollige seejärel faili enne reeglistiku muutumist.
Asetage lubamisreegel valesse kohta ja see käitub nagu lubamisreegel puuduks. nftables-is otsustab insert ja add vaheline valik, kummale poole viidatud reeglit uus lause maandub, ja käepide nimetab reeglit reaalajas reeglistikus, mitte selle reanumbrit. Kui paigutus on vale, jõuab pakett esimesena langetamiseni.
Allolev võrdlus kasutab üht fikseeritud partnerit ja üht välimise kuulaja vahetust. See on teadlikult kitsas; terve ahela asendamine on teistsugune muudatus, millel on teistsugune riskiprofiil.
Kaks paigutust, kaks erinevat tulemust
insert asetab reegli viidatud reegli ette. add asetab selle järele. Kui viidatud reegel on voo lõplik langetamine, annavad need kaks käsku vastupidised tulemused, kuigi reegli tekst on identne.
Asukoha ärajätmisel on oma vaikekäitumine, mis on veel üks põhjus mitte kopeerida käsku foorumist ilma lugemata, mille külge see on ankurdunud. Ankur on kogu otsus. Kirjutage kavatsetud külg üles enne käsu tippimist. insert ja add erinevad failis ühe sõna võrra.
Paigutus on suhteline konkreetse ahela reegli suhtes. Sama lause viimine teise ahelasse või teise hook-prioriteeti muudab seda, milliseid pakette see näeb, isegi kui reegli süntaks tundub õige.
Käepide identifitseerib reegli, mitte reanumbri
Käepide nagu 42 on identifikaator reeglistiku praeguses olekus. See ei ole neljakümne teine reegel ja see ei ole stabiilne hostide, ümberehituste ega halduri vahel, mis oma konfiguratsiooni uuesti laadib.
Enne ankru valimist leidke ahel ja tegelik lõplik langetamine. Seejärel kinnitage selle reegli käepide samas loendis, mis näitab langetamist, et number ja reegel loetaks koos. Vanast loendist loetud käepide võib juba kuuluda teisele reeglile. Lugege see uuesti sessioonis, mis muudatuse rakendab.
iptables --version
nft -a list ruleset
iptablesi versioon näitab, millist taustaprogrammi kasutatakse. iptables-nft reeglistik ja sõltumatult hallatav natiivne tabel võivad kõrvuti eksisteerida, seega ühe frontendi loend ei ole automaatselt täielik filtreerimispilt. Enne ahela valimist kontrollige mõlemat vaadet.
Leidke ahel ja reegel, mis tegelikult langetab
Lugege sisend-hooki, ahela prioriteeti ja reeglit, mis selle kuulaja voo tagasi lükkab. inet-tabel võib kanda mõlemat aadressiperekonda, kuid üksikreegel võib siiski vastata ainult IPv4-le.
Võtke üks heakskiidetud partner, kasutades näitena dokumentatsioonivahemikust 198.51.100.25. Üle vaadatud natiivne fail võiks asetada välimise lubamise enne käepidet 42:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
Asendage perekond, tabel, ahel, käepide, sissesõidu liides ja partner pärast kontrolli. Näide kasutab käepideme-asukoha vormi, mis on dokumenteeritud nft 1.0.9 jaoks, ja see kuulub sisendfaili; sulgude tsiteerimine on eraldi küsimus, kui käsk trükitakse interaktiivselt.
Hoidke konfiguratsiooni omanik selge. Haldur, mis oma reeglid ümber ehitab, võib tööaegse muudatuse üle kirjutada, ja alglaadimisskript, mis kõvakodeerib aegunud käepideme, kas ebaõnnestub või kinnitub vale reegli külge.
Lubamine on piiratud, langetamine on lõplik
Lubamisotsus lõpetab hindamise oma praegusel teel, kuid hiljem kohaldatav baasahel võib paketi siiski langetada. Langetamisotsus on lõplik. Seetõttu ei ole kasvav lubamiste loendur tõestus, et voog õnnestus.
Kontrollige kõiki asjakohaseid hook-prioriteete, mitte üht ahelat isoleeritult. Pakett võib läbida sisendfiltri ja siiski lükata tagasi teise tabeli hook teisel prioriteedil. Loetlege iga baasahel, mis voogu näeb.
See reegel katab ainult välimise kuulaja vahetuse. Transpordikapseldatud ESP, natiivne ESP, IPv6-partnerid ja tunnelis sees olev dekrüpteeritud liiklus vajavad kõik oma poliitikaid. See ei ole täielik saidi VPN-i tulemüür.
Kontrollige faili ja seejärel valideerige reaalajas tulemus
Enne rakendamist käivitage üle vaadatud failil süntaksi- ja tehingukontroll. Kontrollirežiim teatab, kas nft suudab muudatuse parsida ja ette valmistada; see ei rakenda seda ega tõesta, et mõni teine hook paketi lubab. Fail jääb ettepanekuks, kuni omanik selle rakendab:
nft -c -f reviewed-vpn-rule.nft
Rakendage omaniku kontrollitud protsessi kaudu ja säilitage taastamisjuurdepääs. Kui reegel on vale, võib langetamine, millele te proovisite ette jõuda, läbi lõigata ka tee, mida kasutate selle parandamiseks.
Pärast muudatust jälgige uut lubatud partneri katset ja kontrollige, et heakskiidetud partnerist väljaspool olevad allikad lükatakse endiselt tagasi. Viige püsiv reegel haldurisse, kellele reeglistik kuulub, sest tööaegsed käepidemed lokaliseerivad praeguseid objekte, mitte ei identifitseeri neid üle alglaadimiste.