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

Эрежелердин тартиби жана туташуу абалы — ар башка бузулуулар

Тартиптелген чынжырлар жогорудан төмөн карай бааланат, жана акыркы чечимге жеткен биринчи эреже ошол чынжыр боюнча жүрүүнү бүтүрөт. Кылдат жазылган кулпулоо эрежесинин үстүнө кең уруксат коюңуз, ошондо кулпулоо эрежеси документке айланат: ал эрежелер жыйнагында бар, анын эсептегичи нөлгө барабар, жана эч бир пакет ага эч качан жетпейт. Ошол эле текстти башка чынжырга колдонуу да эч нерсени далилдебейт. nftables ичинде базалык чынжырлар илгичтерге артыкчылыктар боюнча бекитилет, ошондуктан бир чынжырдагы уруксат башка илгичтеги же артыкчылыктагы башка чынжырга ошол эле пакетти көрүүгө тоскоол болбойт.

Туташууларды көзөмөлдөө экинчи белгини жаратат, жана сырттан ал такыр ошондой көрүнөт. Агым абалдар таблицасына түшкөндөн кийин, чынжырдын жогорку бөлүгүнө жакын established-or-related уруксаты сиздин жаңы эрежеңиз каралганга чейин эле кайтат. NAT салыштыруулары да ошол эле касиетке ээ: котормо агым башталганда бекитилген, ошондуктан өзгөртүлгөн postrouting эрежеси мурунтан жүрүп жаткан сессияны кайра жазбайт. Ошондуктан өзгөртүү 09:00 дө жаңы туташуу үчүн иштеп жаткандай көрүнөт, ал эми 08:55 те бирөө ачкан сессия үчүн эч нерсе кылбагандай көрүнөт.

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

Активдүү эрежелер жыйнагын окуңуз, өзгөрткөн файлды эмес

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

nft list ruleset
iptables-save

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

iptables -L FORWARD -v -n --line-numbers
nft list chain inet filter forward

Реалдуу сыноо аракетинен кийин нөл пакеттүү кулпулоо эрежеси саясат маселеси эмес, бул орун маселеси. Аны жылдыруу бир саптык өзгөртүү, ал эми синтаксис — баштапкы катаны жараткан так ошол. iptables менен -I башына киргизет, ал эми -A аягына кошот; nftables менен insert эрежени чынжырдын башына коёт, ал эми add аягына кошот. Эреже жеңишке жетиши керек болсо, кокустан жүктөлгөн тартипке ишенүүнүн ордуна аны ачык айтыңыз.

Агым көзөмөлдөнүп жатабы, далилдеңиз

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

conntrack -L -p tcp --dport 1194
conntrack -E -p tcp --dport 1194

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

Өндүрүштүк шлюзде бүт таблицаны тазалоо кыска жолуна каршы туруңуз. conntrack -F жеткиликтүү, жана ал машинадагы бардык көзөмөлдөнгөн агымдарды жок кылат, анын ичинде сиз иштеп жаткан башкаруу сессиясын жана кабыгыңызды ташыган туннелди. Жеке жазууларды чын эле керек болгондо өчүрсө болот, бирок жаңы булак портунан жаңы агым адатта тазараак тажрыйба.

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

Кайтуу жолу менен жаңы агымдан сынаңыз

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

Андан кийин абал мурунтан жаба албаган алмашуу менен сынаңыз. Кардарды ажыратып, кайра туташтырыңыз, жаңы бештик пайда болсун, жана ошол убакта эки учун тең байкаңыз:

tcpdump -ni eth0 'tcp port 1194'
journalctl -k -n 50 --no-pager

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

Максатты жана орунду эреже менен бирге жазып коюңуз

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

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

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