Come appare il messaggio
$ dig example.com
;; communications error to 192.0.2.53#53: timed out
;; communications error to 192.0.2.53#53: timed out
;; no servers could be reachedCause frequenti
- L'indirizzo del server DNS configurato è sbagliato o il server è spento.
- Un firewall scarta le porte 53 UDP e TCP, sul client, sul server o nel mezzo.
- Il servizio DNS (
named,unbound,dnsmasq) non è attivo o ascolta solo su un'altra interfaccia. - Nessuna rotta verso il server, ad esempio per una VPN o un cambio di rete.
- Le risposte grandi richiedono TCP e solo UDP è consentito.
Verifica
- Quale server usa il sistema?
resolvectl status - Stessa query verso un resolver pubblico. La rete funziona almeno?
- Query via TCP invece di UDP
dig example.com @192.0.2.53 +tcp +time=3 +tries=1 - Sul server DNS: ascolta sulla porta 53?
sudo ss -lunpt | grep ':53 '
Soluzione
- Se la query verso un resolver pubblico funziona, il problema è il server configurato: sostituiscilo o riparalo.
- Se non funziona nulla, ripara prima la rete: rotta, gateway, VPN, cavo.
- Sul tuo server DNS avvia il servizio (
sudo systemctl status unboundonamed) e verifica che ascolti sull'interfaccia usata dai client. - Consenti la porta 53 UDP e TCP nel firewall, nelle due direzioni se serve. Solo dalle reti che ne hanno bisogno.
- Se fallisce solo TCP, le risposte possono essere grandi o troncate. Consenti TCP 53, non bloccarlo.
Domande frequenti
Il dominio è rotto?
Probabilmente no. Nessuna risposta vuol dire che il resolver o il percorso è rotto. Un dominio rotto dà una risposta come NXDOMAIN o SERVFAIL.
Con 8.8.8.8 funziona, con il mio router no.
Allora il problema è il router o l'upstream dietro di esso. Imposta un altro resolver sul client per confermare, poi correggi o sostituisci il DNS del router.