WireGuard dërgon të dhëna por nuk merr asgjë mbrapsht: cila anë?
Një numërues dërgimi që rritet është drejtim, jo diagnozë. Vendosni nëse kërkesa nuk e la kurrë tunelin apo përgjigjja nuk u kthye kurrë, përpara se të ndryshoni ndonjë gjë.
Numëruesit e dërgimit që rriten ndërsa numëruesi i pranimit mbetet në zero përshkruajnë një drejtim, jo një diagnozë. E njëjta lexim shfaqet kur partneri nuk përfundoi kurrë një shtrëngim duarsh, kur destinacioni zgjodhi partnerin e gabuar, kur ana e largët nuk ka rrugë kthimi dhe kur një filtër e hedh përgjigjjen në rrugën për në shtëpi. Secili prej tyre rregullohet në një vend tjetër.
Krahasimi që shkurton punën është mes një kërkese që nuk e la kurrë tunelin dhe një përgjigjeje që nuk u kthye kurrë. Një kapje në ndërfaqen e duhur vendos mes tyre.
Numëruesit përshkruajnë vëllimin, jo drejtimin e defektit
Numëruesit e WireGuard regjistrojnë çfarë i dorëzoi ndërfaqja partnerit dhe çfarë mori prej tij. Ata nuk thonë cila destinacion, cili partner apo cila gjysmë e shkëmbimit dështoi. Trafiku i sfondit i bën totalet edhe më pak informativë, pasi disa bajt mund të jenë mesazhe mbajtjeje ose rrjedha të palidhura. Lexojini si tregues se ndërfaqja është aktive, pastaj ndaloni t’i trajtoni si provë.
Fakti i parë i dobishëm është nëse shtrëngimi i duarve është aktual. Pa atë, asgjë nuk u kriptua për këtë partner dhe numëruesi i pranimit nuk ka arsye të lëvizë.
Zgjedhja e partnerit ose rruga e përgjigjes: dy shpjegime
Shpjegimi i parë është që paketa nuk arriti kurrë te partneri i synuar, sepse rruga tregonte diku tjetër ose prefikset e lejuara të partnerit nuk e mbulonin destinacionin. I dyti është që paketa mbërriti dhe përgjigjja nuk mundi të kthehej, çka është problem rrugëtimi në skajin e largët. Tabela i ndan ata sipas asaj që do të vëreni në çdo pikë.
| Observation | Points to |
|---|---|
| No handshake while transmit climbs | Peer selection or endpoint |
| Handshake current, request visible on the server | Reply path or far-side route |
| Request never visible on the server | Allowed prefixes or local route |
| Both packets visible, nothing reaches the client | Return filter or translation |
Lexojeni tabelën nga lart. Mungesa e shtrëngimit të duarve ju dërgon te çelësat, pikat fundore dhe rruga e jashtme, sepse nuk ka ende asgjë tjetër për të shqyrtuar. Një shtrëngim duarsh aktual me kërkesën e dukshme në server e zhvendos problemin në drejtimin e kthimit, ku vendos vetë tabela e rrugëtimit e destinacionit. Një kërkesë që nuk shfaqet kurrë në server është problem zgjedhjeje, dhe prefikset e lejuara në të dy partnerët janë gjëja e parë që duhet krahasuar.
Dy nga këto katër rreshta rregullohen në klient dhe dy në server. Të dish në cilin çift jeni është pjesa më e madhe e punës.
Ku zhduken përgjigjjet
Një përgjigjje lë destinacionin, arrin ndërfaqen e tunelit të serverit dhe kriptohet për partnerin, adresat e lejuara të të cilit përputhen me adresën e brendshme të klientit. Nëse kjo përputhje dështon, përgjigjja hidhet në heshtje, çka nga ana e klientit duket saktësisht si defekt rrjeti. Nëse përgjigjja është e kriptuar dhe filtri i vetë klientit e refuzon, simptoma është përsëri identike. Të dyja rastet kërkojnë kapjen, jo numëruesin.
Forma më e fortë e këtij gabimi është një server që përçon paketa për klientin, por nuk ka rrugë kthimi drejt intervalit të brendshëm të klientit. Ai e pranon kërkesën, e dërgon përgjigjjen drejt portës së vet të parazgjedhur, dhe tuneli nuk e sheh kurrë. Një rregull i gjerë përkthimi i shtuar në server e fsheh atë defekt në vend që të rregullojë rrugën.
Testoni një destinacion nga fillimi në fund
Zgjidhni një destinacion të vetëm brenda intervalit të partnerit dhe testojeni ndërsa shtrëngimi i duarve është provueshëm aktual. Komandat më poshtë lexojnë gjendjen e partnerit, rrugën e zgjedhur dhe të dy anët e shkëmbimit. Ekzekutoni kapjen në ndërfaqen që paketat e kriptuara përdorin në të vërtetë.
wg show wg0 latest-handshakes
wg show wg0 transfer
ip route get 10.60.9.5
sudo tcpdump -ni wg0 host 10.60.9.5
Një kapje që tregon kërkesën në ndërfaqen e tunelit pa asgjë që kthehet është përgjigjje nga ana e serverit, dhe tabela e rrugëtimit e destinacionit është vendi tjetër për t’u shikuar. Nëse nuk shfaqet absolutisht asgjë, paketa mori një rrugë tjetër, prandaj rruga lokale është e dyshuara. Një shkëmbim i dukshëm në të dyja kapjet pa përparim në aplikacion e zhvendos pyetjen te madhësia e paketës ose te një filtër që statistikat e ndërfaqes nuk e tregojnë kurrë. Mbani një destinacion dhe një klient në test, sepse një variabël i dytë e kthen provën përsëri në përshtypje.
Nëse emrat dështojnë ndërsa një adresë e lejuar funksionon, përgjigjja është në DNS dhe jo në tunel. Nëse bllokohen vetëm transferimet e mëdha, shqyrtoni madhësinë e paketës veçmas.