Počítadlá odosielania, ktoré rastú, kým počítadlo prijímania zostáva na nule, opisujú smer, nie diagnózu. Rovnaké čítanie sa objaví, keď partner nikdy nedokončil handshake, keď cieľ zvolil nesprávneho partnera, keď vzdialená strana nemá cestu späť a keď filter zahodí odpoveď na ceste domov. Každý z týchto prípadov sa opravuje na inom mieste.

Porovnanie, ktoré skracuje prácu, je medzi požiadavkou, ktorá nikdy neopustila tunel, a odpoveďou, ktorá sa nikdy nevrátila. Jeden záznam na správnom rozhraní rozhodne medzi nimi.

Počítadlá opisujú objem, nie smer poruchy

Počítadlá WireGuardu zaznamenávajú, čo rozhranie odovzdalo partnerovi a čo od neho prijalo. Nehovoria, ktorý cieľ, ktorý partner alebo ktorá polovica výmeny zlyhala. Prevádzka na pozadí robí súčty ešte menej výpovednými, pretože niektoré bajty môžu byť správy na udržanie spojenia alebo nesúvisiace toky. Čítajte ich ako ukazovateľ, že rozhranie je aktívne, a potom ich prestaňte brať ako dôkaz.

Prvý užitočný fakt je, či je handshake aktuálny. Bez neho nebolo pre tohto partnera nič zašifrované a počítadlo prijímania nemá dôvod sa hýbať.

Voľba partnera alebo cesta odpovede: dve vysvetlenia

Prvé vysvetlenie je, že paket nikdy nedorazil k zamýšľanému partnerovi, pretože trasa ukazovala inam alebo povolené prefixy partnera nepokrývali cieľ. Druhé je, že paket dorazil a odpoveď sa nemohla vrátiť, čo je problém smerovania na vzdialenom konci. Tabuľka ich oddeľuje podľa toho, čo by ste v každom bode pozorovali.

ObservationPoints to
No handshake while transmit climbsPeer selection or endpoint
Handshake current, request visible on the serverReply path or far-side route
Request never visible on the serverAllowed prefixes or local route
Both packets visible, nothing reaches the clientReturn filter or translation

Čítajte tabuľku zhora. Chýbajúci handshake vás pošle ku kľúčom, koncovým bodom a vonkajšej ceste, pretože zatiaľ neexistuje nič iné na skúmanie. Aktuálny handshake s požiadavkou viditeľnou na serveri presúva problém do smeru návratu, kde rozhoduje vlastná smerovacia tabuľka cieľa. Požiadavka, ktorá sa na serveri nikdy neobjaví, je problém voľby a povolené prefixy na oboch partneroch sú prvá vec, ktorú treba porovnať.

Dva z týchto štyroch riadkov sa opravujú na klientovi a dva na serveri. Vedieť, v ktorej dvojici ste, je väčšina práce.

Kde odpovede miznú

Odpoveď opustí cieľ, dorazí na tunelové rozhranie servera a zašifruje sa pre partnera, ktorého povolené adresy zodpovedajú vnútornej adrese klienta. Ak toto porovnanie zlyhá, odpoveď sa ticho zahodí, čo z pohľadu klienta vyzerá presne ako sieťová porucha. Ak je odpoveď zašifrovaná a vlastný filter klienta ju odmietne, príznak je opäť rovnaký. Oba prípady potrebujú záznam, nie počítadlo.

Najsilnejšia podoba tejto chyby je server, ktorý preposiela pakety za klienta, ale nemá cestu späť do vnútorného rozsahu klienta. Prijme požiadavku, pošle odpoveď k svojej predvolenej bráne a tunel ju nikdy nevidí. Široké pravidlo prekladu pridané na server túto poruchu skrýva namiesto opravy trasy.

Otestujte jeden cieľ od začiatku do konca

Vyberte jediný cieľ v rozsahu partnera a otestujte ho, kým je handshake preukázateľne aktuálny. Nižšie uvedené príkazy čítajú stav partnera, zvolenú trasu a obe strany výmeny. Spustite záznam na rozhraní, ktoré šifrované pakety skutočne používajú.

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

Záznam, ktorý ukazuje požiadavku na tunelovom rozhraní a nič sa nevracia, je odpoveď zo strany servera a smerovacia tabuľka cieľa je ďalšie miesto, kam sa pozrieť. Ak sa neobjaví vôbec nič, paket šiel inou cestou, takže podozrivá je miestna trasa. Výmena viditeľná v oboch záznamoch bez pokroku v aplikácii presúva otázku na veľkosť paketu alebo na filter, ktorý štatistiky rozhrania nikdy neukážu. V teste udržujte jeden cieľ a jedného klienta, pretože druhá premenná mení dôkaz opäť na dojem.

Ak názvy zlyhávajú, kým povolená adresa funguje, odpoveď je v DNS, nie v tuneli. Ak sa zasekávajú len veľké prenosy, preskúmajte veľkosť paketu samostatne.

Súvisiace články