Rokovanje deluje, naslov je izginil: tri stanja WireGuarda
Sveže rokovanje dokazuje, da je sopotnik odgovoril, ne pa da vmesnik ohranja svoj naslov ali da bo naslednji paket šel po predvideni zgornji povezavi.
WireGuard ima lahko hkrati sveže rokovanje in nobenega naslova, in to stanje je skladno, ne protislovno. Rokovanje je dogodek sopotnika, naslov pripada vmesniku, pot pa odloči, po kateri zgornji povezavi paket zapusti gostitelja. Tri plasti, trije lastniki, in vsak lahko odpove, medtem ko druga dva izgledata zdrava.
Brati jih kot en status je tisto, kar dvominutno diagnostiko spremeni v celo popoldne ponovnega zagona storitev.
Rokovanje je dogodek sopotnika, ne dogodek naslavljanja
Rokovanje WireGuarda dokazuje, da je nastavljeni sopotnik odgovoril z veljavnim ključem in da so sejni ključi aktualni. O lokalnem naslovu na vmesniku ne pove ničesar, prav tako ne o tem, ali katera pot vodi tja. Naslov dodeli pomočnik ali upravitelj omrežja, medtem ko konfiguracija protokola samo poimenuje sopotnike in ključe. Zamenjava teh dveh je razlog, da se zdravo rokovanje bere kot delujoč tunel.
Zato lahko wg show poroča o rokovanju, starem nekaj sekund, na vmesniku, ki ne more sprejeti niti enega paketa iz aplikacije.
Upravitelj, ki vmesnik znova ustvari, lahko naslov spusti, ne da bi se dotaknil konfiguracije sopotnika, in naslednje rokovanje takoj uspe, ker se ključi nikoli niso spremenili. Vrstica v dnevniku o uspešnem rokovanju je natančna in za napako nepomembna.
| Observation | Which layer it belongs to | Wrong conclusion it invites |
|---|---|---|
| Handshake a few seconds old | Peer and keys | The tunnel is usable for application traffic |
Address present on wg0 | Interface configuration | Traffic actually egresses through it |
Route points at wg0 | Forwarding table | The outer packet uses the intended uplink |
Naslov vmesnika ima svojega lastnika
Naslov na tunelski napravi lahko pride iz vrstice Address pomočnika, iz odjemalca DHCP, ki teče na vmesniku, ali iz upravljalnega demona, ki ga ustvari ob povezavi. Karkoli že je, ta komponenta ima naslov v lasti in ga bo obnovila ali ne po svoji logiki. Branje naslova brez imenovanja njegovega lastnika vas pusti brez razlage, zakaj je izginil.
Dva lastnika na enem vmesniku sta klasična napaka. Zagon pomočnika in namiznega upravitelja omrežja na isti napravi ustvari tekmo, v kateri eden odstrani to, kar je drugi pravkar nastavil, končna točka pa ves čas odgovarja.
Izberite enega lastnika in pustite drugemu orodju, da opazuje namesto upravlja. To odločitev je vredno zapisati, ker se simptom pojavi tedne pozneje in izgleda kot naključna izguba naslova.
Pot izbere zgornjo povezavo, vmesnik ne
Notranja pot, ki kaže na wg0, odloči, da promet vstopi v tunel. Ločena odločitev pošlje šifrirane zunanje pakete proti sopotniku, in na gostitelju z več zgornjimi povezavami ta odločitev pride iz tabele posredovanja in pravil politike. Wi-Fi gostovanje lahko spremeni zunanjo pot, ne da bi se dotaknilo notranjega naslova.
Tako sta delujoč tunel in nedosegljiv sopotnik združljiva stanja, prav tako pravilen sopotnik in polomljena notranja pot. Vsa tri opažanja je treba vzeti skupaj, v istem trenutku, sicer je primerjava nesmiselna.
Primerjajte tri stanja v enem prehodu
Trije ukazi samo za branje odgovorijo na tri vprašanja v vrstnem redu, ki napako najhitreje izolira. Zaženite jih, ne da bi med njimi kaj spremenili.
ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer
Prvi pokaže, ali ima vmesnik sploh naslov, drugi pa, katero napravo bi določen cilj uporabil prav zdaj. Tretji poroča o času zadnjega rokovanja in števcih bajtov, in je edini od treh, ki opisuje sopotnika in ne lokalnega gostitelja.
Berite števce in tudi časovni žig. Rokovanje, ki se nenehno obnavlja, medtem ko prenos stoji, pomeni, da sopotnik odgovarja, a nič koristnega ne prehaja, kar kaže na usmerjanje ali ACL in ne na ključe. Časovni žig, ki se neha premikati ob prisotnem naslovu, kaže navzgor. Obe branji prihajata iz iste izhodne vrstice in nobeno ni vidno, če preverjate le, ali rokovanje obstaja.
Popravite konkretno stanje, ki je napačno, in nato znova preizkusite aplikacijo, ne tunela. Sveže rokovanje je dokaz o sopotniku, in dokaz o sopotniku ni dokaz, da bo naslednja zahteva iz vašega brskalnika našla naslov, pot in delujočo zgornjo povezavo. priročnik wg-quick izrecno pove, kaj od tega nastavi pomočnik in kaj pripada protokolu.