nftables: VPN уруксат эрежесин drop туткасынын алдына киргизиңиз
nftables ичинде insert жана add эрежени тутканын карама-каршы жактарына коет. Drop'ту табыңыз, жагын тандаңыз, анан эрежелер жыйнагы өзгөргөнгө чейин файлды текшериңиз.
Уруксат эрежесин туура эмес жерге койсоңуз, ал эреже такыр жоктой иштейт. nftables ичинде insert менен add ортосундагы тандоо жаңы билдирүүнүн шилтемеленген эреженин кайсы жагына түшөрүн аныктайт, ал эми тутка эрежени тирүү эрежелер жыйнагында атайт, анын сап номерин эмес. Жайгаштыруу туура эмес болсо, пакет адегенде drop'ко жетет.
Төмөнкү салыштыруу бир туруктуу өнөктөштү жана бир тышкы угуучу алмашуусун колдонот. Ал атайын тар; бүт чынжырды алмаштыруу — башка тобокелдик профили бар башка өзгөртүү.
Эки жайгаштыруу, эки башка натыйжа
insert эрежени шилтемеленген эреженин алдына коет. add аны андан кийин коет. Эгер шилтемеленген эреже агым үчүн акыркы drop болсо, эреженин тексти бирдей болсо да, бул эки буйрук карама-каршы натыйжа берет.
Жайды өткөрүп жиберүүнүн өзүнүн демейки жүрүм-туруму бар, бул форумдан буйрукту анын эмнеге бекитилгенин окубай көчүрбөө үчүн дагы бир себеп. Бекиткич — бүт чечим. Буйрукту терүүдөн мурун көздөлгөн жакты жазып коюңуз. Файлда insert менен add бир сөз менен айырмаланат.
Жайгаштыруу белгилүү бир чынжырдагы эрежеге карата. Ошол эле билдирүүнү башка чынжырга же башка hook артыкчылыгына жылдыруу анын кайсы пакеттерди көрөрүн өзгөртөт, эреженин синтаксиси туура көрүнсө да.
Тутка эрежени аныктайт, сап номерин эмес
42 сыяктуу тутка — эрежелер жыйнагынын учурдагы абалындагы идентификатор. Ал кырк экинчи эреже эмес жана хосттор, кайра куруулар же конфигурациясын кайра жүктөгөн менеджер ортосунда туруктуу эмес.
Бекиткичти тандоодон мурун чынжырды жана чыныгы акыркы drop'ту табыңыз. Андан кийин drop'ту көрсөткөн ошол эле тизмедеги эрежедеги тутканы ырастаңыз, номер менен эреже бирге окулсун. Эски тизмеден окулган тутка башка эрежеге таандык болушу мүмкүн. Аны өзгөртүүнү колдоно турган сессияда кайра окуңуз.
iptables --version
nft -a list ruleset
iptables версиясы кайсы backend колдонулуп жатканын билдирет. iptables-nft эрежелер жыйнагы жана өз алдынча башкарылуучу жергиликтүү таблица катар жашай алат, ошондуктан бир frontend'тен алынган тизме автоматтык түрдө толук фильтрлөө сүрөтү эмес. Чынжыр тандоодон мурун эки көрүнүштү тең текшериңиз.
Чынында drop кылган чынжырды жана эрежени табыңыз
input hook'ту, чынжырдын артыкчылыгын жана бул угуучу агымын четке каккан эрежени окуңуз. inet таблицасы эки дарек үй-бүлөсүн тең кармай алат, бирок жеке эреже дагы эле IPv4'кө гана туура келиши мүмкүн.
Бир бекитилген өнөктөштү алыңыз, мисал катары документтик диапазондон 198.51.100.25 колдонуңуз. Каралган жергиликтүү файл 42 туткасынын алдына тышкы уруксат коё алат:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
Текшерүүдөн кийин үй-бүлөнү, таблицаны, чынжырды, тутканы, кирүү интерфейсин жана өнөктөштү алмаштырыңыз. Мисал nft 1.0.9 үчүн документтелген тутка-жайгашуу формасын колдонот жана ал кирүү файлына таандык; буйрук интерактивдүү терilgenде кашааларды тырмакчага алуу өзүнчө маселе.
Конфигурациянын ээсин так кармаңыз. Эрежелерин кайра куруучу менеджер аткаруу убагындагы өзгөртүүнү үстүнөн жаза алат, ал эми эскирген тутканы катуу коддогон жүктөө скрипти же ишке ашпайт, же туура эмес эрежеге байланат.
Уруксат чектелген, drop акыркы
Уруксат өкүмү баалоону учурдагы жолунда бүтүрөт, бирок кийин колдонулуучу базалык чынжыр пакетти дагы эле drop кыла алат. Drop өкүмү акыркы. Ошондуктан өсүп жаткан уруксат эсептегичи агымдын ийгиликтүү болгонунун далили эмес.
Бир чынжырды обочолонуп текшерүүнүн ордуна бардык тиешелүү hook артыкчылыктарын текшериңиз. Пакет input фильтринен өтүп, башка таблицанын hook'у аны башка артыкчылыкта четке кагышы мүмкүн. Агымды көрө алган ар бир базалык чынжырды тизмелеңиз.
Бул эреже тышкы угуучунун алмашуусун гана камтыйт. Транспорттук инкапсуляцияланган ESP, жергиликтүү ESP, IPv6 өнөктөштөрү жана туннелдин ичиндеги шифри ачылган трафик — баарына өз саясаты керек. Бул сайт VPN'инин толук брандмауэри эмес.
Файлды текшериңиз, анан тирүү натыйжаны ырастаңыз
Колдонуудан мурун каралган файлда синтаксис жана транзакция текшерүүсүн иштетиңиз. Текшерүү режими nft өзгөртүүнү талдап, даярдай аларын билдирет; ал аны колдонбойт жана башка hook пакетке уруксат берерин далилдебейт. Файл ээси колдонгонго чейин сунуш бойдон калат:
nft -c -f reviewed-vpn-rule.nft
Ээсинин контролдонгон процесси аркылуу колдонуңуз жана калыбына келтирүү мүмкүнчүлүгүн сактаңыз. Эреже туура эмес болсо, алдыга өтүүгө аракет кылган drop аны оңдоо үчүн колдонгон жолду да кесип коюшу мүмкүн.
Өзгөртүүдөн кийин уруксат берилген өнөктөштүн жаңы аракетин байкаңыз жана бекитилген өнөктөштөн тышкаркы булактар дагы эле четке кагылып жатканын текшериңиз. Туруктуу эрежени эрежелер жыйнагына ээ менеджерге жылдырыңыз, анткени аткаруу убагындагы туткалар учурдагы объектилерди табат, аларды жүктөөлөр ортосунда аныктабайт.