Oznake nftables in usmerjanje VPN: katero pravilo v resnici zmaga
Oznaka, nastavljena v požarnem zidu, lahko še vedno zgreši pravilo usmerjanja. Preden dodate četrto, preverite masko pravila, vrsto predmeta in druge pisce.
Oznaka, nastavljena v nftables, naj bi poslala en razred prometa skozi tunel, promet pa še naprej odhaja skozi fizični vmesnik. Nabor pravil je videti pravilen sam po sebi. Običajno se je zgodilo to, da je nekaj drugega zapisalo isto oznako, ali da se pravilo usmerjanja ujema z masko, ki ji nova vrednost ne ustreza več.
Preverjanje 1: preberite pravilo, s katerim se ujema jedro
Začnite s pravilom politike, ne s požarnim zidom. Jedro pregleda pravila po vrstnem redu prioritete in prvo ujemanje odloči o tabeli. Preberite vrednost fwmark in masko iz samega pravila, nato potrdite, da se paket z oznako, ki ste jo nastavili, res ujema z njim. Pravilo, ki pričakuje polno 32-bitno vrednost, se ne bo ujemalo s paketom, ki nosi le en bit.
Nato potrdite, katero tabelo izbere to pravilo in kaj tabela vsebuje. Pravilo, ki kaže na prazno tabelo, povzroči neuspešno iskanje, kar v mnogih sistemih pomeni, da paket pade na naslednje pravilo in gre ven skozi fizični vmesnik.
To razrešita dva ukaza: seznam pravil in iskanje poti do cilja v tej tabeli.
Preverjanje 2: oznaka paketa ali oznaka povezave
nftables lahko nastavi oznako na paket in oznako na vnos za sledenje povezavam, in to sta različna predmeta. Oznaka paketa živi med prehodom obdelave paketa, medtem ko oznaka povezave ostane za tok in jo je treba zavestno kopirati. Nastaviti eno in pričakovati drugo je pogosta polovična rešitev.
Če pravilo usmerjanja temelji na oznaki paketa, obnovitev oznake povezave pozneje na poti ne naredi ničesar za to odločitev, ker je odločitev že sprejeta.
Odločite se, kateri predmet ima signal usmerjanja, nato ga nastavite na točki, kjer se sprejme odločitev o usmerjanju.
Preverjanje 3: kdo še piše to oznako
Lastna orodja WireGuarda označijo svoje pakete UDP, da se šifrirani prenos ne usmeri nazaj v tunel, ki mu pripada. Če vaš nabor pravil istemu polju dodeli nepovezano vrednost, ta izključitev izgine in zunanji promet tunela poskuša vstopiti sam vase. Simptom je tunel, ki se vzpostavi in nato preneha prepuščati promet.
Oznake uporabljajo tudi druga požarna orodja, omrežja vsebnikov in usmerjanje po politiki v druge namene, zato je pisanje celotnega polja s strani dveh podsistemov konflikt, tudi ko je vsak zase pravilen.
Preden dodate še enega, naštejte pisce.
Preverjanje 4: maska odloči, kaj obdržite
Oznaka je 32-bitno polje, maske pa so način, kako si ga deli več lastnikov. Nastavitev vrednosti z masko ohrani bite, ki niso vaši; nastavitev celotnega polja uniči bite vseh drugih. Preberite masko v vsakem pravilu, ki se dotakne polja, tudi v tistih, ki jih niste napisali.
Dokumentirajte razdelitev bitov poleg nabora pravil.
Sicer bo naslednja oseba znova uporabila vrednost, ki že ima lastnika, in konflikt tu je videti kot napaka usmerjanja, čeprav je napaka naslavljanja. Dokumentacija nftables o metapodatkih paketov opisuje same operacije z oznakami.
Preverjanje 5: preverite s pravim tokom, ne z iskanjem
Preprosto iskanje poti ne nosi oznake, zato lahko pokaže drugačno pot kot pravi paket. Ustvarite promet, ki vas zanima, in opazujte števce, vnos za sledenje povezavam in vmesnik, skozi katerega v resnici odhaja. Preizkusite vključeni in izključeni razred, ker preširoka oznaka pokvari izključitev, medtem ko je videti uspešna. Če vključeni razred deluje in izključeni razred prav tako vstopi v tunel, je oznaka preširoka in ne preozka.
Izogibajte se čiščenju stanja povezav, da bi med dejavno sejo vsilili osvežitev, ker lahko novi in obstoječi tokovi zakonito ubirajo različne poti.
Zabeležite oznako, masko in tabelo na enem mestu, in naslednja sprememba bo pregledna.