DNS-problemen onderzoeken en oplossen

Je bezoekt je website en ziet in plaats daarvan ineens een foutmelding in beeld verschijnen: ERR_NAME_NOT_RESOLVED. Misschien herken je de melding direct of begrijp je het na even googelen: de DNS van het domein is stuk. Alleen, wat veroorzaakt het en hoe los je het op? Graag vertel ik je meer over tools om DNS-problemen met domeinen te onderzoeken.

DNS-problemen onderzoeken en oplossen.

DNS is één van de fundamentele onderdelen van onze dienstverlening. Het is een complex systeem, waar af en toe nog wel eens wat fouten insluipen. Niet voor niets besteede ik onlangs aandacht aan DNS in een interne kennissessie. Onze supporters hebben immers enorm baat bij het snel herkennen van DNS-issues. De besproken tips tijdens die sessie deel ik nu ook graag met jullie.

Delegation en DNSSEC controleren met DNSViz

Goed, je hebt vastgesteld dat je met een DNS-probleem te maken hebt. De eerste vraag is nu of je domeinnaam door resolvers kan worden gevonden. Dat controleer je met DNSViz. Deze tool geeft visueel weer hoe delegations verlopen en of DNSSEC geldig is. Ook als er met de bereikbaarheid van de nameservers problemen zijn, dan zal deze tool daar informatie over geven.

Voer op DNSViz je domein in en start de test. Vervolgens gaat DNSViz stap voor stap je domeinnaam opzoeken. Dit kan even duren, omdat hij de hele keten en alle nameservers langsgaat. Je krijgt daarna een diagram te zien van de DNS-boom. Eventuele problemen worden duidelijk aangegeven met gele of rode pictogrammen. Hover daarover met je muis om de reden ervan te zien.

De grote publieke resolvers – denk aan Google Public DNS, Quad9, 1.1.1.1 – en een aantal Nederlandse internetproviders doen aan DNSSEC-validatie. Klopt daaraan iets niet, dan zul je jouw website daarmee niet kunnen bezoeken. Toch kan het dan voor anderen lijken alsof de website wel werkt, omdat zij geen DNSSEC valideren.

Een leuk domein om deze tool uit te proberen, is dnssec-failed.org. DNSSEC is daar namelijk bewust stuk. Zo zie je dat voor het domein DS-records voor een niet-bestaande DNSKEY staan ingesteld. Zo’n zelfde situatie kan bijvoorbeeld bij het verhuizen van een domein ontstaan.

Een bezoek aan dnssec-failed.org.Fun fact: dit domein kun je ook gebruiken om te testen of je een DNSSEC-validerende resolver gebruikt. Ga je naar dnssec-failed.org en kun je die website niet bereiken, dan betekent dit dat je veilig bent.

Publieke resolvers en autoritatieve nameservers

Klopt de delegation en is DNSSEC heel? Dan kun je gaan kijken wat de publieke resolvers er van vinden. Google heeft hier een handige pagina voor, maar om wat dieper te duiken heb je andere tools nodig. Je kunt hiervoor nslookup gebruiken, of beter nog dig of drill. Hieronder zie je een voorbeeld van hoe een nslookup van dmarcify.nl eruit ziet, een domein dat ik heb geregistreerd.

$ nslookup
> server ns1.webhostingserver.nl
Default server: ns1.webhostingserver.nl
Address: 195.211.75.53#53
> set type=txt
> _dmarc.dmarcify.nl.
Server:		ns1.webhostingserver.nl
Address:	195.211.75.53#53

_dmarc.dmarcify.nl	text = "v=DMARC1; p=reject"

Met dig ziet het er zo uit.

$  dig TXT _dmarc.dmarcify.nl @ns1.webhostingserver.nl

; <<>> DiG 9.10.6 <<>> TXT _dmarc.dmarcify.nl @ns1.webhostingserver.nl
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30732
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;_dmarc.dmarcify.nl.		IN	TXT

;; ANSWER SECTION:
_dmarc.dmarcify.nl.	500	IN	TXT	"v=DMARC1; p=reject"

;; Query time: 12 msec
;; SERVER: 195.211.75.53#53(195.211.75.53)
;; WHEN: Tue Mar 03 08:48:35 CET 2020
;; MSG SIZE  rcvd: 78

