Troubleshooting DNS: nslookup, dig, DoH
· 7 min di lettura
I problemi DNS sono tra le cause di downtime piu comuni e difficili da diagnosticare. Strumenti pratici: nslookup, dig e DNS-over-HTTPS.
Problemi DNS più frequenti
- Registrazione del dominio scaduta - l'intero DNS smette di funzionare.
- Record A/AAAA errato - dimenticato dopo una migrazione del server.
- CNAME / MX mancante - il sito funziona, ma l'email no.
- TTL non abbassato prima di una modifica pianificata - le cache dei provider servono ancora dati vecchi.
- Errore DNSSEC - i validatori rifiutano record non firmati o mal firmati.
- Guasto Geo-DNS - il resolver di una certa regione riceve risposta sbagliata.
nslookup: il comando più semplice
Disponibile su tutti gli OS senza installazione. Usa il server DNS di default del sistema, ma se ne può specificare uno esplicitamente come secondo argomento.
$ 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
# Usare esplicitamente Cloudflare DNS
$ nslookup epulz.io 1.1.1.1
# Tipo specifico di record
$ nslookup -type=MX gmail.com 8.8.8.8
$ nslookup -type=TXT _dmarc.epulz.io 1.1.1.1
dig: query DNS dettagliata per Unix
dig (Domain Information Groper) è significativamente più dettagliato e flessibile. Fa parte del pacchetto bind-utils o 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: ...
Campi chiave:
TTL(300) = il numero di secondi per cui il resolver può cachare la risposta.ANSWER SECTION= il risultato vero e proprio.SERVER= quale resolver DNS ha risposto.Query time= durata della query - utile per il debug di DNS lento.
Comandi pratici
# Risposta breve (solo IP)
$ dig +short epulz.io
87.197.115.180
# Tutti i record
$ dig epulz.io ANY
# Trace dell'intera gerarchia DNS (dai root nameserver)
$ dig +trace epulz.io
# Reverse lookup
$ dig -x 87.197.115.180
# Resolver specifico
$ dig @8.8.8.8 epulz.io
$ dig @1.1.1.1 epulz.io
$ dig @9.9.9.9 epulz.io
# Validazione DNSSEC
$ dig +dnssec epulz.io
DNS-over-HTTPS (DoH): quando non hai UDP/53
In alcune reti (firewall aziendali, dati mobili con blocco) la tradizionale porta DNS 53 è bloccata. DoH impacchetta le query DNS in richieste HTTPS, così passano ovunque funzioni la porta 443.
# Endpoint DoH di Cloudflare
$ 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
Un client DoH online con un'interfaccia chiara lo trovi anche su /tools/dns-lookup - senza alcuna installazione.
Procedura per "il dominio non funziona"
- Controlla la registrazione.
whois yourdomain.como via il registrar. Se è scaduta, nient'altro si può riparare. - Controlla i record NS.
dig NS yourdomain.com @8.8.8.8. Vengono restituiti i nameserver responsabili del dominio? Combaciano con quelli del pannello del registrar? - Controlla il record A.
dig yourdomain.com @8.8.8.8. Restituisce l'IP corretto? - Testa da una rete esterna (dati mobili, VPN, strumento online). Tu stesso potresti avere dati vecchi in cache.
- Controlla il TTL. Se hai appena cambiato un record, aspetta almeno il TTL originale (di default da 1 a 24 ore).
- Controlla DNSSEC. Se lo usi, la catena di firme può essere rotta.
dig +dnssec yourdomain.commostra il flagadin caso di successo.
Propagazione DNS: quanto tempo richiede?
"Propagazione DNS" è un termine un po' fuorviante. Il DNS non si propaga verso di te - i tuoi resolver scaricano la risposta e la cachano secondo il TTL. Solo dopo la scadenza del TTL provano una nuova query.
Conseguenze pratiche:
- Pianifichi una migrazione? Abbassa il TTL a 60 a 300 secondi almeno 48 ore prima.
- Il vecchio IP resta in cache per alcuni client a lungo dopo il cambio. Non spegnere il vecchio server subito.
- I cloud provider (Cloudflare, AWS Route 53) supportano valori TTL brevi e una propagazione rapida delle modifiche, ma il client finale deve comunque aspettare il TTL del proprio resolver.
Conclusione
Il DNS è la colla infrastrutturale che tutti danno per scontata - finché smette di funzionare. Un monitoraggio regolare dei record DNS (A, NS, MX, il loro TTL e la validazione DNSSEC) rivela il problema prima che un cliente lo segnali per telefono.
Monitoraggio DNS e scadenza WHOIS
ePulz.io traccia i record A/AAAA/MX/NS e la scadenza della registrazione del dominio. 7 giorni gratis.
Prova ePulz.io gratis - 7 giorni senza carta di credito.
Crea account