DNS troubleshooting: nslookup, dig, DoH
· 7 min leestijd
DNS-problemen horen bij de meest voorkomende en lastigst te diagnosticeren oorzaken van uitval. Praktische tools: nslookup, dig en DNS-over-HTTPS.
Meest voorkomende DNS-problemen
- Domeinregistratie verlopen - de hele DNS stopt met werken.
- Verkeerd A/AAAA-record - vergeten na een servermigratie.
- Ontbrekende CNAME / MX - de website werkt, maar de email niet.
- TTL niet verlaagd vóór een geplande wijziging - caches van providers serveren nog oude data.
- DNSSEC-fout - validators wijzen ongetekende of fout getekende records af.
- Geo-DNS-storing - een resolver van een bepaalde regio krijgt het verkeerde antwoord.
nslookup: het eenvoudigste commando
Beschikbaar op alle OS zonder installatie. Het gebruikt de standaard DNS-server van het systeem, maar je kunt er expliciet een opgeven als tweede argument.
$ nslookup epulz.io
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: epulz.io
Address: 87.197.115.180
# Expliciet Cloudflare DNS gebruiken
$ nslookup epulz.io 1.1.1.1
# Specifiek recordtype
$ nslookup -type=MX gmail.com 8.8.8.8
$ nslookup -type=TXT _dmarc.epulz.io 1.1.1.1
dig: gedetailleerde DNS-query voor Unix
dig (Domain Information Groper) is aanzienlijk gedetailleerder en flexibeler. Het is onderdeel van het pakket bind-utils of dnsutils.
$ dig epulz.io
;; QUESTION SECTION:
;epulz.io. IN A
;; ANSWER SECTION:
epulz.io. 300 IN A 87.197.115.180
;; Query time: 12 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: ...
Sleutelvelden:
TTL(300) = het aantal seconden dat de resolver het antwoord mag cachen.ANSWER SECTION= het resultaat zelf.SERVER= welke DNS-resolver antwoordde.Query time= duur van de query - handig bij het debuggen van trage DNS.
Praktische commando's
# Beknopt antwoord (alleen IP)
$ dig +short epulz.io
87.197.115.180
# Alle records
$ dig epulz.io ANY
# Trace van de hele DNS-hiërarchie (vanaf root nameservers)
$ dig +trace epulz.io
# Reverse lookup
$ dig -x 87.197.115.180
# Specifieke resolver
$ dig @8.8.8.8 epulz.io
$ dig @1.1.1.1 epulz.io
$ dig @9.9.9.9 epulz.io
# DNSSEC-validatie
$ dig +dnssec epulz.io
DNS-over-HTTPS (DoH): wanneer je geen UDP/53 hebt
In sommige netwerken (corporate firewalls, mobiele data met blokkering) is de traditionele DNS-poort 53 geblokkeerd. DoH verpakt DNS-queries in HTTPS-requests, zodat ze overal doorgaan waar poort 443 werkt.
# Cloudflare DoH-endpoint
$ curl -s "https://cloudflare-dns.com/dns-query?name=epulz.io&type=A" \
-H "Accept: application/dns-json" | jq
# Google DoH
$ curl -s "https://dns.google/resolve?name=epulz.io&type=MX" | jq
Een online DoH-client met een overzichtelijke UI hebben we ook op /tools/dns-lookup - zonder enige installatie.
Procedure voor "domein werkt niet"
- Controleer de registratie.
whois yourdomain.comof via de registrar. Als die verlopen is, kan niets anders worden gerepareerd. - Controleer de NS-records.
dig NS yourdomain.com @8.8.8.8. Worden de nameservers die verantwoordelijk zijn voor het domein teruggegeven? Komen ze overeen met wat je in het registrarpaneel hebt? - Controleer het A-record.
dig yourdomain.com @8.8.8.8. Geeft het de juiste IP terug? - Test vanuit een extern netwerk (mobiele data, VPN, online tool). Je hebt mogelijk zelf oude data in cache.
- Controleer de TTL. Als je net een record hebt gewijzigd, wacht minstens de oorspronkelijke TTL (standaard 1 tot 24 uur).
- Controleer DNSSEC. Als je het gebruikt, kan de signature-keten kapot zijn.
dig +dnssec yourdomain.comtoont dead-flag bij succes.
DNS-propagatie: hoe lang duurt het?
"DNS-propagatie" is een enigszins misleidende term. DNS propageert niet naar jou toe - je resolvers downloaden het antwoord en cachen het volgens de TTL. Pas na het verlopen van de TTL proberen ze een nieuwe query.
Praktische gevolgen:
- Plan je een migratie? Verlaag de TTL naar 60 tot 300 seconden minstens 48 uur van tevoren.
- Het oude IP blijft bij sommige clients nog lang na de wijziging in cache. Schakel de oude server niet onmiddellijk uit.
- Cloud providers (Cloudflare, AWS Route 53) ondersteunen korte TTL-waarden en een snelle propagatie van wijzigingen, maar de eindclient moet nog steeds wachten op de TTL van zijn eigen resolver.
Conclusie
DNS is de infrastructuurlijm die iedereen vanzelfsprekend vindt - totdat het stopt met werken. Regelmatige monitoring van DNS-records (A, NS, MX, hun TTL en DNSSEC-validatie) onthult het probleem voordat een klant het telefonisch meldt.
Monitoring van DNS en WHOIS-verloop
ePulz.io volgt A/AAAA/MX/NS-records en het verloop van de domeinregistratie. 7 dagen gratis.
Probeer ePulz.io gratis - 7 dagen zonder creditcard.
Account aanmaken