Kézfogás él, cím eltűnt: a WireGuard három állapota
Egy friss kézfogás azt bizonyítja, hogy a partner válaszolt, nem azt, hogy az interfész megtartja a címét, vagy hogy a következő csomag a szándékolt felső csatornán indul.
A WireGuard egyszerre tud friss kézfogást és címet nem tartani, és ez az állapot koherens, nem ellentmondásos. A kézfogás a partner eseménye, a cím az interfészé, és az útvonal dönti el, melyik felső csatornán hagyja el a csomag a gépet. Három réteg, három tulajdonos, és bármelyik meghibásodhat, miközben a másik kettő egészségesnek látszik.
Egyetlen állapotként olvasni őket az, ami a kétperces diagnózist egy egész délutáni szolgáltatás-újraindításba fordítja.
A kézfogás a partner eseménye, nem címzési esemény
A WireGuard kézfogása azt bizonyítja, hogy a beállított partner érvényes kulccsal válaszolt, és hogy a munkamenet-kulcsok aktuálisak. Semmit nem mond az interfész helyi címéről, és arról sem, hogy mutat-e oda bármilyen útvonal. A címet egy segéd vagy hálózatkezelő osztja ki, míg a protokoll konfigurációja csak partnereket és kulcsokat nevez meg. A kettő összekeverése az, ahogy egy egészséges kézfogást működő alagútként olvasnak.
Ezért tud a wg show másodperces kézfogást jelenteni olyan interfészen, amely egyetlen alkalmazáscsomagot sem képes fogadni.
Az interfészt újra létrehozó kezelő eldobhatja a címet anélkül, hogy a partner konfigurációjához nyúlna, és a következő kézfogás azonnal sikerül, mert a kulcsok soha nem változtak. A sikeres kézfogásról szóló naplósor pontos és a hibára nézve irreleváns.
| 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 |
Az interfész címének saját tulajdonosa van
Az alagúteszközön lévő cím jöhet egy segéd Address sorából, az interfészen futó DHCP-kliensből, vagy egy kezelő démontól, amely a csatlakozáskor hozza létre. Bármelyik is, az a komponens birtokolja a címet, és a saját logikája szerint állítja vissza vagy nem. A cím olvasása a tulajdonos megnevezése nélkül magára hagy azzal a kérdéssel, miért tűnt el.
Két tulajdonos egy interfészen a klasszikus hiba. Egy segéd és egy asztali hálózatkezelő indítása ugyanazon az eszközön versenyt okoz, amelyben az egyik eltávolítja azt, amit a másik épp beállított, a végpont pedig végig válaszol.
Válasszon egy tulajdonost, és hagyja a másik eszközt inkább megfigyelni, mint kezelni. Ezt a döntést érdemes leírni, mert a tünet hetekkel később jelenik meg, és véletlen címvesztésnek látszik.
Az útvonal választ felső csatornát, nem az interfész
Egy belső útvonal, amely a wg0 címre mutat, eldönti, hogy a forgalom belép az alagútba. Egy külön döntés küldi a titkosított külső csomagokat a partner felé, és egy több felső csatornával rendelkező gazdagépen ez a döntés a továbbítási táblából és a házirend-szabályokból jön. Egy Wi-Fi-roaming megváltoztathatja a külső útvonalat anélkül, hogy a belső címhez nyúlna.
Tehát egy működő alagút és egy elérhetetlen partner összeegyeztethető állapotok, akárcsak egy helyes partner és egy törött belső útvonal. A három megfigyelést együtt, ugyanabban a pillanatban kell venni, különben az összehasonlítás értelmetlen.
Hasonlítsa össze a három állapotot egyetlen menetben
Három csak olvasó parancs válaszol a három kérdésre abban a sorrendben, amely a leggyorsabban izolálja a hibát. Futtassa őket anélkül, hogy bármit változtatna köztük.
ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer
Az első megmutatja, hogy az interfésznek egyáltalán van-e címe, a második pedig azt, hogy egy adott cél jelenleg melyik eszközt használná. A harmadik a legutóbbi kézfogás idejét és a bájtszámlálókat jelenti, és ez az egyetlen a háromból, amely a partnert írja le, nem a helyi gazdagépet.
Olvassa a számlálókat és az időbélyeget is. Az a kézfogás, amely folyamatosan megújul, miközben az átvitel lapos marad, azt jelenti, hogy a partner válaszol, de semmi hasznos nem halad át, ami az útvonalválasztásra vagy egy ACL-re utal, nem a kulcsokra. Az az időbélyeg, amely a cím jelenléte mellett leáll, inkább felfelé mutat. Mindkét olvasat ugyanabból a kimeneti sorból származik, és egyik sem látható, ha csak azt ellenőrzi, hogy létezik-e kézfogás.
Javítsa ki azt a konkrét állapotot, amely rossz, majd tesztelje újra az alkalmazást, ne az alagutat. A friss kézfogás a partnerről szóló bizonyíték, és a partnerről szóló bizonyíték nem bizonyítja, hogy a böngészője következő kérése címet, útvonalat és működő felső csatornát talál. A wg-quick kézikönyv egyértelműen megmondja, melyiket állítja be a segéd, és melyik tartozik a protokollhoz.