SERVFAIL na een verhuizing of nameserverwissel komt vaak door een oud DS-record. Zo controleer je DNSSEC met dig +dnssec en dig DS en vervang je het DS-record.
DNSSEC voegt digitale handtekeningen toe aan de DNS van je domein, zodat een resolver kan controleren dat een antwoord echt van jouw nameservers komt en onderweg niet is vervalst. Daarvoor zijn twee dingen nodig: je nameservers ondertekenen de zone met een sleutel (de DNSKEY), en bij het register van de extensie staat een DS-record, een soort vingerafdruk van die sleutel. Resolvers die DNSSEC controleren, vergelijken die twee.
Passen ze niet bij elkaar, dan geeft een controlerende resolver géén antwoord, maar SERVFAIL. Dat is bewust: liever niets dan een mogelijk vervalst antwoord. Het gevolg is dat je website en mail onbereikbaar zijn voor iedereen die zo’n resolver gebruikt, en veel providers en publieke resolvers zoals 1.1.1.1 en 8.8.8.8 controleren DNSSEC. Resolvers die niet controleren, geven wel gewoon een antwoord; daardoor lijkt het probleem soms maar voor een deel van de mensen te spelen.
De meest voorkomende oorzaak is een verhuizing: je bent van nameservers gewisseld, maar bij het register staat nog het DS-record van de oude partij. De nieuwe nameservers ondertekenen niet, of met een andere sleutel. Andere oorzaken zijn een sleutelwissel waarbij het DS-record niet is bijgewerkt, en verlopen handtekeningen doordat de nameserver de zone niet meer opnieuw ondertekent.
dig of nslookup geeft SERVFAIL of ‘Server failed’ voor je domein, terwijl andere domeinen gewoon werken.dig +cd (controle uit) krijg je wél een antwoord: dan is DNSSEC vrijwel zeker de oorzaak.Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.
Vraag je domein op bij een controlerende resolver, en daarna nog een keer met +cd (checking disabled): dan slaat de resolver de DNSSEC-controle over. Geeft de eerste status: SERVFAIL en de tweede status: NOERROR met een IP-adres, dan is de DNSSEC-keten kapot. Recente versies van dig tonen vaak ook een regel met EDE (extended DNS error) die de reden noemt, zoals ‘DNSKEY Missing’ of ‘DNSSEC Bogus’.
dig @1.1.1.1 voorbeeld.nl A
dig @1.1.1.1 voorbeeld.nl A +cd
dig @8.8.8.8 voorbeeld.nl A +dnssecVraag het DS-record van je domein op. Elk DS-record begint met een getal: de key tag van de sleutel waar het bij hoort. Krijg je een DS-record terug, dan verwacht het register dat je domein ondertekend is.
dig voorbeeld.nl DS +shortVraag bij je huidige nameservers de DNSKEY-records op. Met +multi toont dig bij elke sleutel de key id. Staat er geen DNSKEY, dan ondertekenen je nameservers niet, en is het DS-record bij het register een overblijfsel. Staat er wel een sleutel maar met een andere key id dan in het DS-record, dan hoort het DS-record bij een oude sleutel. Een DNSSEC-checker op internet laat de hele keten in één overzicht zien.
dig NS voorbeeld.nl +short +cd
dig @ns1.voorbeeld-dns.nl voorbeeld.nl DNSKEY +multiOndertekent je nieuwe partij (nog) niet, laat dan het DS-record verwijderen bij je domeinbeheerder of registrar. In veel beheerpanelen heet dat DNSSEC uitzetten of de DNSSEC-gegevens leegmaken. Zodra het register geen DS-record meer heeft en de oude DS uit de caches is verlopen, behandelen resolvers je domein als niet-ondertekend en werkt het weer. Hoe lang dat duurt, hangt af van de TTL van het DS-record.
Ondertekent je nieuwe partij wel, vraag dan het juiste DS-record (of de DNSKEY) op en laat dat plaatsen bij je domeinbeheerder of registrar, ter vervanging van het oude. Vaak gaat dat automatisch als de DNS-partij en de domeinbeheerder dezelfde zijn. Controleer daarna of de key tag in het DS-record overeenkomt met een sleutel in de DNSKEY-uitvoer.
dig voorbeeld.nl DS +short
dig @ns1.voorbeeld-dns.nl voorbeeld.nl DNSKEY +multiKloppen DS en DNSKEY wel, kijk dan of de handtekeningen (RRSIG-records) nog geldig zijn. In de uitvoer met +dnssec staan bij elk RRSIG-record een einddatum en een begindatum. Is de einddatum voorbij, dan ondertekent je nameserver de zone niet meer opnieuw; dat moet de beheerder van de nameservers oplossen.
dig @ns1.voorbeeld-dns.nl voorbeeld.nl A +dnssecVraag na de wijziging je domein opnieuw op bij een controlerende resolver, zonder +cd. Je hoort status: NOERROR en een antwoord te krijgen; bij een ondertekend domein staat dan ook de vlag ad (authenticated data) in de kop. Heb je DNSSEC verwijderd om het probleem op te lossen, zet het dan later bij de nieuwe partij weer netjes aan.
dig @1.1.1.1 voorbeeld.nl A +dnssec
delv voorbeeld.nl ALet op: Verwijder bij een volgende nameserverwissel eerst het DS-record (of zet het juiste klaar) en wacht de TTL af vóór je van nameservers wisselt. Zo voorkom je dat je domein urenlang onbereikbaar is voor iedereen met een controlerende resolver.
Deze antwoorden lijken voor een bezoeker hetzelfde, maar betekenen iets anders.
Werkt het domein met +cd wel, dan is DNSSEC de oorzaak. Geeft ook +cd SERVFAIL, controleer dan of de nameservers van het domein bereikbaar zijn en antwoorden.
Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.
Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.
Dat de resolver geen betrouwbaar antwoord kon geven. Bij een domein dat net is verhuisd, is een kapotte DNSSEC-keten de meest voorkomende reden.
Niet alle resolvers controleren DNSSEC. Wie een resolver zonder controle gebruikt, krijgt gewoon een antwoord; wie een controlerende resolver gebruikt, krijgt SERVFAIL.
Tijdelijk, om je domein weer bereikbaar te maken, is dat de gebruikelijke oplossing. Zet het daarna weer aan bij de nieuwe partij, want DNSSEC beschermt tegen vervalste DNS-antwoorden.
Met dig voorbeeld.nl A +dnssec bij een controlerende resolver: de vlag ad en status: NOERROR betekenen dat het klopt. Een DNSSEC-checker laat ook de hele keten zien.
Hulp nodig van een mens? Gratis Mail-DNS-check · Domeincheck · Hosting en onderhoud · Alle oplossingen