nftables: ievietojiet VPN atļaujas noteikumu pirms drop roktura
nftables komandas insert un add izvieto noteikumu pretējās roktura pusēs. Atrodiet drop, izvēlieties pusi, pēc tam pārbaudiet failu, pirms mainās noteikumu kopa.
Ievietojiet atļaujas noteikumu nepareizā vietā, un tas uzvedas tā, it kā atļaujas noteikuma nebūtu. nftables izvēle starp insert un add nosaka, kurā norādītā noteikuma pusē nonāks jaunais apgalvojums, un rokturis nosauc noteikumu dzīvajā noteikumu kopā, nevis tā rindas numuru. Ja izvietojums ir nepareizs, pakete vispirms sasniedz drop.
Tālāk esošais salīdzinājums izmanto vienu fiksētu partneri un vienu ārējā klausītāja apmaiņu. Tas ir apzināti šaurs; visas ķēdes aizstāšana ir cita izmaiņa ar citu riska profilu.
Divi izvietojumi, divi atšķirīgi rezultāti
insert ievieto noteikumu pirms norādītā noteikuma. add ievieto to pēc tam. Ja norādītais noteikums ir plūsmas galīgais drop, šīs divas komandas dod pretējus rezultātus, pat ja noteikuma teksts ir identisks.
Vietas izlaišanai ir sava noklusējuma uzvedība, kas ir vēl viens iemesls nekopināt komandu no foruma, neizlasot, kam tā ir piesaistīta. Piesaistes punkts ir viss lēmums. Pierakstiet paredzēto pusi pirms komandas rakstīšanas. Failā insert un add atšķiras ar vienu vārdu.
Izvietojums ir relatīvs pret noteikumu konkrētā ķēdē. Tā paša apgalvojuma pārvietošana uz citu ķēdi vai citu hook prioritāti maina to, kuras paketes tas redz, pat ja noteikuma sintakse izskatās pareiza.
Rokturis identificē noteikumu, nevis rindas numuru
Rokturis, piemēram, 42, ir identifikators pašreizējā noteikumu kopas stāvoklī. Tas nav četrdesmit otrais noteikums, un tas nav stabils starp resursdatoriem, pārbūvēm vai pārvaldnieku, kas pārlādē savu konfigurāciju.
Pirms piesaistes izvēles atrodiet ķēdi un faktisko galīgo drop. Pēc tam apstipriniet rokturi uz šī noteikuma tajā pašā sarakstā, kas rāda drop, lai numurs un noteikums tiktu lasīti kopā. Rokturis, kas nolasīts no veca saraksta, jau var piederēt citam noteikumam. Nolasiet to vēlreiz sesijā, kas piemēros izmaiņas.
iptables --version
nft -a list ruleset
iptables versija norāda, kura aizmugure tiek izmantota. iptables-nft noteikumu kopa un neatkarīgi pārvaldīta vietējā tabula var pastāvēt līdzās, tāpēc saraksts no vienas saskarnes automātiski nav pilnīgs filtrēšanas attēls. Pirms ķēdes izvēles pārbaudiet abus skatus.
Atrodiet ķēdi un noteikumu, kas patiešām veic drop
Izlasiet input hook, ķēdes prioritāti un noteikumu, kas noraida šo klausītāja plūsmu. inet tabula var saturēt abas adrešu saimes, bet atsevišķs noteikums joprojām var atbilst tikai IPv4.
Ņemiet vienu apstiprinātu partneri, kā piemēru izmantojot 198.51.100.25 no dokumentācijas diapazona. Pārskatīts vietējais fails varētu ievietot ārēju atļauju pirms roktura 42:
insert rule inet filter input handle 42 iifname "eth0" ip saddr 198.51.100.25 udp dport { 500, 4500 } counter accept
Pēc pārbaudes aizstājiet saimi, tabulu, ķēdi, rokturi, ieejas saskarni un partneri. Piemērs izmanto roktura izvietojuma formu, kas dokumentēta nft 1.0.9, un tā pieder ievades failam; cirtaino iekavu citēšana ir atsevišķs jautājums, kad komanda tiek rakstīta interaktīvi.
Turiet konfigurācijas īpašnieku skaidru. Pārvaldnieks, kas pārbūvē savus noteikumus, var pārrakstīt izpildlaika labojumu, un palaišanas skripts, kurā iekodēts novecojis rokturis, vai nu neizdosies, vai pievienosies nepareizajam noteikumam.
Atļauja ir ierobežota, drop ir galīgs
Atļaujas spriedums beidz vērtēšanu tā pašreizējā ceļā, bet vēlāk piemērojama bāzes ķēde joprojām var nomest paketi. Drop spriedums ir galīgs. Tāpēc augošs atļauju skaitītājs nav pierādījums, ka plūsma ir izdevusies.
Pārbaudiet visas attiecīgās hook prioritātes, nevis vienu ķēdi atsevišķi. Pakete var iziet input filtru un tomēr tikt noraidīta ar citas tabulas hook citā prioritātē. Uzskaitiet katru bāzes ķēdi, kas var redzēt plūsmu.
Šis noteikums aptver tikai ārējā klausītāja apmaiņu. Transporta iekapsulēts ESP, vietējais ESP, IPv6 partneri un tunelī iekšpusē atšifrētā satiksme visiem nepieciešama sava politika. Tas nav pilnīgs vietnes VPN ugunsmūris.
Pārbaudiet failu, pēc tam apstipriniet dzīvo rezultātu
Pirms piemērošanas palaidiet sintakses un darījuma pārbaudi pārskatītajā failā. Pārbaudes režīms ziņo, vai nft var parsēt un sagatavot izmaiņas; tas tās nepiemēro un nepierāda, ka cits hook atļaus paketi. Fails paliek priekšlikums, līdz īpašnieks to piemēro:
nft -c -f reviewed-vpn-rule.nft
Piemērojiet, izmantojot īpašnieka kontrolēto procesu, un saglabājiet atjaunošanas piekļuvi. Ja noteikums ir nepareizs, drop, kuram centāties tikt priekšā, var pārgriezt arī ceļu, ko izmantojat tā labošanai.
Pēc izmaiņām novērojiet jaunu atļauta partnera mēģinājumu un pārbaudiet, ka avoti ārpus apstiprinātā partnera joprojām tiek noraidīti. Pārvietojiet noturīgo noteikumu uz to pārvaldnieku, kuram pieder noteikumu kopa, jo izpildlaika rokturi lokalizē pašreizējos objektus, nevis identificē tos starp palaišanām.