Hâld nftables-belied stabyl wylst it VPN-ynterface komt
Namme-basearre nftables-regels oerlibje in tunnel dy't ferskynt en ferdwynt, mar rûtes en besteande streamen folgje net automatysk. Skied de eigners.
Tunnels binne weismietber; belied soe dat net wêze moatte. Op in Linux-poarte kin in nftables-regel dy't it tunnel-ynterface by namme oerienkomt ien kear lade wurde en bliuwt jilde elk kear as dat ynterface ferskynt. It ynterface hat noch altyd in libbenssyklus: it wurdt makke, it ferdwynt, en de rûtes en oersettings deromhinne folgje har eigen skema. It skieden fan dy eigners hâldt tagong stabyl by in werferbining.
In namme-oerienkomst oerlibbet it ynterface
nftables biedt numerike oerienkomsten fan ynterface-yndeks en de dynamyske namme-oerienkomsten iifname en oifname. Regels dy't dy nammen brûke, lade skjin sels as it tunnelapparaat noch net makke is, wat krekt is wat in regelset by it opstarten nedich hat. It hâldt op mei oerienkommen as it ynterface werneamd wurdt en begjint wer as in nij ynterface dy namme krijt. In numerike yndeks hat dy eigenskip net, dêrom is de nammefoarm de gewoane kar foar in tunnel.
De namme is in oerienkomstkaai, gjin bewiis oer wa't oan 'e oare kant is. Ferifikaasje fan 'e partner bliuwt wurk fan 'e VPN.
Lês de keten foardat jo regels tafoegje
Sjoch wat de regelset no befettet en wêr't in nije regel stean soe, want de folchoarder beslút it resultaat.
nft list ruleset
nft -c -f /etc/nftables.confDe list lit ketens, regels en handfetsels sjen, en de kontrôlemodus falidearret in kandidaatbestân sûnder it te laden. In tastimming allinnich foar de tunnel, pleatst nei in eardere akseptaasje foar deselde stream, feroaret neat, want de earste oerienkommende regel wint. Dêrom kin in lette regel korrekt lykje en gjin effekt hawwe. Lês de keten yn folchoarder en befêstigje dat it ferbod foar ferkear fan klant nei boppewerts noch altyd foar alles breder komt.
Rûtes, oersetting en streamen hawwe oare eigners
De oanwêzigens fan it ynterface makket gjin rûtes en ferifisearret de partner net. Dat heart by de VPN-behearder, wylst oersetting in tredde libbenssyklus hat.
conntrack -L -s 10.20.0.0/24 | head
ip route show dev vpn0De conntrack-list lit besteande streamen sjen mei har oarspronklike en oersette wearden, en de rûteslist lit sjen wat de behearder foar it ynterface ynstallearre hat. NAT-regels meitsje ferbiningfolchsteat by it earste pakket, dus in fêstige stream hâldt syn oersetting sels nei't de regel feroare is. Dêrom binne in regel dy't bywurke wurdt en in stream dy't it nije paad brûkt twa ferskate bewearings. Beslút hokker sesjes werferbine moatte en lit net-relatearre streamen gewurde.
Akseptearje kâlde start, ferlies en herstel
Test de poarte mei de tunnel ôfwêzich by it opstarten, dan oanwêzich, en dêrnei nei in ûnderbrekking en in weromkomst. Befêstigje dat ferbeane trochstjoering wegere bliuwt wylst de tunnel mist, dat in nij tastien stream wurket sadra't de partner ferifisearre is, en dat herstel net freget om net-relatearre steat te wiskjen. Wiskje net de hiele POSTROUTING-keten of elk conntrack-ynfoer as de stopaksje fan ien profyl, want oare tsjinsten diele se. Skriuw op hokker komponint it ynterface, de rûte en it belied feroare hat, ynstee fan allinnich dat in startheak mei nul ôfsletten is.
Belied dat in werferbining oerlibbet, is ien wêrfan't de eigners neamd binne en wêrfan't de regels test binne mei de tunnel sawol del as op. In heak dy't sukses rapportearret, bewiist allinnich dat de heak draaid hat.