Екі брандмауэр де жіберілетін VPN трафигін сүзе алады және ережелерді пакет жолына әртүрлі тәсілмен байланыстырады. iptables-те кестенің ішінде кірістірілген тізбектер бар, сондықтан FORWARD атаулы ілгек нүктесі ретінде бар. nftables тізбек атауын оның түрінен, ілгегінен және басымдығынан бөледі, яғни FORWARD деп аталатын қарапайым тізбек ештеңе сүзбейді. Екі модельді салыстыру бір құралда дұрыс көрінетін жазбаның екіншісінде неге әсер етпейтінін түсіндіреді.

Тізбек — контейнер. Ядро оны қарай ма, бұл іске асыруға және ережелер жиынының оны қалай байланыстыратынына байланысты.

Екі модель, екі түрлі байланыс

iptables-те filter кестесі үш кірістірілген тізбекпен келеді: INPUT, FORWARD және OUTPUT, ал -N пайдаланушы анықтайтын тізбек жасайды, ол солардың бірінен оған секіргенде ғана күшіне енеді. nftables нұсқаулығы оның орнына өз түрін, ілгегін және басымдығын жариялайтын базалық тізбектерді және оны жасамайтын қарапайым тізбектерді анықтайды. Базалық тізбек кез келген атауды ала алады, ал FORWARD деп аталған қарапайым тізбек өз белгісінен ешқандай қасиет алмайды. Бұл — бүкіл айырмашылық және ол тек ереже мәтінін көрсететін оқулықта көрінбейді.

Үйлесімділік бэкендтері мінез-құлықты пәрмен атауынан болжамаудың екінші себебін қосады. iptables құжаттамасы iptables-nft астында өзгеше болатын операцияларды атап өтеді, сондықтан байырғы nftables, iptables-nft және мұрагерлік ережелер жиынын бір нәрсенің үш емлесі емес, үш жүйе ретінде қараңыз.

Қатені нақты контекстінде оқыңыз

Жетіспейтін кесте, рұқсаттың сәтсіздігі, қолжетімсіз ядролық мүмкіндік және жетіспейтін атаулы тізбек — төрт түрлі тұжырым, олардың тек біреуі тізбекке қатысты. Құрал нұсқасын, сұралған мекенжайлар отбасы мен кестені, желілік атаулар кеңістігін және бірінші нақты қатені жазып алыңыз. Содан кейін ережелер жиынын қай компонент иеленетінін тексеріңіз: брандмауэр қызметі немесе өнім басқаратын шлюз өз тізбектері мен ретін жасауы мүмкін. Олардың қасына байырғы тізбек қосу басқарылатын саясатты өзгеріссіз қалдырады, ал тізімді одан әрі шатастырады.

Контейнердің атаулар кеңістігі хосттан өзгеше ережелер жиынын ұстауы мүмкін, сондықтан қате контексте іске қосылған пәрмен жіберілген пакетті қай тізбек көргенін көрсете алмайды. Күтілген тізбек көрінбегені үшін артықшылықтарды көтеру — диагностика емес.

Санағыштар жетуді дәлелдейді, үкімді емес

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

Ядроның IP жіберуі мүлдем бөлек параметр. Тізбектің болуы жіберуді қоспайды, ал таныс белгінің болмауы жіберу тоқтады дегенді білдірмейді.

Қорғағыңыз келетін ағынды сипаттаңыз

Декапсуляциядан кейінгі бір клиент сұранысын жазыңыз: оның көзі, межелісі, мекенжайлар отбасы және ол шлюзде аяқтала ма әлде одан өте ме. Жергілікті қызмет кірісі мен жіберілетін трафик әртүрлі нүктелерде байқалады, сондықтан оларға әртүрлі ережелер мен әртүрлі сынақтар қажет. Көпірлі VPN үшін көпір жолын да тексеріңіз, өйткені IP деңгейіндегі тізбек Ethernet кадрларын автоматты түрде бақыламайды.

Қашықтағы шлюзді өзгерту алдында тәуелсіз қалпына келтіру қолжетімділігін сақтаңыз. Содан кейін сол ережелер жиыны астында көзделген ағынды және қажетті бас тартуларды растаңыз. Таныс атаулы жаңа бос тізбек — жөндеу емес.

Салыстыру бір сұрақпен аяқталады: бұл пакет үшін ядро шын мәнінде қай ілгекті шақырады? Оған жауап беріңіз, сонда тізбек атауы маңызды болудан қалады.

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