WireGuard može istovremeno imati svjež handshake i nemati adresu, i to stanje je koherentno, a ne protivrječno. Handshake je događaj peera, adresa pripada interfejsu, a ruta odlučuje kroz koji uzlazni kanal paket izlazi. Tri sloja, tri vlasnika, i svaki može otkazati dok druga dva izgledaju zdrava.

Čitanje njih kao jednog statusa je ono što dvominutnu dijagnozu pretvara u cijelo poslijepodne restarta servisa.

Handshake je događaj peera, a ne događaj adresiranja

WireGuardov handshake dokazuje da je konfigurirani peer odgovorio važećim ključem i da su sesijski ključevi aktuelni. On ne govori ništa o lokalnoj adresi na interfejsu, niti o tome vodi li ikakva ruta tamo. Adresu dodjeljuje pomoćnik ili mrežni menadžer, dok konfiguracija protokola samo imenuje peere i ključeve. Miješanje to dvoje je način na koji se zdrav handshake čita kao tunel koji radi.

Zato wg show može prijaviti handshake star nekoliko sekundi na interfejsu koji ne može primiti ni jedan paket iz aplikacije.

Menadžer koji ponovo stvara interfejs može ispustiti adresu ne dirajući konfiguraciju peera, a sljedeći handshake odmah uspijeva jer se ključevi nikad nisu promijenili. Linija u logu o uspješnom handshakeu je tačna i nebitna za kvar.

ObservationWhich layer it belongs toWrong conclusion it invites
Handshake a few seconds oldPeer and keysThe tunnel is usable for application traffic
Address present on wg0Interface configurationTraffic actually egresses through it
Route points at wg0Forwarding tableThe outer packet uses the intended uplink

Adresa interfejsa ima svog vlastitog vlasnika

Adresa na tunelskom uređaju može doći iz pomoćnikove Address linije, iz DHCP klijenta koji radi na interfejsu ili iz upravljačkog demona koji je stvara pri povezivanju. Šta god da je, ta komponenta posjeduje adresu i vratit će je ili ne prema svojoj logici. Čitanje adrese bez imenovanja njenog vlasnika ostavlja vas bez objašnjenja zašto je nestala.

Dva vlasnika na jednom interfejsu klasičan je kvar. Pokretanje pomoćnika i desktop mrežnog menadžera nad istim uređajem stvara trku u kojoj jedan uklanja ono što je drugi upravo konfigurisao, a endpoint cijelo vrijeme odgovara.

Odaberite jednog vlasnika i pustite drugi alat da promatra umjesto da upravlja. Tu odluku vrijedi zapisati, jer se simptom pojavljuje sedmicama kasnije i izgleda kao slučajan gubitak adrese.

Ruta bira uzlazni kanal, interfejs ne

Unutrašnja ruta koja pokazuje na wg0 odlučuje da saobraćaj ulazi u tunel. Odvojena odluka šalje šifrirane vanjske pakete prema peeru, a na hostu s nekoliko uzlaznih kanala ta odluka dolazi iz tablice prosljeđivanja i pravila politike. Wi-Fi roaming može promijeniti vanjski put ne dirajući unutrašnju adresu.

Dakle, tunel koji radi i peer koji nije dostupan kompatibilna su stanja, kao i ispravan peer i pokvarena unutrašnja ruta. Tri zapažanja moraju se uzeti zajedno, u istom trenutku, inače je poređenje besmisleno.

Uporedite tri stanja u jednom prolazu

Tri komande samo za čitanje odgovaraju na tri pitanja redoslijedom koji najbrže izoluje kvar. Pokrenite ih ne mijenjajući ništa između njih.

ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer

Prva pokazuje drži li interfejs adresu uopće, a druga koje bi uređaj odredište trenutno koristilo. Treća prijavljuje vrijeme zadnjeg handshakea i brojače bajtova, i jedina je od tri koja opisuje peera, a ne lokalni host.

Čitajte brojače kao i vremensku oznaku. Handshake koji se stalno obnavlja dok transfer stoji znači da peer odgovara ali ništa korisno ne prolazi, što upućuje na rutiranje ili ACL, a ne na ključeve. Vremenska oznaka koja prestaje napredovati uz prisutnu adresu upućuje uzvodno. Oba čitanja dolaze iz iste linije izlaza, i nijedno nije vidljivo ako provjeravate samo postoji li handshake.

Ispravite konkretno stanje koje je pogrešno, pa ponovo testirajte aplikaciju, a ne tunel. Svjež handshake dokaz je o peeru, a dokaz o peeru nije dokaz da će sljedeći zahtjev iz vašeg preglednika naći adresu, rutu i uzlazni kanal koji radi. Priručnik za wg-quick izričito kaže šta od toga postavlja pomoćnik, a šta pripada protokolu.

Povezani članci