WireGuard sender data, men får ingenting tilbake: kva side?
Ein stigande sendeteljar er ei retning, ikkje ein diagnose. Avgjer om førespurnaden aldri forlét tunnelen, eller om svaret aldri kom tilbake, før du endrar noko.
Sendeteljarar som stig medan mottakarteljaren blir ståande på null, skildrar ei retning, ikkje ein diagnose. Same avlesing viser seg når peer-en aldri fullførte ein handshake, når destinasjonen valde feil peer, når den fjerne sida ikkje har nokon rute tilbake, og når eit filter slepp svaret på veg heim. Kvar av dei blir reparert på ein annan stad.
Samanlikninga som forkortar arbeidet, er mellom ein førespurnad som aldri forlét tunnelen og eit svar som aldri kom tilbake. Eitt opptak på rett grensesnitt avgjer det.
Teljarar skildrar volum, ikkje retninga på feilen
Teljarane til WireGuard registrerer kva grensesnittet overleverte til peer-en og kva det tok imot frå han. Dei seier ikkje kva destinasjon, kva peer eller kva halvdel av ei utveksling som feila. Bakgrunnstrafikk gjer totalane endå mindre informative, sidan nokre byte kan vere haldningsmeldingar eller urelaterte straumar. Les dei som ein indikasjon på at grensesnittet er aktivt, og slutt deretter å handsame dei som bevis.
Det første nyttige faktumet er om ein handshake er aktuell. Utan han vart ingenting kryptert for denne peer-en, og mottakarteljaren har ingen grunn til å røre seg.
Val av peer eller vegen til svaret: to forklaringar
Den første forklaringa er at pakken aldri nådde den tiltenkte peer-en, fordi ruta peika ein annan stad, eller fordi dei tillatne prefiksa til peer-en ikkje dekte destinasjonen. Den andre er at pakken kom fram og svaret ikkje kunne returnere, noko som er eit ruteproblem i den fjerne enden. Tabellen skil dei etter kva du ville observere på kvar punkt.
| 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 |
Les tabellen ovanfrå. Ein manglande handshake sender deg til nøklar, endepunkt og den ytre vegen, fordi det ikkje finst noko anna å undersøkje enno. Ein aktuell handshake med førespurnaden synleg på serveren flyttar problemet til returretninga, der rutetabellen til destinasjonen sjølv avgjer. Ein førespurnad som aldri viser seg på serveren, er eit valproblem, og dei tillatne prefiksa på begge peer-ar er det første som må samanliknast.
To av desse fire radene blir retta på klienten og to på serveren. Å vite kva par du er i, er det meste av arbeidet.
Kvar svar forsvinn
Eit svar forlèt destinasjonen, når tunnelgrensesnittet til serveren og blir kryptert for peer-en som har tillatne adresser som samsvarar med den indre adressa til klienten. Viss det samsvaret feilar, blir svaret forkasta lydlaust, noko som frå klientsida ser nøyaktig ut som ein nettverksfeil. Viss svaret er kryptert og filteret til klienten sjølv avviser det, er symptomet igjen identisk. Begge tilfella treng opptaket i staden for teljaren.
Den sterkaste forma av denne feilen er ein server som videresender pakkar for klienten, men ikkje har nokon rute tilbake til det indre området til klienten. Han godtek førespurnaden, sender svaret mot standardgatewayen sin, og tunnelen ser det aldri. Ein brei omsetjingsregel lagt til på serveren skjuler den feilen i staden for å reparere ruta.
Test éin destinasjon frå ende til ende
Vel éin einaste destinasjon innanfor området til peer-en, og test han medan ein handshake er provande aktuell. Kommandoane nedanfor les tilstanden til peer-en, den valde ruta og begge sidene av utvekslinga. Køyr opptaket på grensesnittet som dei krypterte pakkane faktisk brukar.
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
Eit opptak som viser førespurnaden på tunnelgrensesnittet utan at noko kjem tilbake, er eit svar frå serversida, og rutetabellen til destinasjonen er den neste staden å sjå. Viss ingenting viser seg i det heile, tok pakken ein annan veg, så den lokale ruta er den mistenkte. Ei utveksling som er synleg i begge opptaka utan framgang i applikasjonen, flyttar spørsmålet til pakkestorleik eller til eit filter som grensesnittstatistikken aldri viser. Hald éin destinasjon og éin klient i testen, fordi ein annan variabel gjer bevis til kjensle igjen.
Viss namn feilar medan ei tillaten adresse verkar, ligg svaret i DNS og ikkje i tunnelen. Viss berre store overføringar stoppar, må pakkestorleiken undersøkjast separat.