Tartsa stabilan az nftables-házirendet, miközben megérkezik a VPN-interfész
A névre épülő nftables-szabályok túlélnek egy alagutat, amely megjelenik és eltűnik, de az útvonalak és a meglévő folyamok nem követik automatikusan. Válassza szét a felelősöket.
Az alagutak eldobhatók; a házirend nem ilyen kell legyen. Linux-átjárón egy nftables-szabály, amely név szerint illeszti az alagút interfészét, egyszer betölthető, és továbbra is érvényes minden alkalommal, amikor az az interfész megjelenik. Az interfésznek továbbra is van életciklusa: létrejön, eltűnik, a körülötte lévő útvonalak és fordítások pedig a saját ütemtervüket követik. E felelősök szétválasztása tartja stabilan a hozzáférést újracsatlakozás közben.
A név szerinti egyezés túléli az interfészt
Az nftables numerikus interfészindex-egyezéseket és a dinamikus név-egyezéseket kínálja: iifname és oifname. Az ezeket a neveket használó szabályok tisztán betöltődnek akkor is, ha az alagút eszköze még nem jött létre, ami pontosan az, amire egy szabálykészletnek indításkor szüksége van. Az egyezés leáll, ha az interfészt átnevezik, és folytatódik, amikor egy új interfész felveszi a nevet. A numerikus indexből hiányzik ez a tulajdonság, ezért az alagút szokásos választása a névforma.
A név egyeztetőkulcs, nem bizonyíték arra, ki van a másik oldalon. A partner hitelesítése a VPN dolga marad.
Olvassa el a láncot, mielőtt szabályokat ad hozzá
Nézze meg, mit tartalmaz most a szabálykészlet, és hova kerülne egy új szabály, mert a sorrend dönti el az eredményt.
nft list ruleset
nft -c -f /etc/nftables.confA lista láncokat, szabályokat és fogantyúkat mutat, az ellenőrző mód pedig betöltés nélkül validálja a jelöltfájlt. Az ugyanarra a folyamra korábban adott elfogadás után elhelyezett, csak alagútra vonatkozó engedély semmit nem változtat, mert az első egyező szabály nyer. Ezért egy késői szabály helyesnek tűnhet, és mégsem hat. Olvassa végig a láncot sorrendben, és erősítse meg, hogy az ügyféltől a felső kapcsolat felé irányuló forgalom tiltása továbbra is minden szélesebb dolog előtt áll.
Az útvonalaknak, a fordításnak és a folyamoknak más felelőseik vannak
Az interfész jelenléte nem hoz létre útvonalakat, és nem hitelesíti a partnert. Azok a VPN-kezelőhöz tartoznak, míg a fordításnak harmadik életciklusa van.
conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0A conntrack-lista a meglévő folyamokat mutatja eredeti és lefordított értékeikkel, az útvonallista pedig azt, amit a kezelő az interfészhez telepített. A NAT-szabályok az első csomagon hozzák létre a kapcsolatkövetési állapotot, így egy létrejött folyam a szabály megváltozása után is megtartja fordítását. Ezért egy frissülő szabály és egy az új útvonalat használó folyam két külön állítás. Döntse el, mely munkameneteknek kell újracsatlakozniuk, és hagyja békén a nem kapcsolódó folyamokat.
Fogadja el a hideg indítást, a veszteséget és a helyreállást
Tesztelje az átjárót úgy, hogy az alagút hiányzik indításkor, aztán jelen van, majd megszakítás és visszatérés után. Erősítse meg, hogy a tiltott továbbítás tiltott marad, amíg az alagút hiányzik, hogy egy új engedélyezett folyam a partner hitelesítése után működik, és hogy a helyreállítás nem igényli a nem kapcsolódó állapot törlését. Ne törölje a teljes POSTROUTING-láncot vagy minden conntrack-bejegyzést egy profil leállítási műveleteként, mert más szolgáltatások osztoznak rajtuk. Jegyezze fel, melyik összetevő változtatta meg az interfészt, az útvonalat és a házirendet, ahelyett hogy csak azt, hogy egy indítási horog nullával lépett ki.
Az a házirend éli túl az újracsatlakozást, amelynek felelősei meg vannak nevezve, és szabályai az alagúttal lefelé és felfelé is tesztelve lettek. Egy sikert jelentő horog csak azt bizonyítja, hogy a horog lefutott.