WireGuard stále používá starý koncový bod i po změnách DNS
Jméno se přeloží na novou adresu, zatímco rozhraní dál používá tu, kterou zjistilo při spuštění. Porovnejte obě a potom restartujte přes jeho správce.
Tunel přestal propouštět provoz poté, co se DNS záznam serveru přesunul, a jméno se ze stejného stroje přeloží správně. Tyto dva fakty si neodporují. Konfigurace WireGuardu obsahuje koncový bod a nástroj přeloží jméno ve chvíli, kdy tuto konfiguraci aplikuje, takže běžící rozhraní může dál používat adresu, kterou zjistilo před hodinami. Než vyměníte klíče nebo sáhnete na rozsah tunelu, zkontrolujte, co rozhraní používá.
Jméno se přeloží jednou, ne průběžně
Základní konfigurace WireGuardu bere koncový bod jako adresu a port a nástroj, který rozhraní zvedá, v tu chvíli přeloží jméno hostitele. V základním protokolu nic nedotazuje DNS podle rozvrhu a klientská aplikace může navrch přidat vlastní chování obnovy. Zaznamenání přeložené adresy, rodiny a portu vedle jména mezeru zviditelní. Bez takového záznamu vypadá konfigurace správně, zatímco rozhraní mluví s něčím jiným.
Existuje jedna skutečná automatická aktualizace a stojí za to ji znát, protože připomíná obnovu DNS, aniž by jí byla. Koncový bod protějšku se může posunout, když dorazí správně ověřený provoz z nové adresy, což je roaming, a ne překlad jmen. Následuje protějšek, takže nemůže objevit nesouvisející nový server, se kterým starý koncový bod nikdy nekomunikoval.
Porovnejte záznam s používanou adresou
Dotážete se na dokumentované jméno přes resolver, který klient používá, a potom se rozhraní zeptejte, který koncový bod drží. Obě odpovědi tvoří srovnání, které rozhoduje o zbytku této stránky:
dig +short vpn.example.net
wg show wg0 endpoints
wg show wg0 latest-handshakes
Manuál wg(8) dokumentuje podpříkazy show, které tyto řádky používají. Porovnejte i rodinu adresy, ne jen adresu, protože záznam, který získal položku IPv6, je jiné srovnání než ten, jemuž se změnila adresa IPv4. Pokud se koncový bod od záznamu liší, rozhraní běží na zastaralé informaci a jméno nikdy nebylo problémem. Pokud se shodují a tunel stále selhává, přejděte k naslouchajícímu procesu a pravidlům, ne k profilu.
Časové razítko handshake je v tom bloku proto, že samotný koncový bod neříká, zda je protějšek dostupný. Zastaralé razítko vedle správného koncového bodu je problém cesty, ne překladu, a tento rozdíl mění, na co sáhnete příště.
Restartujte přes správce rozhraní
Jakmile je potvrzeno, že koncový bod je zastaralý, obnovte ho mechanismem, kterému rozhraní patří místo úpravy živé konfigurace. U rozhraní spuštěného pomocí wg-quick je to dolů a nahoru, u jednotky systemd restart a u rozhraní vlastněného správcem změna provedená v tom správci, protože úprava za běhu se při dalším použití přepíše:
wg-quick down wg0 && wg-quick up wg0
systemctl restart wg-quick@wg0
Potom ověřte, že náhradní naslouchající proces a jeho identita jsou služba, kterou jste zamýšleli. Přesun DNS není změna identity, takže by nikdy neměl být příležitostí věřit klíči, který jste neověřili. Pokud rozhraní nyní hlásí novou adresu a stále nevzniká handshake, závada se přesunula do nové síťové cesty nebo naslouchajícího procesu, což je pokrok, a ne stejná závada dvakrát.
Nejprve handshake, potom datová cesta
Než zvolíte kontrolní seznam, oddělte oba výsledky. Handshake, který uspěje u aplikace, která selhává, je problém datové cesty: trasy, povolené prefixy nebo DNS uvnitř tunelu. Handshake, který nikdy nenastane, je problém dosažitelnosti nebo identity na koncovém bodu. Míchání obojího dává zprávu, kterou nikdo nedokáže zopakovat, a změnový log se třemi nesouvisejícími úpravami.
Zaznamenejte jméno, přeloženou adresu, používaný koncový bod a to, zda handshake proběhl. Tyto čtyři fakty odpovídají na otázku, kterou tato závada stále klade, a příští výskyt promění ve dvouminutovou kontrolu. Údržba jmen a zavádění u klientů zůstávají oddělené úkoly: oprava záznamu zavádění neprovede a restart rozhraní neopraví záznam, který je stále špatný.