nftables ичинде коюлган белги трафиктин бир классын туннелден өткөрүшү керек, бирок трафик физикалык интерфейстен чыга берүүдө. Эрежелер жыйнагы өзүнчө алганда туура көрүнөт. Адатта болгон нерсе — башка бир нерсе ушул эле белгини жазган, же маршруттоо эрежеси жаңы маани эми канааттандырбаган маскага туура келет.

Текшерүү 1: ядро туура келтирген эрежени окуңуз

Коргоочу дубалдан эмес, саясат эрежесинен баштаңыз. Ядро эрежелерди артыкчылык тартибинде карайт жана биринчи дал келүү таблицаны аныктайт. fwmark маанисин жана масканы эреженин өзүнөн окуңуз, анан койгон белгиңиз бар пакеттин ага чынында дал келерин ырастаңыз. Толук 32 биттик маанини күткөн эреже бир гана бит алып жүргөн пакетке дал келбейт.

Анан ошол эреже кайсы таблицаны тандаарын жана таблицада эмне бар экенин ырастаңыз. Бош таблицага көрсөткөн эреже издөөнүн ишке ашпастыгын жаратат, бул көп системаларда пакеттин кийинки эрежеге түшүп, физикалык интерфейстен чыгышын билдирет.

Муну эки буйрук чечет: эрежелердин тизмеси жана ошол таблицадагы багыт боюнча маршрут издөө.

Текшерүү 2: пакеттин белгисиби же байланыштын белгисиби

nftables пакетке белги да, байланыштарды көзөмөлдөө жазуусуна белги да коё алат, жана булар ар башка объектилер. Пакеттин белгиси пакетти иштетүү өтүүсүндө жашайт, ал эми байланыштын белгиси агым үчүн сакталат жана атайын көчүрүлүшү керек. Бирин коюп, экинчисин күтүү — кеңири тараган жарым оңдоо.

Эгер маршруттоо эрежеси пакеттин белгисине таяна турган болсо, жолдун кийинки бөлүгүндө байланыштын белгисин калыбына келтирүү бул чечимге эч нерсе кылбайт, анткени чечим мурун эле кабыл алынган.

Маршруттоо сигналы кайсы объектиге таандык экенин аныктаңыз, анан аны маршруттоо чечими кабыл алынган чекитте коюңуз.

Текшерүү 3: бул белгини дагы ким жазат

WireGuard-дын өз куралдары өзүнүн UDP пакеттерин белгилейт, ошондо шифрленген транспорт өзү таандык болгон туннелге кайра багытталбайт. Эгер сиздин эрежелер жыйнагы ошол эле талаага башкача маани ыйгарса, бул четтетүү жоголот жана туннелдин сырткы трафиги өзүнө кирүүгө аракет кылат. Симптом — курулгандан кийин трафикти өткөрүүнү токтоткон туннел.

Белгилерди башка коргоочу дубал куралдары, контейнердик тармак жана башка максаттар үчүн саясаттык маршруттоо да колдонот, ошондуктан эки ички системанын бүт талааны жазышы — ар бири өзүнчө туура болсо да, кагылышуу.

Дагы бирин кошор алдында жазгычтарды тизмелеңиз.

Текшерүү 4: маска эмнени сактаарыңызды чечет

Белги — 32 биттик талаа, ал эми маскалар — аны бир нече ээнин бөлүшүү жолу. Маска менен маани коюу сизге таандык эмес биттерди сактайт; бүт талааны коюу башкалардын баарынын биттерин жок кылат. Талаага тийген ар бир эрежеде масканы окуңуз, өзүңүз жазбаган эрежелерди да кошуп.

Биттердин бөлүштүрүлүшүн эрежелер жыйнагынын жанында документтештириңиз.

Болбосо кийинки адам ээси бар маанини кайра колдонот, жана бул жердеги кагылышуу маршруттоо катасына окшошуп көрүнөт, чындыгында дарек катасы. nftables-тин пакет метаберилиштери тууралуу документтештирүүсү белги операцияларынын өзүн сүрөттөйт.

Текшерүү 5: издөө менен эмес, реалдуу агым менен текшериңиз

Жөнөкөй маршрут издөө белги алып жүрбөйт, ошондуктан реалдуу пакеттен башка жолду көрсөтүшү мүмкүн. Сизди кызыктырган трафикти жаратыңыз жана эсептегичтерди, байланыштарды көзөмөлдөө жазуусун жана ал чындыгында чыгып жаткан интерфейсти байкаңыз. Кирип жаткан классты да, чыгарылып жаткан классты да сынаңыз, анткени өтө кең белги четтетүүнү бузат, бирок ийгиликтүү көрүнөт. Эгер кирип жаткан класс иштеп, чыгарылып жаткан класс да туннелге кирсе, белги өтө тар эмес, өтө кең.

Тирүү сессияда жаңыртууну мажбурлоо үчүн байланыш абалын тазалоодон качыңыз, анткени жаңы жана учурдагы агымдар мыйзамдуу түрдө башка жолдор менен жүрүшү мүмкүн.

Белгини, масканы жана таблицаны бир жерге жазыңыз, ошондо кийинки оңдоо текшерүүгө жарактуу болот.

Тектеш макалалар