DNS_PROBE_FINISHED_NXDOMAIN: cosa significa e come risolverlo
DNS_PROBE_FINISHED_NXDOMAIN significa che la ricerca del nome host che hai digitato è tornata come "nome inesistente". Il browser non ha mai ricevuto un indirizzo IP, quindi non ha mai aperto una connessione. Il problema sta nella risoluzione dei nomi, non nel server web del sito.
Cosa significa l'errore
NXDOMAIN è un codice di risposta DNS, abbreviazione di non-existent domain, dominio inesistente. Un resolver lo restituisce dopo aver percorso la catena dalla radice fino alla zona che dovrebbe contenere il tuo nome host, senza trovarci nulla. Chrome mostra DNS_PROBE_FINISHED_NXDOMAIN. Firefox dice che non riesce a connettersi al server. Safari dice che non trova il server. Tutti e tre riportano la stessa risposta.
NXDOMAIN non è lo stesso di un errore del resolver, e la differenza determina dove guardare. Se il tuo resolver è irraggiungibile o va in timeout, ricevi invece un messaggio "server DNS non risponde". Se la zona risponde ma è danneggiata, per esempio una catena DNSSEC che non si convalida, di solito ottieni SERVFAIL. NXDOMAIN è una risposta definitiva: il nome non è pubblicato.
Una proprietà di NXDOMAIN conta più di ogni altra durante la risoluzione dei problemi. Le risposte negative vengono messe in cache. Secondo l'RFC 2308 un resolver mette in cache il risultato "nome inesistente" per l'intervallo indicato nel record SOA della zona, comunemente tra 5 e 60 minuti. Un dominio che ha iniziato a funzionare due minuti fa può ancora fallire sulla tua macchina, e nessuna quantità di ricaricamenti lo cambierà finché la voce in cache non scade o non la cancelli tu.
Perché succede
- Un errore di battitura nel nome host. La causa più comune di gran lunga, e quella che tutti controllano per ultima.
- Il dominio non è registrato, oppure è scaduto. Un dominio scaduto viene di solito rimosso dalla zona entro poche ore dalla fine del periodo di grazia.
- Nessuna delega dei nameserver. Il dominio esiste presso il registrar ma non ha record NS che puntino a un provider DNS, quindi la zona genitore non ha nulla a cui rimandare un resolver.
- Il record è stato eliminato o rinominato. Un A o un CNAME mancante per
wwwproduce NXDOMAIN perwww.example.commentre il dominio nudo continua a funzionare. - Una modifica non ha ancora raggiunto il tuo resolver. I nuovi record impiegano fino al TTL del record precedente per comparire ovunque.
- Una risposta negativa in cache sul tuo dispositivo, nel tuo browser, o sul resolver del tuo provider internet.
- Una voce nel file hosts che punta il nome verso qualcosa che non esiste più, o una riga residua di un vecchio test.
- Software VPN, proxy o di filtraggio che risponde da solo alle query DNS e blocca o non riesce a risolvere il nome.
- Un nome host che esiste solo su una rete privata a cui non sei attualmente connesso, come un dominio interno
.localo aziendale.
Come risolverlo
Ridigita prima l'indirizzo, poi procedi dal browser verso la rete. Testa dopo ogni passaggio invece di farli tutti insieme.
Browser
- Apri lo stesso URL in una finestra privata. Se lì si carica, è coinvolta un'estensione o un cookie, non il DNS.
- Cancella la cache del resolver interna di Chrome su
chrome://net-internals/#dns, poi svuota i pool di socket suchrome://net-internals/#sockets. Chrome tiene una cache separata da quella del sistema operativo, quindi uno svuotamento del solo OS spesso non cambia nulla.
Windows
- Svuota la cache del resolver:
ipconfig /flushdns - Rinnova il lease di rete, che raccoglie anche i server DNS assegnati dal DHCP:
ipconfig /release ipconfig /renew - Riavvia il servizio di cache se uno svuotamento non regge:
net stop dnscache net start dnscache - Controlla
C:\Windows\System32\drivers\etc\hostsper una riga che nomina il dominio ed eliminala se è obsoleta. - Imposta un resolver pubblico:
netsh interface ipv4 set dnsservers name="Wi-Fi" static 1.1.1.1 primary - Come ultima risorsa, reimposta lo stack di rete, poi riavvia:
netsh winsock reset
macOS
- Svuota la cache:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Verifica quali server sono in uso:
scutil --dns | grep nameserver - Punta l'interfaccia verso un resolver pubblico:
sudo networksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1 - Controlla
/etc/hostse rimuovi ogni riga relativa al dominio.
Linux
- Con systemd-resolved:
sudo resolvectl flush-caches, poi conferma i server in uso conresolvectl status. - Con dnsmasq:
sudo systemctl restart dnsmasq. Con nscd:sudo systemctl restart nscd. - Leggi
/etc/resolv.confper vedere quale resolver stai interrogando, e/etc/hostsper un override obsoleto. - Con NetworkManager, cambia il resolver sulla connessione stessa:
nmcli con mod "Wired connection 1" ipv4.dns "1.1.1.1 1.0.0.1" nmcli con up "Wired connection 1"
Router
- Spegni e riaccendi il router. La maggior parte dei router domestici esegue un piccolo resolver di inoltro con una propria cache, e un riavvio la svuota.
- Nella pagina di amministrazione del router, controlla i server DNS del WAN o del DHCP. Se puntano a un vecchio server interno o a un servizio di filtraggio, sostituiscili.
- Prova con un telefono sui dati mobili invece che sul Wi-Fi. Se il nome si risolve lì, il guasto è dentro la tua rete.
Se possiedi il dominio
NXDOMAIN sul tuo sito è un problema di pubblicazione, e ci sono solo poche fonti possibili. Controlla prima lo stato della registrazione e la data di scadenza. Poi conferma la delega, il passaggio che le persone saltano:
dig NS example.com +short
dig example.com +trace
Una risposta NS vuota significa che la zona genitore non ha delega, quindi nessun resolver può raggiungere il tuo provider DNS, indipendentemente dai record che hai creato lì. L'output di +trace mostra la catena di rimando e il punto esatto in cui si interrompe. Se la delega è a posto, interroga direttamente il nameserver del tuo provider per confermare che il record esiste nella zona che stai modificando:
dig @ns1.example-dns.net www.example.com A
Quando aggiungi un record mancante, la vecchia risposta negativa resta in cache altrove per tutto il tempo consentito dal minimo del SOA, quindi lascia passare quel tempo prima di concludere che la correzione non ha funzionato.
Verifica dall'esterno
Ogni soluzione sopra cambia solo la tua macchina. Nessuna ti dice se il nome si risolve per chiunque altro, ed è questo che vuoi sapere per primo. Esegui la query contro due resolver pubblici e confronta:
dig example.com +short
dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +short
nslookup example.com 8.8.8.8
Se il tuo resolver predefinito non restituisce nulla e 1.1.1.1 restituisce un indirizzo, il record esiste e il tuo resolver sta trattenendo una risposta negativa obsoleta oppure sta filtrando il nome. Se ogni resolver non restituisce nulla, il record manca davvero.
Due resolver coprono comunque un solo punto di osservazione, e le risposte DNS variano per regione più spesso di quanto si pensi. Esegui il controllo query DNS per risolvere il nome da punti di controllo in più paesi contemporaneamente e leggere cosa ha restituito ciascuno. Un risultato diviso, con alcune ubicazioni che rispondono e altre no, indica una modifica ancora in fase di diffusione o il nameserver di un provider irraggiungibile da parte di internet. Quella lettura nel tempo è la propagazione DNS, che ha una guida dedicata su come verificare la propagazione DNS.
Intercettare un nome che smette di risolversi
Un record che scompare non lascia traccia sul tuo lato. Non viene registrato da nessuna parte, perché non arriva mai alcuna richiesta, e l'unico segno è un grafico del traffico che crolla. La soluzione in ogni caso è una ricerca eseguita secondo una pianificazione da un luogo diverso dal tuo ufficio. HostTracker monitora siti web dal 2004 e oggi esegue controlli da più di 300 postazioni in 158 città, avvisando via email, SMS, chiamata vocale, Slack, Telegram e altro quando un nome smette di risolversi o inizia a rispondere con l'indirizzo sbagliato. Le altre guide di questa sezione sono nel gruppo risoluzione problemi, e le due più vicine a questa sono server DNS non risponde, per quando il resolver non risponde mai, e come risolvere una ricerca DNS lenta, per quando risponde ma ci mette troppo tempo.