Një shenjë e vendosur në nftables duhet të dërgojë një klasë trafiku përmes tunelit, dhe trafiku vazhdon të dalë përmes ndërfaqes fizike. Grupi i rregullave duket i saktë i izoluar. Ajo që zakonisht ka ndodhur është se diçka tjetër shkroi të njëjtën shenjë, ose rregulli i rrugëtimit përputhet me një maskë që vlera e re nuk e plotëson më.

Kontrolli 1: lexoni rregullin me të cilin përputhet kernel-i

Filloni me rregullin e politikës dhe jo me firewall-in. Kernel-i i shqyrton rregullat sipas rendit të përparësisë dhe përputhja e parë vendos tabelën. Lexoni vlerën e fwmark dhe maskën nga vetë rregulli, pastaj konfirmoni që një paketë me shenjën që vendosët përputhet vërtet me të. Një rregull që pret një vlerë të plotë 32-bitëshe nuk do të përputhet me një paketë që mban vetëm një bit.

Pastaj konfirmoni cilën tabelë zgjedh ai rregull dhe çfarë përmban tabela. Një rregull që tregon një tabelë boshe prodhon dështim kërkimi, që në shumë sisteme do të thotë që paketa bie te rregulli tjetër dhe del përmes ndërfaqes fizike.

Dy komanda e zgjidhin këtë: lista e rregullave dhe kërkimi i rrugës për destinacionin në atë tabelë.

Kontrolli 2: shenjë pakete apo shenjë lidhjeje

nftables mund të vendosë një shenjë në paketë dhe një shenjë në zërin e gjurmimit të lidhjeve, dhe këto janë objekte të ndryshme. Shenja e paketës jeton gjatë kalimit të përpunimit të paketës, ndërsa shenja e lidhjes vazhdon për rrjedhën dhe duhet kopjuar me qëllim. Të vendosësh njërën dhe të presësh tjetrën është një gjysmë-zgjidhje e zakonshme.

Nëse rregulli i rrugëtimit mbështetet te shenja e paketës, rikthimi i shenjës së lidhjes më vonë në rrugë nuk bën asgjë për atë vendim, sepse vendimi është marrë tashmë.

Vendosni cili objekt zotëron sinjalin e rrugëtimit, pastaj vendoseni në pikën ku merret vendimi i rrugëtimit.

Kontrolli 3: kush tjetër e shkruan atë shenjë

Vetë mjetet e WireGuard shënojnë paketat e tyre UDP që transporti i kriptuar të mos ridrejtohet përsëri në tunelin të cilit i përket. Nëse grupi juaj i rregullave i jep një vlerë të palidhur të njëjtës fushë, ajo përjashtim zhduket dhe trafiku i jashtëm i tunelit përpiqet të hyjë në vetvete. Simptoma është një tunel që vendoset dhe pastaj ndalon së kaluari trafikun.

Shenjat përdoren gjithashtu nga mjete të tjera firewall-i, nga rrjeti i kontejnerëve dhe nga rrugëtimi me politikë për qëllime të tjera, kështu që dy nënsisteme që shkruajnë të gjithë fushën përbëjnë konflikt edhe kur secili është i saktë veçmas.

Listoni shkruesit përpara se të shtoni një tjetër.

Kontrolli 4: maska vendos çfarë mbani

Një shenjë është një fushë 32-bitëshe, dhe maskat janë mënyra se si disa pronarë e ndajnë atë. Vendosja e një vlere me maskë ruan bitet që nuk i zotëroni; vendosja e të gjithë fushës shkatërron bitet e të gjithë të tjerëve. Lexoni maskën në çdo rregull që prek fushën, duke përfshirë ata që nuk i shkruat.

Dokumentoni ndarjen e biteve pranë grupit të rregullave.

Përndryshe personi tjetër do të ripërdorë një vlerë që ka tashmë pronar, dhe një konflikt këtu duket si gabim rrugëtimi ndërsa është gabim adresimi. Dokumentacioni i nftables për metadataset e paketave përshkruan vetë operacionet e shenjës.

Kontrolli 5: verifikoni me një rrjedhë të vërtetë, jo me një kërkim

Një kërkim i thjeshtë rruge nuk mban shenjë, prandaj mund të tregojë një rrugë të ndryshme nga paketa e vërtetë. Gjeneroni trafikun që ju intereson dhe vëzhgoni numëruesit, zërin e gjurmimit të lidhjeve dhe ndërfaqen nga e cila del vërtet. Provoni si klasën e përfshirë ashtu edhe klasën e përjashtuar, sepse një shenjë shumë e gjerë e prish përjashtimin ndërsa duket e suksesshme. Nëse klasa e përfshirë funksionon dhe klasa e përjashtuar hyn gjithashtu në tunel, shenja është shumë e gjerë dhe jo shumë e ngushtë.

Shmangni pastrimin e gjendjes së lidhjeve për të detyruar një rifreskim gjatë një sesioni të drejtpërdrejtë, pasi rrjedhat e reja dhe ato ekzistuese mund të marrin rrugë të ndryshme në mënyrë legjitime.

Regjistroni shenjën, maskën dhe tabelën në një vend, dhe redaktimi tjetër bëhet i verifikueshëm.

Artikuj të ngjashëm