nftables: umetnite VPN pravilo dopuštanja prije ručke odbacivanja
U nftablesu insert i add postavljaju pravilo na suprotne strane ručke. Nađite odbacivanje, odaberite stranu, pa provjerite datoteku prije promjene skupa pravila.
Postavite pravilo dopuštanja na pogrešno mjesto i ono se ponaša kao da pravila nema. U nftablesu izbor između insert i add odlučuje na koju stranu navedenog pravila će novi iskaz sjesti, a ručka imenuje pravilo u živom skupu pravila, a ne njegov broj retka. Pogriješite li s mjestom, paket prvo stigne do odbacivanja.
Usporedba ispod koristi jednog fiksnog partnera i jednu razmjenu vanjskog slušatelja. Namjerno je uska; zamjena cijelog lanca druga je promjena s drugim profilom rizika.
Dva položaja, dva različita ishoda
insert postavlja pravilo prije navedenog pravila. add postavlja ga poslije. Ako je navedeno pravilo završno odbacivanje za tok, te dvije naredbe daju suprotne rezultate iako je tekst pravila identičan.
Izostavljanje položaja ima vlastito zadano ponašanje, što je još jedan razlog da ne kopirate naredbu s foruma bez čitanja na što je usidrena. Sidro je cijela odluka. Zapišite željenu stranu prije nego upišete naredbu. insert i add razlikuju se jednom riječju u datoteci.
Položaj je relativan prema pravilu u određenom lancu. Premještanje istog iskaza u drugi lanac ili drugi prioritet hooka mijenja to koje pakete vidi, čak i kad sintaksa pravila izgleda ispravno.
Ručka označava pravilo, a ne broj retka
Ručka poput 42 identifikator je u trenutnom stanju skupa pravila. Nije četrdeset drugo pravilo i nije stabilna između hostova, ponovnih izgradnji ili upravitelja koji ponovno učitava svoju konfiguraciju.
Nađite lanac i stvarno završno odbacivanje prije odabira sidra. Zatim potvrdite ručku na tom pravilu u istom ispisu koji prikazuje odbacivanje, da se broj i pravilo čitaju zajedno. Ručka pročitana iz starog ispisa može već pripadati drugom pravilu. Ponovno je pročitajte u sesiji koja će primijeniti promjenu.
iptables --version
nft -a list ruleset
Verzija iptablesa pokazuje koji se pozadinski sustav koristi. Skup pravila iptables-nft i neovisno upravljana izvorna tablica mogu postojati zajedno, pa popis s jednog sučelja nije automatski potpuna slika filtriranja. Provjerite oba prikaza prije odabira lanca.
Nađite lanac i pravilo koje stvarno odbacuje
Pročitajte ulazni hook, prioritet lanca i pravilo koje odbija ovaj tok slušatelja. inet tablica može nositi obje obitelji adresa, ali pojedino pravilo i dalje može odgovarati samo IPv4.
Uzmite jednog odobrenog partnera, koristeći 198.51.100.25 iz dokumentacijskog raspona kao primjer. Pregledana izvorna datoteka mogla bi postaviti vanjsko dopuštanje prije ručke 42:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
Zamijenite obitelj, tablicu, lanac, ručku, ulazno sučelje i partnera nakon pregleda. Primjer koristi oblik položaja po ručki dokumentiran za nft 1.0.9 i pripada ulaznoj datoteci; citiranje vitičastih zagrada zasebna je stvar kad se naredba upisuje interaktivno.
Držite vlasnika konfiguracije jasnim. Upravitelj koji ponovno gradi svoja pravila može prebrisati izmjenu u radu, a skripta za podizanje koja tvrdo kodira zastarjelu ručku ili će pasti ili će se pričvrstiti na pogrešno pravilo.
Dopuštanje je ograničeno, odbacivanje je završno
Presuda dopuštanja završava procjenu na svojoj trenutnoj stazi, ali kasniji primjenjivi osnovni lanac još može odbaciti paket. Presuda odbacivanja je završna. Zato rastući brojač dopuštanja nije dokaz da je tok uspio.
Pregledajte sve relevantne prioritete hooka umjesto jednog lanca izolirano. Paket može proći ulazni filtar i ipak biti odbijen hookom druge tablice na drugom prioritetu. Navedite svaki osnovni lanac koji vidi tok.
To pravilo pokriva samo razmjenu vanjskog slušatelja. ESP s transportnim inkapsuliranjem, izvorni ESP, IPv6 partneri i dešifrirani promet unutar tunela svi trebaju vlastite politike. To nije potpun vatrozid za VPN na razini lokacije.
Provjerite datoteku, pa potvrdite rezultat u radu
Pokrenite provjeru sintakse i transakcije na pregledanoj datoteci prije primjene. Način provjere izvješćuje može li nft raščlaniti i pripremiti promjenu; ne primjenjuje je i ne dokazuje da će drugi hook dopustiti paket. Datoteka ostaje prijedlog dok je vlasnik ne primijeni:
nft -c -f reviewed-vpn-rule.nft
Primijenite kroz vlasnikov kontrolirani proces i sačuvajte pristup za oporavak. Ako je pravilo pogrešno, odbacivanje koje ste pokušavali prethoditi može presjeći i put kojim ga popravljate.
Nakon promjene promatrajte novi pokušaj dopuštenog partnera i provjerite da se izvori izvan odobrenog partnera još odbijaju. Premjestite trajno pravilo u upravitelja koji posjeduje skup pravila, jer ručke u radu pronalaze trenutne objekte, a ne identificiraju ih kroz podizanja.