Tonnels is wegwerpbaar; beleid behoort nie te wees nie. Op 'n Linux-deurgang kan 'n nftables-reël wat die tonnelkoppelvlak by naam pas, een keer gelaai word en bly geld elke keer wanneer daardie koppelvlak verskyn. Die koppelvlak besit steeds 'n lewensiklus: dit word geskep, dit verdwyn, en die roetes en vertalings daaromheen volg hul eie skedule. Dit is die skeiding van daardie eienaars wat toegang stabiel hou tydens 'n herverbinding.

Naampassing oorleef die koppelvlak

nftables bied numeriese koppelvlak-indekspassings en die dinamiese naampassings iifname en oifname. Reëls wat daardie name gebruik, laai skoon selfs wanneer die tonneltoestel nog nie geskep is nie, wat juis is wat 'n reëlstel by selflaai nodig het. Dit hou op pas as die koppelvlak hernoem word en hervat wanneer 'n nuwe koppelvlak daardie naam aanneem. 'n Numeriese indeks het nie daardie eienskap nie, daarom is die naamvorm die gewone keuse vir 'n tonnel.

Die naam is 'n passing-sleutel, nie bewyse oor wie aan die ander kant is nie. Eweknie-verifikasie bly die VPN se werk.

Lees die ketting voordat jy reëls byvoeg

Kyk wat die reëlstel tans bevat en waar 'n nuwe reël sou sit, want orde besluit die uitkoms.

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

Die lys wys kettings, reëls en handvatsels, en kontrolemodus valideer 'n kandidaatleer sonder om dit te laai. 'n Slegs-tonnel-toelating wat na 'n vroeëre aanvaarding vir dieselfde vloei geplaas word, verander niks, want die eerste passende reël wen. Daarom kan 'n laat reël korrek lyk en geen effek hê nie. Lees die ketting in volgorde en bevestig dat die weiering vir kliënt-na-opstroom-verkeer steeds voor enigiets wyer kom.

Roetes, vertaling en vloeie het ander eienaars

Koppelvlak-teenwoordigheid skep geen roetes nie, en dit verifieer nie die eweknie nie. Dit behoort aan die VPN-bestuurder, terwyl vertaling 'n derde lewensiklus het.

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

Die conntrack-lys wys bestaande vloeie met hul oorspronklike en vertaalde waardes, en die roete-lys wys wat die bestuurder vir die koppelvlak geïnstalleer het. NAT-reëls vestig verbindingnasporingstoestand op die eerste pakkie, dus behou 'n gevestigde vloei sy vertaling selfs nadat die reël verander. Daarom is 'n reël wat opgedateer word en 'n vloei wat die nuwe pad gebruik, verskillende stellings. Besluit watter sessies moet herverbind en laat onverwante vloeie alleen.

Aanvaar koue begin, verlies en herstel

Toets die deurgang met die tonnel afwesig by selflaai, dan met dit teenwoordig, dan na 'n onderbreking en 'n terugkeer. Bevestig dat verbode deurstuur geweier bly terwyl die tonnel ontbreek, dat 'n nuut toegelate vloei werk sodra die eweknie geverifieer is, en dat herstel nie vereis dat onverwante toestand uitgevee word nie. Moenie die hele POSTROUTING-ketting of elke conntrack-inskrywing as een profiel se stopaksie skoonmaak nie, want ander dienste deel dit. Teken aan watter komponent die koppelvlak, die roete en die beleid verander het, eerder as net dat 'n starthaak nul teruggegee het.

Beleid wat 'n herverbinding oorleef, is een waarvan die eienaars benoem is en waarvan die reëls getoets is met die tonnel beide af en op. 'n Haak wat sukses rapporteer, bewys net dat die haak geloop het.

Verwante artikels