nftables: уметните правило дозволе VPN пре дршке за одбацивање
У nftables-у, insert и add постављају правило на супротне стране дршке. Пронађите одбацивање, изаберите страну, затим проверите датотеку пре него што се скуп правила промени.
Поставите правило дозволе на погрешно место и оно се понаша као да правила нема. У nftables-у избор између insert и add одређује на коју страну наведеног правила ће нови исказ доћи, а дршка именује правило у живом скупу правила, а не његов број реда. Ако је положај погрешан, пакет прво стиже до одбацивања.
Поређење испод користи једног фиксног партнера и једну размену спољног слушаоца. Оно је намерно уско; замена целог ланца је друга промена са другачијим профилом ризика.
Два положаја, два различита исхода
insert поставља правило пре наведеног правила. add га поставља после. Ако је наведено правило завршно одбацивање за ток, ове две команде дају супротне резултате, чак и када је текст правила идентичан.
Изостављање положаја има сопствено подразумевано понашање, што је још један разлог да не копирате команду са форума без читања на шта је усидрена. Сидро је цела одлука. Запишите предвиђену страну пре него што откуцате команду. insert и add се разликују за једну реч у датотеци.
Положај је релативан према правилу у одређеном ланцу. Премештање истог исказа у други ланац или други приоритет hook-а мења то које пакете види, чак и када синтакса правила изгледа исправно.
Дршка идентификује правило, а не број реда
Дршка као 42 је идентификатор у тренутном стању скупа правила. То није четрдесет друго правило и није стабилна између домаћина, поновних изградњи или менаџера који поново учитава своју конфигурацију.
Пронађите ланац и стварно завршно одбацивање пре него што изаберете сидро. Затим потврдите дршку на том правилу у истом списку који приказује одбацивање, тако да се број и правило читају заједно. Дршка прочитана из старог списка можда већ припада другом правилу. Поново је прочитајте у сесији која ће применити промену.
iptables --version
nft -a list ruleset
Верзија iptables-а извештава који backend се користи. Скуп правила iptables-nft и независно управљана изворна табела могу постојати заједно, тако да списак са једног frontend-а није аутоматски потпуна слика филтрирања. Проверите оба приказа пре него што изаберете ланац.
Пронађите ланац и правило које заиста одбацује
Прочитајте 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 и припада улазној датотеци; цитирање витичастих заграда је одвојено питање када се команда куца интерактивно.
Држите власника конфигурације јасним. Менаџер који поново гради своја правила може да препише измену у току извршавања, а скрипта за подизање која тврдо кодира застарелу дршку или ће да не успе, или ће да се закачи на погрешно правило.
Дозвола је ограничена, одбацивање је завршно
Пресуда дозволе завршава процену на својој тренутној путањи, али касније примењив основни ланац ипак може да одбаци пакет. Пресуда одбацивања је завршна. Зато растући бројач дозвола није доказ да је ток успео.
Прегледајте све релевантне приоритете hook-а уместо једног ланца изоловано. Пакет може да прође улазни филтер и ипак буде одбијен од hook-а друге табеле на другом приоритету. Наведите сваки основни ланац који може да види ток.
То правило покрива само размену спољног слушаоца. ESP инкапсулиран у транспорту, изворни ESP, партнери IPv6 и дешифровани саобраћај унутар тунела сви захтевају сопствене политике. Ово није потпун заштитни зид за VPN локације.
Проверите датотеку, затим потврдите живи резултат
Пре примене покрените проверу синтаксе и трансакције на прегледаној датотеци. Режим провере извештава да ли nft може да рашчлани и припреми промену; он је не примењује и не доказује да ће други hook да дозволи пакет. Датотека остаје предлог док је власник не примени:
nft -c -f reviewed-vpn-rule.nft
Примените је кроз власников контролисани процес и сачувајте приступ за опоравак. Ако је правило погрешно, одбацивање које сте покушавали да предухитрите може да пресече и пут који користите да га поправите.
Након промене, посматрајте нови покушај дозвољеног партнера и проверите да се извори изван одобреног партнера и даље одбијају. Преместите трајно правило у менаџер који поседује скуп правила, јер дршке у току извршавања лоцирају тренутне објекте, а не идентификују их између подизања.