Përgjigja del nga LAN-i, jo nga tuneli: pse dhe si
Një kërkesë që vjen përmes tunelit nuk do të thotë që përgjigja të dalë në të njëjtën rrugë. Linux kërkon destinacionin, dhe nënrrjeti lokal zakonisht fiton.
Një shërbim i publikuar përmes një portë funksionon nga pjesa më e madhe e internetit dhe dështon nga një zyrë. Dikush kontrollon tunelin, sheh kërkesën të vijë dhe arrin në përfundimin se përgjigja duhet të kthehet në të njëjtën rrugë. Linux nuk funksionon kështu, dhe asnjë kontroll i tunelit nuk e ndryshon përgjigjen. Përgjigja rrugëtohet sipas destinacionit, dhe ai i vetmi thirrës që dështon ndodhet në një nënrrjet që hosti tashmë e arrin drejtpërdrejt.
Çfarë e vendos në të vërtetë një paketë dalëse
Bërthama kërkon një rrugë për destinacionin e paketës, shqyrton rregullat e politikës sipas rendit të përparësisë dhe më pas tabelën që zgjedh një rregull përputhës. Ndërfaqja nga e cila mbërriti paketa nuk luan asnjë rol, përveç nëse është shkruar një rregull ose shenjë për ta bërë atë të rëndësishme. Ky është një fakt rrugëtimi i këtij hosti, jo një defekt në tunel.
Prandaj një kërkesë e marrë përmes tunelit mund të prodhojë një përgjigje që del përmes ndërfaqes fizike, dhe rrjedha bëhet njëkahëshe pa asnjë pajisje që raporton gabim. Kontrolloni të dy drejtimet përpara se të nxirrni një përfundim për tunelin. Një përgjigje që del në drejtimin e gabuar zhduket nga numëruesit e tunelit, prandaj dy skajet nuk merren vesh nëse u dërgua diçka. Vini re cili numërues lëvizi përpara se të prekni një rregull.
Pse fiton nënrrjeti lokal
Një host me adresë në një rrjet lokal ka një rrugë të lidhur për atë prefiks në tabelën kryesore, dhe një rrugë e lidhur është përputhje e drejtpërdrejtë. Kur thirrësi vjen nga i njëjti nënrrjet, kërkimi gjen lidhjen lokale përpara se tuneli të merret parasysh.
Është asimetria ajo që e bën diagnozën konfuze. Thirrësit nga interneti më i gjerë funksionojnë sepse nuk përputhen me asnjë rrugë lokale, ndërsa i vetmi thirrës që ndan prefiksin e zyrës dështon, dhe pikërisht ai është thirrësi me të cilin dikush teston.
Mbulimi i peer-ëve nuk është i njëjtë me rrugët e instaluara
Në anën e tunelit, intervalet e lejuara të një peer përshkruajnë çfarë mund të dërgohet në tunel dhe cilat burime pranohen prej tij. Ato nuk thonë asgjë për atë se ku tabela lokale e rrugëtimit do ta dërgojë paketën.
Nëse mjeti i tunelit instalon një rrugë të paracaktuar në host, ai mund të tërheqë trafik të palidhur në tunel si dëmtim kolateral. Aty ku vendimin duhet ta mbajë një rregull politike, opsioni i instalimit të rrugëve ekziston pikërisht për ta penguar atë, dhe adresat, kyçet dhe cilësimet e pikës fundore mbeten saktësisht si ishin. Një rrugë e paracaktuar e shtuar për lehtësi është një mënyrë e zakonshme se si një host humbet rrjetin e vet lokal.
Zgjidhni tabelën sipas adresës burimore
Një rregull i bazuar në burim i dërgon përgjigjet nga adresa e shërbimit në një tabelë private, vlera e paracaktuar e së cilës është tuneli, ndërsa gjithçka tjetër vazhdon të përdorë tabelën kryesore. Zgjidhni numra tabele dhe përparësie që nuk përdoren lokalisht, dhe lexoni rregullat ekzistuese përpara se të futni diçka. Lexoni rregullat aktive dhe jo një skedar të ruajtur, sepse të dy mund të ndryshojnë pas një rindezjeje.
ip -6 route add default dev wg0 table 200
ip -6 rule add priority 32000 from 2001:db8:aa::20/128 lookup 200
ip -6 rule add priority 32001 from 2001:db8:aa::20/128 unreachableRreshti i fundit e bën një rrugë që mungon të dështojë dukshëm në vend që të kthehet në lidhjen lokale. Burimi duhet të jetë vërtet i caktuar hostit, dhe kërkimet e zakonshme lokale dhe kryesore duhet të mbeten në pozicionet e mëparshme. Rregulli zgjedh një tabelë sipas burimit; ai nuk krahason gjatësitë e prefiksit midis tabelave.
Konfirmoni rrugën, pastaj shërbimin
Pyetni bërthamën çfarë do të bënte në vend që të nxirrni përfundime nga një kapje, duke përdorur adresën e shërbimit si zgjedhës burimi. Një përgjigje e saktë këtu kursen një gjurmim të plotë paketash.
ip -6 route get 2001:db8:bb::30 from 2001:db8:aa::20Dalja duhet të emërtojë tunelin. Pastaj provoni një burim që nuk e keni prekur dhe konfirmoni se ende merr lidhjen lokale, kështu që ndryshimi mbeti i kufizuar në një adresë. Një zgjedhës më i gjerë nuk do të provonte asgjë për ankesën origjinale.
Çfarë nuk rregullon kjo
Lërini përcjelljen, rregullat e murit të zjarrit dhe sjelljen e ICMPv6 në portë ashtu si ishin, sepse një rrugë burimi nuk zëvendëson asnjërën prej tyre. Një mesazh Packet Too Big që mungon ende prish përgjigjet e mëdha, cilado tabelë që fitoi kërkimin. Rregullojeni këtë përpara se të shtoni rregulla rrugëtimi, përndryshe simptoma do t'i mbijetojë ndryshimit.
Konfirmoni modelin e publikimit përpara se të aplikoni ndonjë prej këtyre. Një proxy i kundërt që hap lidhjen e vet backend paraqet burimin e vet dhe nuk e ruan thirrësin, prandaj ky defekt nuk mund të ndodhë në atë dizajn. Aplikimi i rregullit atje do të shtonte një përjashtim rrugëtimi që nuk zgjidh asgjë dhe fsheh shkakun e vërtetë.
Së fundi, shkruani numrat e rregullave dhe tabelën në menaxhimin e konfigurimit të hostit. Një rregull politike i shtuar me dorë zhduket në rindërtimin tjetër, dhe thirrësi i zyrës kthehet me të njëjtën ankesë.