WireGuard môže mať čerstvý handshake a zároveň žiadnu adresu, a tento stav je súdržný, nie protirečivý. Handshake je udalosť partnera, adresa patrí rozhraniu a trasa rozhoduje, ktorým smerom paket odchádza. Tri vrstvy, traja vlastníci a každá môže zlyhať, zatiaľ čo ostatné dve vyzerajú zdravo.

Čítať ich ako jeden stav je to, čo z dvojminútovej diagnostiky urobí celé popoludnie reštartovania služieb.

Handshake je udalosť partnera, nie udalosť adresovania

Handshake WireGuardu dokazuje, že nakonfigurovaný partner odpovedal platným kľúčom a že kľúče relácie sú aktuálne. O lokálnej adrese rozhrania nehovorí nič a nič o tom, či tam nejaká trasa vedie. Adresu prideľuje pomocník alebo správca siete, zatiaľ čo konfigurácia protokolu iba pomenúva partnerov a kľúče. Zámena týchto dvoch vecí je dôvod, prečo sa zdravý handshake číta ako fungujúci tunel.

Preto wg show môže hlásiť handshake starý niekoľko sekúnd na rozhraní, ktoré neprijme jediný paket z aplikácie.

Správca, ktorý rozhranie znova vytvorí, môže adresu zahodiť bez toho, aby sa dotkol konfigurácie partnera, a ďalší handshake hneď uspeje, pretože kľúče sa nikdy nezmenili. Riadok v logu o úspešnom handshake je presný a k poruche irelevantný.

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 rozhrania má svojho vlastného vlastníka

Adresa na tunelovom zariadení môže pochádzať z riadku Address pomocníka, z DHCP klienta bežiaceho na rozhraní alebo z démona správy, ktorý ju vytvorí pri pripojení. Nech je to čokoľvek, ten komponent adresu vlastní a podľa svojej logiky ju obnoví alebo nie. Čítanie adresy bez pomenovania jej vlastníka vám nedá vysvetlenie, prečo zmizla.

Dvaja vlastníci na jednom rozhraní sú klasická porucha. Spustenie pomocníka a desktopového správcu siete nad tým istým zariadením vytvára pretek, v ktorom jeden odstráni to, čo druhý práve nastavil, a partner po celý čas odpovedá.

Vyberte jedného vlastníka a nechajte druhý nástroj skôr pozorovať než spravovať. To rozhodnutie stojí za zapísanie, pretože príznak sa objaví až po týždňoch a vyzerá ako náhodná strata adresy.

Trasa volí smer, rozhranie nie

Vnútorná trasa ukazujúca na wg0 rozhoduje, že prevádzka vstúpi do tunela. Samostatné rozhodnutie posiela šifrované vonkajšie pakety k partnerovi a na hostiteľovi s niekoľkými smermi prichádza toto rozhodnutie z preposielacej tabuľky a pravidiel zásad. Wi-Fi roaming môže zmeniť vonkajšiu cestu bez toho, aby sa dotkol vnútornej adresy.

Fungujúci tunel a nedostupný partner sú teda zlučiteľné stavy, rovnako ako správny partner a rozbitá vnútorná trasa. Všetky tri pozorovania treba vziať spolu, v tom istom okamihu, inak je porovnanie bezvýznamné.

Porovnajte tri stavy v jednom prechode

Tri príkazy iba na čítanie odpovedajú na tri otázky v poradí, ktoré poruchu izoluje najrýchlejšie. Spustite ich bez toho, aby ste medzi nimi niečo zmenili.

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

Prvý ukazuje, či rozhranie vôbec má adresu, a druhý, ktoré zariadenie by konkrétny cieľ použil práve teraz. Tretí hlási čas posledného handshake a počítadlá bajtov a je jediný z troch, ktorý opisuje partnera, nie miestneho hostiteľa.

Čítajte počítadlá aj časovú značku. Handshake, ktorý sa stále obnovuje, zatiaľ čo prenos stojí, znamená, že partner odpovedá, ale nič užitočné neprechádza, čo ukazuje na smerovanie alebo ACL, nie na kľúče. Časová značka, ktorá sa prestane posúvať pri existujúcej adrese, ukazuje namiesto toho vyššie. Oba údaje pochádzajú z toho istého riadku výstupu a ani jeden nie je viditeľný, ak iba kontrolujete, či handshake existuje.

Opravte konkrétny stav, ktorý je nesprávny, a potom znova otestujte aplikáciu, nie tunel. Čerstvý handshake je dôkaz o partnerovi a dôkaz o partnerovi nie je dôkaz, že ďalšia požiadavka z vášho prehliadača nájde adresu, trasu a fungujúci smer. manuál wg-quick výslovne uvádza, ktoré z toho nastavuje pomocník a ktoré patrí protokolu.

Súvisiace články