wg-quick förstör DNS vid anslutning: läs installationsfelet
DNS-raden tillhör installationshjälpen, inte peer-protokollet. Läs det första felet, kontrollera resolvervägen och bekräfta att städningen återställer det gamla tillståndet.
Tunneln kommer upp, handskakningen slutförs och namnmatchningen stannar. Inget i peer-konfigurationen har ändrats, eftersom DNS-raden aldrig var en del av peer-konfigurationen. Den tillhör installationshjälpen, vilket betyder att felet bor i värdens resolververktyg och inte i WireGuards nycklar.
Läs det första meddelandet som hjälpen skrev ut, inte det sista, och skillnaden mellan ett saknat verktyg och en otillgänglig server blir tydlig.
DNS-raden är en hjälpfunktion
Kärnfälten i konfigurationen beskriver peers, nycklar och tillåtna adresser. Namnmatchningen läggs ovanpå av skriptet som reser gränssnittet, och varje implementering gör det olika. En skrivbordsklient kan hantera DNS via sin egen tjänst, ett distributionsskript kan anropa ett av flera resolververktyg, och en container kanske inte gör något av det. Konfigurationsfilen kan inte tala om vilken av dessa vägar som är i spel.
Därför kan en konfigurationsfil vara giltig för protokollet och ändå misslyckas under installationen: felet tillhör en hook som protokollet aldrig ser.
Att skriva ett utökat fält i en kärnkonfiguration och förvänta sig att protokollverktyget accepterar det skapar samma förvirring från motsatt håll. De två parserarna läser olika filer.
Att veta vilken som körs är det första diagnostiska steget, och det syns oftast i kommandot du skrev, inte i konfigurationsfilen.
Läs det första felet som hjälpen skriver ut
Res gränssnittet i förgrunden och läs utdata i ordning. Ett saknat resolververktyg, en misslyckad hook och en otillgänglig server stoppar samma kommando på olika punkter, och varje har sin egen reparation.
wg-quick up wg0
resolvectl status wg0
ip route get 10.66.0.1
Det första kommandot rapporterar installationens framsteg, det andra visar vilka servrar gränssnittet nu kräver, och det tredje visar om resolveradressen verkligen nås genom tunneln. En resolver som är konfigurerad men inte routbar ger tidsgränser i stället för konfigurationsfel, och därför hör de två kontrollerna ihop. Att bara läsa statusutdata ger en självsäker och felaktig slutsats.
Om installationen slutfördes och namnmatchningen fortfarande misslyckas, jämför resolvern som hjälpen installerade med den nätverket använde tidigare. En privat resolver behöver en väg genom tunneln, och en konfiguration som listar den utan att täcka dess prefix låter varje fråga vänta.
Vilken resolver värden faktiskt har
Moderna Linux-värdar kör ofta en lokal stub-resolver, så adressen som hjälpen installerar förbrukas av den stubben och inte av applikationerna direkt. Att redigera en genererad fil för hand kan se ut att fungera fram till nästa återanslutning, då hjälpen skriver om den.
Använd den stödda integrationen för distributionen och låt en komponent äga resolverläget. Två ägare skapar samma kapplöpning som två ägare av en gränssnittsadress, och symtomet är en värd som löser rätt i några minuter efter varje ändring.
Interna namn förtjänar sin egen kontroll. En offentlig resolver kan återställa vanligt surfande medan varje företagsnamn misslyckas, vilket är motsatsen till vad tunneln var till för. Fråga den avsedda servern om det interna namnet innan du drar slutsatsen att DNS är lagat.
Städning är lika viktigt som installation
Ta ner gränssnittet och undersök resolverläget igen. En hjälp som återställer den förra konfigurationen lämnar värden användbar; en som lämnar sina egna servrar skapar nästa fel, ofta timmar senare när tunneln sedan länge är borta.
Inaktuellt läge är lätt att upptäcka när man väl letar. En resolverlista kan peka på en adress på ett gränssnitt som inte längre finns, och en sökdomän kan överleva ett nätverk du lämnade i morse. Vartdera gör nästa anslutning oförutsägbar, och ingen av dem syns i tunnelns egen statusutdata. Kontrollen tar tio sekunder och sparar nästa person en timme.
Håll diagnosen åtskild från reparationen. Om varje destination misslyckas och inte bara namnsökningar, är rutter och vidarebefordran de misstänkta, och DNS-raden är en distraktion. wg-quick-handboken dokumenterar vilka fält den hanterar och vilka som tillhör protokollet, och den gränsen är hela svaret på de flesta av dessa rapporter.