Oznaka postavljena u nftablesu trebala bi poslati jednu klasu prometa kroz tunel, a promet i dalje izlazi kroz fizičko sučelje. Skup pravila izgleda ispravno izolirano. Obično se dogodilo to da je nešto drugo upisalo istu oznaku, ili da pravilo usmjeravanja odgovara maski koju nova vrijednost više ne zadovoljava.

Provjera 1: pročitajte pravilo s kojim se jezgra podudara

Počnite od pravila politike, a ne od vatrozida. Jezgra pregledava pravila po redu prioriteta i prvo podudaranje odlučuje tablicu. Pročitajte vrijednost fwmark i masku iz samog pravila, zatim potvrdite da se paket s oznakom koju ste postavili doista podudara s njim. Pravilo koje očekuje punu 32-bitnu vrijednost neće se podudarati s paketom koji nosi samo jedan bit.

Zatim potvrdite koju tablicu to pravilo odabire i što tablica sadrži. Pravilo koje pokazuje na praznu tablicu proizvodi neuspješnu pretragu, što na mnogim sustavima znači da paket propada do sljedećeg pravila i izlazi kroz fizičko sučelje.

Dvije naredbe to rješavaju: popis pravila i pretraga rute za odredište u toj tablici.

Provjera 2: oznaka paketa ili oznaka veze

nftables može postaviti oznaku na paket i oznaku na zapis praćenja veza, a to su različiti objekti. Oznaka paketa živi za prolaz obrade paketa, dok oznaka veze ostaje za tok i mora se namjerno kopirati. Postaviti jednu i očekivati drugu čest je polovičan popravak.

Ako pravilo usmjeravanja ovisi o oznaci paketa, vraćanje oznake veze kasnije na putu ne čini ništa za tu odluku, jer je odluka već donesena.

Odredite koji objekt posjeduje signal usmjeravanja, zatim ga postavite na mjestu gdje se donosi odluka o usmjeravanju.

Provjera 3: ko još upisuje tu oznaku

Vlastiti alati WireGuarda označavaju svoje UDP pakete kako se šifrirani prijenos ne bi usmjerio natrag u tunel kojem pripada. Ako vaš skup pravila dodjeljuje nepovezanu vrijednost istom polju, to izuzimanje nestaje i vanjski promet tunela pokušava ući u sebe. Simptom je tunel koji se uspostavi i zatim prestane propuštati promet.

Oznake koriste i drugi vatrozidni alati, kontejnersko umrežavanje i usmjeravanje po politici u druge svrhe, pa je upisivanje cijelog polja od strane dva podsustava sukob čak i kada je svaki pojedinačno ispravan.

Popišite pisce prije nego dodate još jednog.

Provjera 4: maska odlučuje što zadržavate

Oznaka je 32-bitno polje, a maske su način na koji ga više vlasnika dijeli. Postavljanje vrijednosti s maskom čuva bitove koje ne posjedujete; postavljanje cijelog polja uništava tuđe. Pročitajte masku u svakom pravilu koje dira polje, uključujući ona koja niste napisali.

Dokumentirajte raspodjelu bitova uz skup pravila.

Inače će sljedeća osoba ponovno upotrijebiti vrijednost koja već ima vlasnika, a sukob ovdje izgleda kao pogreška u usmjeravanju dok je zapravo pogreška u adresiranju. nftables dokumentacija o metapodacima paketa opisuje same operacije s oznakama.

Provjera 5: provjerite stvarnim tokom, a ne pretragom

Obična pretraga rute ne nosi oznaku, pa može pokazati drugačiji put od stvarnog paketa. Generirajte promet koji vas zanima i promatrajte brojače, zapis praćenja veza i sučelje kroz koje zaista izlazi. Testirajte i uključenu i isključenu klasu, jer preširoka oznaka kvari izuzimanje dok izgleda uspješno. Ako uključena klasa radi, a isključena klasa također ulazi u tunel, oznaka je preširoka, a ne preuska.

Izbjegavajte brisanje stanja veza da prisilite osvježavanje tijekom žive sesije, jer novi i postojeći tokovi mogu legitimno ići različitim putevima.

Zabilježite oznaku, masku i tablicu na jednom mjestu, pa sljedeća izmjena postaje pregledna.

Povezani članci