Je kunt bij deze tools dus zelf de server kiezen die je bevraagt. Zo kun je de resultaten vergelijken tussen de resolvers en de autoritatieve nameservers (de nameservers die voor de betreffende zone ‘de baas’ zijn). Heb jij je website bij Antagonist ondergebracht, dan is de autoritatieve nameserver altijd ns1.webhostingserver.nl.

NXDOMAIN is waarschijnlijk de bekendste melding. Deze zie je misschien wel eens in je browser voorbij komen. Een NXDOMAIN als antwoord betekent dat de domeinnaam die je opzoekt niet in de zone van het domein voorkomt. Vaak gaat het dan om een subdomein dat niet bestaat. Dit geeft wel aan dat de nameserver het domein kent.

De statuscode REFUSED betekent dat de authoritatieve nameserver het domein niet kent. Hij weigert daarom om verder te zoeken. Als er wel vanuit de TLD-zone een verwijzing is naar een nameserver voor een domein, maar deze nameserver antwoordt met REFUSED, dan heb je een zogeheten lame delegation. Het domein is dan dus ook niet op te vragen.


Domeinnaamsysteem in roerige tijden

Het domeinnaamsysteem heeft de afgelopen tientallen jaren bewezen prima om te kunnen gaan met sterke, plotstelinge groei en piekbelasting. Ook als heel Nederland massaal overstapt op thuiswerken, zoals onlangs gebeurde vanwege de coronamaatregelen. SIDN, de partij achter .NL, onderzocht de impact hiervan op het DNS. Normaal gesproken ontvangen ze ruim 2 miljard bevragingen per dag. In de eerste week van de maatregelen lag dat getal met 250 miljoen extra bevragingen hoger, zo’n 10% meer dan normaal. Het is fijn om te zien dat DNS dit zonder noemenswaardige problemen aankan.


Na een domeinregistratie

Als je net een domeinnaam hebt geregistreerd, dan kan het soms even duren voordat die overal beschikbaar is. Ook duurt het vaak een tijdje, voordat wijzigingen van nameservers of DNSSEC-informatie actief is in DNS. Wel wordt doorgaans bij zo’n wijziging de WHOIS-informatie van je domein wel direct bijgewerkt. Zo kun je alvast zien of je wijzigingen kloppen.

$ whois dmarcify.nl
(...)
Domain nameservers:
   ns1.webhostingserver.nl
   ns2.webhostingserver.nl
   ns3.webhostingserver.nl

Je kunt de serial van de TLD-zone in de gaten houden om te kijken of de zone is bijgewerkt. Dit getal wordt opgehoogd bij een wijziging van de inhoud. Bij een nieuw getal weet je dus dat er een update is geweest. Met dig ziet het er zo uit voor de .NL-zone.

$  dig +short SOA nl.
ns1.dns.nl. hostmaster.domain-registry.nl. 2020030318 3600 600 2419200 600

Als de data niet overeenkomen en DNSViz geen problemen ziet, dan is het vaak een kwestie van wachten. De wijziging zal pas te zien zijn als de TTL is verlopen. Om het een handje te helpen, kun je van sommige providers de cache flushen. Dit kun je hier doen bij Google, Cloudflare en OpenDNS. Als het probleem daarna is opgelost, dan betekent het niet dat het voor iedereen werkt. Je kunt daarom het beste even wachten.

De inhoud van je zone

Als delegations allemaal kloppen en resolvers je domein kunnen vinden, dan heb je DNS niet uitgespeeld. Er kan nog een probleem zijn met één van de autoritatieve nameservers voor je domein of een foutje zitten in de inhoud van je zone. Het Zweedse IIS, de registry voor .SE en .NU, heeft een handige tool gebouwd om dit te controleren: Zonemaster. Je krijgt hieruit een lijstje met alle punten die worden gecontroleerd. Geef alles OK terug, dan is je zone in orde.

Je domein in goede handen

Zoals je gelezen hebt, is DNS een complex systeem om problemen in op te lossen. Nu zijn er aan de achterkant nog wel meer systemen, waarin iets mis kan gaan. Gelukkig komt dat bijna nooit voor en als het al misgaat, dan is je domein bij Antagonist in goede handen! Wil je ook een eigen internetadres, doe dan snel vrijblijvend een domeincheck en kijk of die vrij is.

Registreer je domeinnaam →

P.S. Op de hoogte blijven van alle artikelen, updates, tips en trucs die op ons blog verschijnen? Volg ons via Facebook, Twitter, Instagram, RSS en e-mail!

Deel Deel Deel Deel

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *