DNS-fout: wat het betekent en hoe u de echte oorzaak vindt
"DNS-fout" is niet één specifiek probleem; het is het label dat een browser, een router, of een gefrustreerde collega gebruikt voor elke mislukking in de naamopzoekingsstap, en de oplossing hangt volledig af van welke u heeft. Deze pagina is een startpunt, geen diagnose: lees de triagestappen hieronder, voer de twee of drie controles uit die van toepassing zijn, en die brengen u bij de handleiding die past bij uw exacte symptoom.
Wat "DNS-fout" allemaal dekt
Onder die ene uitdrukking zitten verschillende afzonderlijke storingen die niets gemeen hebben behalve waar ze gebeuren. Een browser kan zeggen dat de naam helemaal niet bestaat. Hij kan zeggen dat de resolver nooit antwoordde. Hij kan de pagina uiteindelijk laden, gewoon traag, na een zichtbare hapering. Een heel kantoor kan het vermogen verliezen om welke naam dan ook te resolven terwijl de internetverbinding zelf blijft werken. Of de records van uw eigen site kunnen stoppen met werken voor bezoekers in één regio terwijl alles er voor u volkomen normaal uitziet. Elk daarvan heeft een andere oorzaak en een andere oplossing, en geen van alle wordt opgelost door het algemene advies "herstart uw router en probeer het opnieuw", wat precies één van de vijf oplost.
De rest van deze pagina is een korte reeks vragen. Beantwoord ze op volgorde en u komt uit bij de specifieke handleiding die past bij wat er gebeurt, in plaats van vijf ongerelateerde oplossingslijsten door te werken in de hoop dat er eentje helpt.
Is het alleen dit apparaat, of elk apparaat?
Probeer dezelfde opzoeking vanaf een telefoon op mobiele data, niet uw wifi. Als de naam daar wel resolvet en op uw laptop mislukt, is het probleem lokaal: een verkeerde DNS-instelling op die ene machine, een vastzittende cache, een vpn die resolvers vasthoudt die niet meer bereikbaar zijn, of beveiligingssoftware die zelf DNS onderschept. Als het ook op de telefoon mislukt, op een volledig ander netwerk, ga dan verder naar de volgende vraag, want de fout ligt niet bij uw apparaat of zelfs uw lokale netwerk.
Is het maar één site, of ligt alles eruit?
Probeer een bekende naam op te lossen waarvan u zeker weet dat die werkt, zoals een grote zoekmachine. Als dat ook mislukt, is uw eigen resolver onbereikbaar of reageert hij niet, wat een router- of netwerkprobleem is, niets wat mis is met de ene site die u wilde bereiken. Als de bekende naam prima resolvet en alleen de site die u wilde mislukt, ligt het probleem bij dat ene domein: zijn records, zijn nameservers, of een wijziging die nog steeds verspreidt naar sommige resolvers en niet naar andere.
Werkt een opzoeking tegen een openbare resolver?
Deze ene test doet meer triagewerk dan al het andere hier, omdat hij in één commando "mijn netwerk" scheidt van "het domein zelf":
nslookup example.com 8.8.8.8
dig example.com @1.1.1.1
Vervang example.com door de daadwerkelijke naam die mislukt. Er zijn drie mogelijke uitkomsten, en elk wijst ergens anders naartoe:
- U krijgt een normaal antwoord terug. Het domein resolvet prima van buitenaf. Uw standaardresolver, wat uw apparaat of router ook is geconfigureerd om te gebruiken, is het kapotte onderdeel. Dat is DNS-server reageert niet als het stilzwijgend mislukt, of een cacheprobleem als een opzoeking vroeger werkte en is gestopt.
- U krijgt een expliciet "geen dergelijke naam"-antwoord (NXDOMAIN). Een openbare resolver die geen reden heeft om iets gecachet te hebben, vertelt u dat het record op dit moment daadwerkelijk niet bestaat, of ergens in de keten staat nog een verouderd negatief antwoord gecachet. Dat exacte bericht en wat u vervolgens moet controleren, staat in DNS_PROBE_FINISHED_NXDOMAIN.
- U krijgt wel een antwoord, maar het duurt merkbaar lang of de timing wisselt tussen pogingen. De resolver werkt, gewoon traag. Voeg
+statstoe aan een dig-query of kijk zelf naar de vertraging. Dat is hoe u een trage DNS-opzoeking oplost, een andere oorzaak en een andere oplossing dan de twee hierboven.
Wat resolvectl status u vertelt op Linux
Op een Linux-machine die systemd-resolved gebruikt, toont één commando wat uw systeem daadwerkelijk is ingesteld om te vragen, wat vaak precies de plek is waar een verrassend aantal "DNS is kapot"-meldingen al vanaf het begin fout blijken te zijn:
resolvectl status
Lees de regel "Current DNS Server" voor de interface die u gebruikt. Als daar een adres staat dat niet de resolver is die u verwacht, bijvoorbeeld de interne server van een vpn die niet meer bereikbaar is, of een oud routeradres van een netwerk dat u heeft verlaten, dan is die mismatch het hele probleem, en geen enkele hoeveelheid caches wissen lost een verkeerd adres op. Als de vermelde server overeenkomt met wat u verwacht en opzoekingen toch mislukken, is de resolverconfiguratie niet het probleem en ligt de fout verder in de keten, terug bij de vragen hierboven.
Onlangs een DNS-record gewijzigd?
Als u of iemand van uw team de afgelopen dag of twee een record heeft bewerkt, hosting heeft verplaatst, of van DNS-provider is gewisseld, en de fout is inconsistent, werkt bij sommige mensen en bij anderen niet, dan is dat geen kapot record. Het is verwacht gedrag terwijl oude gecachte antwoorden in hun eigen tempo verlopen bij verschillende resolvers. Die specifieke situatie, inclusief hoe u kunt nagaan of de wijziging daadwerkelijk correct is opgeslagen, staat behandeld in hoe u DNS-propagatie controleert. Ga geen "DNS-fout" achterna als een bug als de tijdlijn overeenkomt met een recente wijziging; geef het eerst het TTL-venster.
Veelgestelde vragen
Welke handleiding heb ik nodig als de browser een specifieke foutcode toont?
Zoek naar die exacte code. DNS_PROBE_FINISHED_NXDOMAIN betekent dat de naam niet bestaat en staat op zijn eigen pagina hierboven gelinkt. Een algemeen bericht als "DNS-server reageert niet" of "kan server niet vinden" zonder specifieke code past bij de tweede vraag op deze pagina: probeer een openbare resolver rechtstreeks en kijk welke van de drie uitkomsten u krijgt.
Ik heb de controles uitgevoerd en alles resolvet nu prima. Wat gebeurde er?
De meeste DNS-storingen zijn tijdelijk: een resolver was even overbelast, een cachevermelding verliep midden in het probleemoplossen, of een netwerkhaperinkje herstelde zichzelf. Als het nu netjes resolvet en zo blijft, valt er verder niets op te lossen. Als het steeds terugkomt, is dat patroon zelf een aanwijzing, en is het de moeite waard te controleren of het samenvalt met een specifiek tijdstip, netwerk, of app.
Is een DNS-fout hetzelfde als een site die plat ligt?
Nee, en het onderscheid is belangrijk. Een DNS-fout betekent dat de naam nooit naar een adres resolveerde, dus er is nooit een verbinding geprobeerd. Een site die plat ligt betekent meestal dat de naam prima resolveerde maar de server niet antwoordde, de verbinding weigerde, of een foutpagina teruggaf. De test met de openbare resolver hierboven vertelt u in welke situatie u zit: er komt wel een adres terug, of niet.
Waarom werkt hetzelfde domein voor mij wel en voor een collega niet?
Dit is bijna altijd caching, geen kapot record. Verschillende netwerken gebruiken verschillende resolvers, die elk hun eigen gecachte kopie van een antwoord bewaren met een eigen vervaltijd. Eén van u ziet misschien een verouderd gecacht resultaat terwijl de resolver van de ander al is vernieuwd. Bevestig het huidige, correcte record tegen de eigen nameservers van het domein voordat u aanneemt dat er echt iets mis is.
Moet ik gewoon overstappen op een openbare DNS-resolver en stoppen met problemen oplossen?
Overstappen op 1.1.1.1 of 8.8.8.8 is een redelijke permanente keuze en sluit snel een kapotte resolver van uw provider of router uit. Het is een echte oplossing wanneer uw standaardresolver het probleem blijkt te zijn, niet slechts een tijdelijke oplossing, maar het helpt niet als de fout uiteindelijk bij de eigen nameservers van het domein ligt in plaats van bij de resolver die u antwoordt.
Waar controleer ik of een naam anders resolvet in verschillende landen?
Een resolver op uw eigen netwerk toont u maar één gezichtspunt, en DNS-antwoorden verschillen daadwerkelijk per regio tijdens een migratie of een gedeeltelijke storing. Voer dezelfde opzoeking uit vanaf meerdere locaties tegelijk met de DNS-querytool, die vanuit meerdere landen in één keer controleert en toont waar een antwoord verschilt of vastloopt.