Come appare il messaggio
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 41234Cause frequenti
- Dopo un cambio provider il record DS presso il registro non corrisponde più al DNSKEY della zona.
- Firme RRSIG scadute perché la rifirma automatica si è fermata.
- Lame delegation: i nameserver indicati non sono autoritativi per la zona o non sono raggiungibili.
- I nameserver rispondono male o bloccano TCP/EDNS (risposte grandi).
Verifica
- Query con dati DNSSEC
dig example.com A +dnssec - Stessa query senza validazione: se funziona, il problema è DNSSEC
dig example.com A +cd - Interroga il DS nella zona padre
dig +short DS example.com @a.gtld-servers.net - Interroga il DNSKEY direttamente sul server autoritativo
dig +short DNSKEY example.com @ns1.example-dns.com - Mostra la catena di validazione con il motivo
delv example.com A
Soluzione
- Elimina il DS sbagliato presso il registrar o sostituiscilo con quello giusto; tieni conto del TTL del DS.
- Quando sposti un dominio firmato DNSSEC togli prima il DS, aspetta il TTL, poi sposta e rifirma.
- Controlla e ripara la rifirma automatica presso il provider DNS o in BIND/PowerDNS.
- Allinea i record NS presso il registro e nella zona.
- Dopo la correzione svuota la cache del resolver, ad esempio
unbound-control flush_zone example.com.
Domande frequenti
Perché per alcuni utenti funziona e per altri no?
Solo i resolver che validano (1.1.1.1, 8.8.8.8, molti provider) danno SERVFAIL. Quelli che non validano restituiscono comunque la risposta.
Quanto ci vuole dopo la correzione?
Quanto il TTL del record DS o delle risposte negative in cache: spesso da un'ora a 24 ore.