wg-quick breekt DNS bij verbinden: lees de setupfout
De DNS-regel hoort bij de setup-helper, niet bij het peer-protocol. Lees de eerste fout, controleer de resolver-route en bevestig dat het opruimen de oude toestand herstelt.
De tunnel komt omhoog, de handshake rondt af en naamresolutie stopt. Niets in de peer-configuratie is veranderd, omdat de DNS-regel nooit deel uitmaakte van de peer-configuratie. Hij hoort bij de setup-helper, wat betekent dat de fout in de resolver-gereedschappen van de host zit en niet in de sleutels van WireGuard.
Lees het eerste bericht dat de helper afdrukte, niet het laatste, en het verschil tussen een ontbrekend hulpprogramma en een onbereikbare server wordt duidelijk.
De DNS-regel is een helperfunctie
De kernvelden van de configuratie beschrijven peers, sleutels en toegestane adressen. Naamresolutie wordt er bovenop gezet door het script dat de interface omhoog brengt, en elke implementatie doet dat anders. Een desktopclient kan DNS via zijn eigen dienst beheren, een distributiescript kan een van meerdere resolver-gereedschappen aanroepen, en een container doet misschien geen van beide. Het configuratiebestand kan je niet vertellen welk van die paden actief is.
Daarom kan een configuratiebestand geldig zijn voor het protocol en toch tijdens de setup mislukken: de fout hoort bij een hook die het protocol nooit ziet.
Een uitgebreid veld in een kernconfiguratie schrijven en verwachten dat het protocolgereedschap het accepteert, levert dezelfde verwarring op vanuit de tegenovergestelde richting. De twee parsers lezen verschillende bestanden.
Weten welke draait is de eerste diagnostische stap, en dat is meestal zichtbaar in de opdracht die je typte en niet in het configuratiebestand.
Lees de eerste fout die de helper afdrukt
Breng de interface op de voorgrond en lees de uitvoer op volgorde. Een ontbrekend resolver-gereedschap, een mislukte hook en een onbereikbare server stoppen hetzelfde commando op verschillende punten, en elk heeft een andere reparatie.
wg-quick up wg0
resolvectl status wg0
ip route get 10.66.0.1
Het eerste commando meldt de voortgang van de setup, het tweede toont welke servers de interface nu opeist, en het derde toont of het resolver-adres echt bereikbaar is door de tunnel. Een resolver die is geconfigureerd maar niet routeerbaar is, levert time-outs op in plaats van configuratiefouten, daarom horen de twee controles bij elkaar. Alleen de statusuitvoer lezen levert een zelfverzekerde en verkeerde conclusie op.
Als de setup is voltooid en naamresolutie nog steeds mislukt, vergelijk dan de resolver die de helper installeerde met degene die het netwerk eerder gebruikte. Een privéresolver heeft een route door de tunnel nodig, en een configuratie die hem vermeldt zonder zijn prefix te dekken, laat elke query wachten.
Welke resolver de host werkelijk heeft
Moderne Linux-hosts draaien vaak een lokale stub-resolver, dus het adres dat de helper installeert wordt door die stub gebruikt en niet rechtstreeks door toepassingen. Een gegenereerd bestand met de hand bewerken lijkt misschien te werken tot de volgende herverbinding, wanneer de helper het herschrijft.
Gebruik de ondersteunde integratie voor de distributie en laat één component de resolver-status bezitten. Twee eigenaren veroorzaken dezelfde race als twee eigenaren van een interfaceadres, en het symptoom is een host die na elke wijziging een paar minuten correct resolveert.
Interne namen verdienen hun eigen controle. Een publieke resolver kan algemeen browsen herstellen terwijl elke bedrijfsnaam faalt, wat het tegenovergestelde is van waarvoor de tunnel bedoeld was. Vraag de bedoelde server naar de interne naam voordat je concludeert dat DNS is gerepareerd.
Opruimen is net zo belangrijk als de setup
Breng de interface omlaag en inspecteer de resolver-status opnieuw. Een helper die de vorige configuratie herstelt laat de host bruikbaar; een die zijn eigen servers achterlaat, maakt de volgende fout, vaak uren later wanneer de tunnel allang weg is.
Verouderde toestand is gemakkelijk te zien als je ernaar zoekt. Een resolver-lijst kan wijzen naar een adres op een interface die niet meer bestaat, en een zoekdomein kan een netwerk overleven dat je vanmorgen verliet. Elk van beide maakt de volgende verbinding onvoorspelbaar, en geen van beide verschijnt in de eigen statusuitvoer van de tunnel. De controle kost tien seconden en bespaart de volgende persoon een uur.
Houd de diagnose gescheiden van de reparatie. Als elke bestemming faalt en niet alleen naamopzoekingen, zijn routes en doorsturen de verdachten en is de DNS-regel een afleiding. De wg-quick-handleiding documenteert welke velden hij behandelt en welke bij het protocol horen, en die grens is het hele antwoord op de meeste van deze rapporten.