Hoidke nftables-poliitika stabiilsena, kui VPN-liides saabub
Nimel põhinevad nftables-reeglid peavad vastu tunnelile, mis ilmub ja kaob, kuid marsruudid ja olemasolevad vood ei järgi automaatselt. Eraldage omanikud.
Tunnelid on kulutatavad; poliitika ei peaks olema. Linuxi lüüsil saab nftables-reegli, mis sobitab tunneli liidest nime järgi, laadida üks kord ja see jääb kehtima iga kord, kui see liides ilmub. Liidesel on siiski oma elutsükkel: see luuakse, see kaob ning marsruudid ja tõlked selle ümber järgivad oma ajakava. Just nende omanike eraldamine hoiab juurdepääsu ühenduse taastamise ajal stabiilsena.
Nime-sobitus elab liidesest kauem
nftables pakub numbrilisi liideseindeksi sobitusi ja dünaamilisi nime-sobitusi iifname ja oifname. Neid nimesid kasutavad reeglid laaditakse puhtalt ka siis, kui tunnelseade pole veel loodud, mis on täpselt see, mida reeglistik käivitamisel vajab. Sobitus lakkab, kui liides ümber nimetatakse, ja jätkub, kui uus liides selle nime võtab. Numbrilisel indeksil seda omadust ei ole, seepärast on nimekuju tunneli jaoks tavaline valik.
Nimi on sobitusvõti, mitte tõend selle kohta, kes on teisel pool. Vastaspoole autentimine jääb VPN-i ülesandeks.
Lugege ahelat enne reeglite lisamist
Vaadake, mida reeglistik praegu sisaldab ja kuhu uus reegel asetuks, sest järjekord otsustab tulemuse.
nft list ruleset
nft -c -f /etc/nftables.confLoend näitab ahelaid, reegleid ja käepidemeid, ning kontrollrežiim valideerib kandidaatfaili ilma seda laadimata. Ainult tunnelile mõeldud luba, mis on paigutatud sama voo varasema lubamise järele, ei muuda midagi, sest võidab esimene sobiv reegel. Seepärast võib hiline reegel tunduda õige ja mitte mingit mõju avaldada. Lugege ahelat järjekorras ja kinnitage, et keeld kliendilt ülesvoolu suunatud liiklusele tuleb endiselt enne kõike laiemat.
Marsruutidel, tõlkel ja voogudel on teised omanikud
Liidese olemasolu ei loo marsruute ega autendi vastaspoolt. Need kuuluvad VPN-haldurile, samas kui tõlkel on kolmas elutsükkel.
conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0conntrack-loend näitab olemasolevaid vooge nende algsete ja tõlgitud väärtustega, marsruudiloend aga seda, mille haldur liidese jaoks paigaldas. NAT-reeglid loovad ühenduse jälgimise oleku esimesel paketil, seega säilitab loodud voog oma tõlke ka pärast reegli muutumist. Seepärast on uuendatav reegel ja uut teed kasutav voog kaks erinevat väidet. Otsustage, millised sessioonid peavad uuesti ühenduma, ja jätke mitteseotud vood rahule.
Nõustuge külmkäivituse, kaotuse ja taastumisega
Testige lüüsi tunneli puudumisel käivitamisel, seejärel selle olemasolul ja lõpuks pärast katkestust ja naasmist. Kinnitage, et keelatud edasisaatmine jääb keelatuks, kuni tunnel puudub, et uus lubatud voog töötab pärast vastaspoole autentimist ja et taastumine ei nõua mitteseotud oleku kustutamist. Ärge kustutage tervet POSTROUTING-ahelat ega iga conntrack-kirjet ühe profiili peatamistoiminguna, sest teised teenused jagavad neid. Märkige üles, milline komponent muutis liidest, marsruuti ja poliitikat, mitte ainult see, et käivituskonks väljus nulliga.
Poliitika, mis peab vastu ühenduse taastamisele, on selline, mille omanikud on nimetatud ja mille reeglid on testitud tunneliga nii maas kui üleval. Konks, mis teatab edust, tõestab ainult, et konks käivitus.