Prazno polje najnovijeg handshakea obično znači da sučelje nije dovršilo handshake otkako je podignuto, što o konfiguraciji govori manje nego što se čini. WireGuard šuti dok paket ne treba izaći kroz sučelje, pa neaktivni peer koji nema što poslati prijavljuje upravo to. Utvrdite je li nešto doista ponuđeno prije nego što pregledate ključeve.

Test je dozvoljeni paket prema odredištu koje peer treba nositi. Sve ostalo na tom zaslonu stanja opisuje namjeru, a ne aktivnost.

Neaktivno sučelje nema što prijaviti

WireGuard radi handshake lijeno: prvi paket kojem treba tunel pokreće razmjenu, a sučelje do tada šuti. Peer koji je konfiguriran i nikad korišten prikazuje prazan handshake, nula primljenih bajtova i rastući razmak od posljednjeg. To je stanje zdravo za neaktivnog klijenta i alarmantno samo ako ste očekivali da je promet već tekao. Provjerite i brojače prijenosa jer oni odvajaju ništa-poslano od pokušano-i-neuspjelo.

Ako brojači stoje na nuli s obje strane, problem je uzvodno od tunela. Ništa nije stiglo do sučelja da bi nešto pokrenulo.

Pokrenite promet koji peer smije nositi

Odaberite adresu unutar peerovih dozvoljenih prefiksa na lokalnom računalu i potvrdite da bi je tablica usmjeravanja poslala kroz sučelje. Odredište izvan tih prefiksa proizvodi običan usmjeren zahtjev bez ikakvog WireGuardova sudjelovanja. Upotrijebite uslugu koja brzo odgovara, poput pinga ili kratke TCP veze, kako bi pokušaj imao vidljiv početak i kraj. Zatim ponovno pročitajte redak handshakea umjesto da gledate zaslon i čekate.

ip route get 10.60.9.5
ping -c 3 -W 2 10.60.9.5
wg show wg0 latest-handshakes
wg show wg0 transfer

Upit rute važniji je od pinga. Ako imenuje fizičko sučelje, paket nikada nije ušao u tunel i prazan handshake je odgovor usmjeravanja, a ne kriptografski. Popravite rutu prije nego što otklanjate pogreške na peeru.

Usporedite par ključeva i odredište

Kad je promet doista ponuđen, sljedeća je provjera identitet. Lokalni privatni ključ mora odgovarati javnom ključu koji druga strana ovlašćuje, konfigurirani udaljeni javni ključ mora identificirati namjeravanog peera, a svaki unaprijed dijeljeni ključ mora se podudarati na obje strane. Razlika od jednog znaka u base64 ključu stvara peera koji izgleda konfiguriran i nikad ne dovrši razmjenu. Usporedite s evidencijom dodjele umjesto da ponovno generirate ključeve, jer novi ključ poništava svakog peera koji je vjerovao starome.

Odredište traži istu pažnju: ime hosta, adresu, UDP port i obitelj koja se koristi za dolazak do njega. Zastarjela adresa ili pogrešan port daje tišinu umjesto poruke.

Pratite vanjsku UDP putanju

Handshake putuje kao UDP prema odredištu, pa ga vanjska putanja mora nositi. Naredbe u nastavku provjeravaju postoji li slušatelj, je li lokalni stog poslao datagram i koje je odredište konfigurirano. Pokrenite snimanje dok pokrećete promet, a ne prije toga.

ss -lunp | grep 51820
sudo tcpdump -ni eth0 udp port 51820
wg show wg0 endpoints
conntrack -L -p udp | grep 51820

Snimka koja pokazuje inicijaciju bez odgovora upućuje izvan računala, jer udaljena strana ili ne sluša, ili je filtrirana, ili je pogrešno adresirana. Snimka koja ne pokazuje ništa znači da paket nikad nije otišao, što vas vraća na rutu i na bilo koju oznaku socketa u igri. Kad upravljate objema stranama, povežite pokušaj po vremenskoj oznaci s uskim snimanjem na poslužitelju umjesto općenitim. TCP test porta ovdje ništa ne dokazuje jer je protokol samo UDP.

Kad se handshake pojavi, testirajte aplikaciju kroz tunel, jer dovršena razmjena dokazuje identitet i dosegljivost, a ne upotrebljivu propusnost ili ispravan DNS. Sačuvajte izlaz stanja prije i poslije promjene i razlika postaje vaš dokaz.

Povezani članci