WireGuard šalje podatke, ali ne prima ništa natrag: koja strana?
Rastući brojač prijenosa opisuje smjer, a ne dijagnozu. Odlučite je li zahtjev nikad nije napustio tunel ili se odgovor nikad nije vratio prije nego što bilo što izmijenite.
Brojači prijenosa koji rastu dok brojač primanja ostaje na nuli opisuju smjer, a ne dijagnozu. Isto se očitanje pojavljuje kada partner nikada nije dovršio rukovanje, kada je odredište odabralo pogrešnog partnera, kada daleka strana nema put natrag i kada filtar odbaci odgovor na putu kući. Svaki od tih slučajeva popravlja se na drugom mjestu.
Usporedba koja skraćuje posao jest između zahtjeva koji nikada nije napustio tunel i odgovora koji se nikada nije vratio. Jedno snimanje na ispravnom sučelju odlučuje između njih.
Brojači opisuju obujam, a ne smjer kvara
WireGuardovi brojači bilježe što je sučelje predalo partneru i što je od njega primilo. Oni ne govore koje je odredište, koji partner ili koja polovica razmjene zakazala. Pozadinski promet čini ukupne vrijednosti još manje informativnima, jer neki bajtovi mogu biti poruke održavanja veze ili nepovezani tokovi. Čitajte ih kao pokazatelj da je sučelje aktivno, a zatim ih prestanite tretirati kao dokaz.
Koristan prvi podatak jest je li rukovanje aktualno. Bez njega ništa nije šifrirano za ovog partnera i brojač primanja nema razloga za pomicanje.
Odabir partnera ili put odgovora: dva objašnjenja
Prvo objašnjenje je da paket nikada nije stigao do željenog partnera jer je ruta pokazivala drugamo ili dopušteni prefiksi partnera nisu pokrivali odredište. Drugo je da je paket stigao, a odgovor se nije mogao vratiti, što je problem usmjeravanja na dalekom kraju. Tablica ih razdvaja prema onome što biste uočili u svakoj točki.
| 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 |
Čitajte tablicu odozgo. Nedostatak rukovanja šalje vas na ključeve, završne točke i vanjski put, jer ništa drugo još ne postoji za pregled. Aktualno rukovanje s vidljivim zahtjevom na poslužitelju premješta problem u smjer povratka, gdje odlučuje vlastita tablica usmjeravanja odredišta. Zahtjev koji se nikada ne pojavi na poslužitelju problem je odabira, a dopušteni prefiksi na oba partnera prvo su što treba usporediti.
Dva od tih četiriju redaka popravljaju se na klijentu, a dva na poslužitelju. Znati u kojem se paru nalazite veći je dio posla.
Gdje odgovori nestaju
Odgovor napušta odredište, dolazi do poslužiteljeva tunelskog sučelja i šifrira se za partnera čije se dopuštene adrese podudaraju s unutarnjom adresom klijenta. Ako to podudaranje ne uspije, odgovor se tiho odbacuje, što s klijentske strane izgleda točno kao mrežni kvar. Ako je odgovor šifriran i klijentov vlastiti filtar ga odbije, simptom je ponovno isti. Oba slučaja trebaju snimanje, a ne brojač.
Najjači oblik te pogreške je poslužitelj koji prosljeđuje pakete za klijenta, ali nema put natrag do klijentova unutarnjeg raspona. On prihvaća zahtjev, šalje odgovor prema svom zadanom pristupniku, a tunel to nikada ne vidi. Široko pravilo prevođenja dodano na poslužitelj skriva taj kvar umjesto da popravi rutu.
Testirajte jedno odredište od početka do kraja
Odaberite jedno odredište unutar partnerova raspona i testirajte ga dok je rukovanje očito aktualno. Naredbe u nastavku čitaju stanje partnera, odabranu rutu i obje strane razmjene. Pokrenite snimanje na sučelju koje šifrirani paketi stvarno koriste.
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
Snimanje koje pokazuje zahtjev na tunelskom sučelju bez ičega što se vraća odgovor je sa strane poslužitelja, a tablica usmjeravanja odredišta sljedeće je mjesto za pogledati. Ako se ne pojavi baš ništa, paket je otišao drugim putem, pa je sumnjivac lokalna ruta. Razmjena vidljiva u oba snimanja bez napretka u aplikaciji premješta pitanje na veličinu paketa ili na filtar koji statistika sučelja nikada ne pokazuje. Zadržite jedno odredište i jednog klijenta u testu, jer druga varijabla pretvara dokaz natrag u dojam.
Ako imena zakažu dok dopuštena adresa radi, odgovor je u DNS-u, a ne u tunelu. Ako se samo veliki prijenosi zaustavljaju, ispitajte veličinu paketa odvojeno.