Туннельдер бір реттік; саясат бұлай болмауы керек. Linux қақпасында туннель интерфейсін атауы бойынша сәйкестендіретін nftables ережесін бір рет жүктеуге болады және ол интерфейс әрбір пайда болған сайын қолданыла береді. Интерфейстің әлі де өмірлік циклі бар: ол жасалады, жоғалады, ал оның айналасындағы маршруттар мен аудармалар өз кестесін ұстанады. Осы иелерді бөлу қайта қосылу кезінде қолжетімділікті тұрақты ұстайды.

Атау бойынша сәйкестік интерфейстен ұзақ өмір сүреді

nftables интерфейс индексінің сандық сәйкестіктерін және iifname мен oifname атауының динамикалық сәйкестіктерін ұсынады. Осы атауларды пайдаланатын ережелер туннель құрылғысы әлі жасалмаса да таза жүктеледі, бұл жүктелу кезінде ережелер жиынтығына дәл керек нәрсе. Интерфейс атауы өзгертілсе сәйкестік тоқтайды және жаңа интерфейс сол атауды алса, қайта жалғасады. Сандық индексте бұл қасиет жоқ, сондықтан туннель үшін атау пішімі әдеттегі таңдау.

Атау сәйкестендіру кілті, ал екінші жақта кім тұрғанының дәлелі емес. Серіктесті түпнұсқалықтандыру VPN-нің жұмысы болып қалады.

Ережелерді қоспас бұрын тізбекті оқыңыз

Ережелер жиынтығының қазір не бар екенін және жаңа ереженің қайда тұратынын қараңыз, өйткені нәтижені тәртіп шешеді.

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

Тізім тізбектерді, ережелерді және тұтқаларды көрсетеді, ал тексеру режимі кандидат файлды жүктемей-ақ тексереді. Сол ағын үшін бұрынғы рұқсаттан кейін қойылған тек туннельге арналған рұқсат ештеңе өзгертпейді, өйткені бірінші сәйкес келген ереже жеңеді. Сондықтан кеш қойылған ереже дұрыс көрініп, ешқандай әсері болмауы мүмкін. Тізбекті ретімен оқып, клиенттен жоғарғы байланысқа бағытталған трафикті болдырмау әлі де кез келген кеңірек нәрседен бұрын тұрғанын растаңыз.

Маршруттардың, аударманың және ағындардың басқа иелері бар

Интерфейстің болуы маршруттар жасамайды және серіктесті түпнұсқалықтандырмайды. Олар VPN менеджеріне тиесілі, ал аударманың үшінші өмірлік циклі бар.

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

conntrack тізімі бар ағындарды олардың бастапқы және аударылған мәндерімен көрсетеді, ал маршруттар тізімі менеджер интерфейс үшін не орнатқанын көрсетеді. NAT ережелері қосылымды бақылау күйін бірінші пакетте жасайды, сондықтан орнатылған ағын ереже өзгергеннен кейін де өз аудармасын сақтайды. Сондықтан жаңартылып жатқан ереже мен жаңа жолды пайдаланатын ағын екі түрлі мәлімдеме. Қай сессиялардың қайта қосылуы керегін шешіп, байланысы жоқ ағындарды тыныш қалдырыңыз.

Суық іске қосуды, жоғалтуды және қалпына келуді қабылдаңыз

Қақпаны туннель жүктелу кезінде жоқ күйде, содан кейін бар күйде, сосын үзіліс пен қайтудан кейін сынаңыз. Туннель жоқ кезде тыйым салынған қайта бағыттау тыйым салынған күйде қалатынын, серіктес түпнұсқалықтандырылғаннан кейін жаңа рұқсат етілген ағын жұмыс істейтінін және қалпына келу байланысы жоқ күйді тазалауды талап етпейтінін растаңыз. Бір профильдің тоқтату әрекеті ретінде бүкіл POSTROUTING тізбегін немесе әрбір conntrack жазбасын тазаламаңыз, өйткені басқа қызметтер оларды бөліседі. Бастау ілмегі нөлмен шыққанын ғана емес, қай компонент интерфейсті, маршрутты және саясатты өзгерткенін жазыңыз.

Қайта қосылудан аман қалатын саясат иелері аталған және ережелері туннель төмен де, жоғары да күйде сыналған саясат. Сәттілік туралы хабарлайтын ілмек тек ілмектің іске қосылғанын дәлелдейді.

Қатысты мақалалар