A WireGuard tétlenség után meghibásodik: először az irányt tesztelje
Egy lejárt NAT-leképezés, egy alvó rádió és egy elavult alkalmazás hasonlóan néz ki egy csendes időszak után. A bejövő és kimenő forgalmat külön tesztelje, mielőtt keepalive-ot ad hozzá.
Négy kérdés előzi meg minden beállításmódosítást: működik-e ugyanaz az erőforrás, amíg az ügyfél aktív, meddig tartott a tétlenségi időszak, aludt-e az eszköz vagy hálózatot váltott, és csak a túloldal által indított forgalomban jelenik-e meg a hiba. A válaszok elválasztják a lejárt NAT-leképezést az alvó rádiótól és az elavult alkalmazástól. Azt is megmondják, hogy a keepalive egyáltalán releváns-e. Kezdje az iránnyal, mert egy parancsba kerül, és kizárja a lehetséges okok felét.
Melyik irány hibásodik meg?
Az ügyfél új kimenő kérése és a csendes időszak után felé érkező forgalom másképp terheli az állapottal rendelkező berendezést. A kimenő csomagok távozáskor újraépítik a leképezést, míg a bejövő csomagoknak arra van szükségük, hogy a régi leképezés túlélte. Ez az aszimmetria az egész teszt. Ha az ügyfél kifelé elér, de befelé semmi nem érkezik, a leképezés valószínűleg lejárt, és ha egyik sem működik, az alagút vagy az ügyfél hálózati hozzáférése elveszett.
Jegyezze fel, meddig tartott a csendes időszak, és hogy az eszköz aludt-e vagy közben másik hálózatra váltott. Ez a két tény a diagnózist bármely beállítás előtt megváltoztatja.
wg show wg0 latest-handshakes
wg show wg0 endpoints
wg show wg0 transfer
Futtassa le azt a hármat a csendes időszak előtt és után, mert mindegyik a kérdés más részére válaszol. A meg nem mozdult handshake-időbélyeg azt mondja, hogy a felek abbahagyták a beszélgetést, míg egy megváltozott végpont azt, hogy a leképezés elmozdult, nem meghalt. Az átvitelszámlálók megmutatják, hogy egyáltalán érkezett-e valami, és ez a különbség az elavult leképezés és a csendes alkalmazás között. Írja fel a számokat mindkét ponton, mert az összehasonlítás a bizonyíték.
Alvás, rádió és alkalmazásállapot
Telefonon vagy laptopon az alvó eszköz teljesen elveszíthette a hálózati hozzáférést, és a keepalive nem tud helyreállítani egy kikapcsolt rádiót, sem befejezni egy ki nem elégített captive portalt. A mobil platformok szabályzat szerint felfüggesztik a háttérmunkát, ezért hogy folytatódik-e az időszakos forgalom, a platformtól és attól függ, mit egyeztetett vele az alkalmazás. A gyorsítótárazott kapcsolat a harmadik eset és a legfélrevezetőbb, mert az alagút visszatérése nem ugyanaz, mint az alkalmazás újracsatlakozása hozzá.
Nyissa meg újra az alkalmazást a tétlenségi időszak után, ahelyett hogy a nyitva maradt lapban bízna. Ha egy friss kérés ott sikerül, ahol a régi munkamenet elbukott, az alagút soha nem volt a probléma.
Mit tesz valójában a keepalive
PersistentKeepalive rendszeresen hitelesített üres csomagot küld a partnernek, ami elég ahhoz, hogy a NAT-leképezés életben maradjon a partnerek között, és hogy a túloldal végpontja naprakész legyen, ahogy a WireGuard gyors indítása leírja. Nem javít meg egy alvó rádiót, egy elveszett útvonalat vagy egy alkalmazást, amely soha nem próbálkozik újra. Az intervallumot a támogatott ügyfélbeállításokkal válassza ki, és ne kapcsoljon be agresszív értéket mindenhol csak azért, mert egy állapotkijelző elhallgat.
A legtöbb tétlenségi időszak nem hiba. Az az alagút, amely öt perc csend után újracsatlakozik, helyesen viselkedik, és a probléma csak az az eset, amikor valaminek a túloldalról kellett volna érkeznie.
Várja ki azt az intervallumot, amely korábban elbukott
Végezzen egy támogatott módosítást, majd hagyja eltelni ugyanazt a tétlenségi időszakot, mielőtt újra teszteli azt az erőforrást. A várakozás a teszt része, nem formalitás. Az újracsatlakozás utáni azonnali siker semmit sem mond a hosszú tétlenség tünetéről, mert az újracsatlakozás pontosan az az esemény, amely visszaállítja az állapotot. Ha a probléma aktív használat közben is megjelenik, térjen vissza a handshake- és adatút-ellenőrzésekhez, ahelyett hogy több időszakos forgalmat adna hozzá.
Tartson egy módosítást tesztenként, és írja fel a használt tétlenségi időtartamot. Enélkül minden későbbi összehasonlítás elcsúszik, és senki sem tudja megmondani, melyik módosítás számított. Jegyezze fel a négy tényt együtt: irány, időtartam, alvási állapot és az alkalmazás viselkedése.