JungleLabs Insights

Cos'è la propagazione DNS? Perché le modifiche ai DNS richiedono tempo

Articolo

Aggiorni i record DNS di un dominio, salvi la modifica e ti aspetti che il nuovo sito web o il servizio di posta funzionino immediatamente. Ma un collega vede ancora il vecchio sito web, un controllo online mostra un indirizzo diverso o l’invio delle email si comporta in modo inconsistente. Questo ritardo è comunemente chiamato Propagazione DNS.

La frase può far sembrare che un singolo aggiornamento stia viaggiando attraverso un sistema Internet centrale. Il DNS, tuttavia, è distribuito. Le informazioni sui domini sono memorizzate e memorizzate nella cache attraverso server dei nomi autoritativi, resolver ricorsivi, router, sistemi operativi e applicazioni. Ogni sistema può aggiornare le proprie informazioni in momenti diversi.

La maggior parte delle modifiche DNS diventa visibile man mano che le cache scadono e i resolver recuperano record aggiornati. La durata di questo processo dipende dal precedente Time to Live (TTL) del record, dal comportamento dei resolver e dalla correttezza della configurazione DNS autorevole. Non esiste un tempo universale che garantisca che ogni utente visualizzi la nuova risposta.

Questa guida spiega cosa si intende con la propagazione DNS, perché le modifiche ai DNS appaiono in tempi diversi, come verificare le risposte correnti di un dominio e cosa fare quando un aggiornamento sembra ancora incompleto.

Cosa significa propagazione DNS?

La propagazione DNS è il termine comune per indicare il periodo durante il quale diversi utenti o risolutori DNS possono ricevere risposte diverse dopo che i record DNS sono stati modificati. Un utente in una rete potrebbe già visualizzare il nuovo indirizzo IP, mentre il risolutore di un altro utente continua a restituire un indirizzo più vecchio memorizzato nella cache.

La modifica DNS sottostante viene effettuata sui server dei nomi autoritativi per il dominio. I resolver ricorsivi recuperano quindi e memorizzano nella cache i record per i loro utenti. Questi resolver non interrogano necessariamente i server autoritativi ogni volta che qualcuno visita il dominio. Possono riutilizzare una risposta memorizzata nella cache finché rimane valida.

È per questo che la “propagazione” è meglio intesa come scadenza della cache e aggiornamento. Non esiste una copia centrale che debba essere aggiornata su tutti i dispositivi connessi a Internet contemporaneamente. Il registro autorevole potrebbe già essere corretto, anche se alcuni resolver continuano a servire dati più vecchi memorizzati nella cache.

Come funziona il caching DNS

Quando un browser deve trovare l'indirizzo IP di un dominio, chiede al sistema operativo di risolvere il nome. Il sistema operativo potrebbe avere una risposta memorizzata nella cache. In caso contrario, richiede a un resolver ricorsivo configurato, come quello gestito da un provider Internet, da un'azienda o da un servizio DNS pubblico.

Il resolver ricorsivo può anche disporre di una risposta memorizzata nella cache. Se tale risposta è ancora entro il suo tempo di vita in cache, può restituirla senza contattare i server dei nomi autorevoli. Quando la record nella cache scade, il resolver può interrogare il sistema DNS autorevole e memorizzare la risposta aggiornata.

La memorizzazione nella cache riduce i tempi di ricerca e il carico sull'infrastruttura DNS. Inoltre, significa che le modifiche ai record non sono necessariamente visibili a tutti i resolver nello stesso momento. La vecchia risposta rimane utilizzabile da un resolver fino alla scadenza della sua cache o al suo successivo aggiornamento.

Diversi utenti possono utilizzare diversi resolver ricorsivi. Persone che si trovano nella stessa casa possono vedere risposte diverse se i loro dispositivi utilizzano servizi DNS differenti, VPN, reti mobili o cache locali.

Cos'è il TTL nel DNS?

TTL sta per Time To Live Tempo di vita. È un valore, solitamente misurato in secondi, che indica ai resolver ricorsivi per quanto tempo possono memorizzare nella cache una record DNS prima di verificare la presenza di una risposta aggiornata.

Ad esempio, un TTL di 3600 significa un'ora. Se un resolver recupera un record con quel TTL, può generalmente continuare a utilizzare la risposta per fino a un'ora prima di doverla aggiornare. Un TTL di 300 significa cinque minuti.

Il TTL che conta dopo una modifica è solitamente il TTL della vecchia record che i resolver hanno già memorizzato nella cache. Abbassare il TTL immediatamente prima di modificare un record potrebbe non ridurre il tempo di attesa per i resolver che hanno memorizzato nella cache il precedente, più alto TTL. Questi resolver potrebbero continuare a utilizzare la vecchia risposta fino alla scadenza del periodo originale di caching.

Per le migrazioni pianificate, gli amministratori spesso riducono preventivamente il TTL, attendono che questo scada e poi apportano la modifica DNS. Una volta stabilizzata la modifica, possono aumentare nuovamente il TTL per ridurre le query ripetute. I valori appropriati dipendono dal servizio e dal processo di cambiamento dell’operatore.

Perché le modifiche DNS richiedono tempi diversi?

Il motivo più comune è che i resolver abbiano copie diverse nella cache. Alcuni potrebbero aver già aggiornato il record, mentre altri stanno ancora utilizzando una risposta non scaduta. Un resolver può anche applicare la propria logica di aggiornamento o memorizzare nella cache risposte negative, ovvero risposte che indicano l'inesistenza di un record.

La cache locale può aggiungere un ulteriore livello. Un computer, un router, un browser o un'applicazione di sicurezza possono trattenere temporaneamente le informazioni DNS. Riavviare un browser o cancellare la cache DNS del sistema operativo può aiutare in alcuni casi, ma non cambierà ciò che è ancora memorizzato nella cache da un resolver ricorsivo.

Le modifiche al provider DNS possono introdurre ulteriori fattori temporali. Se si modificano i name server autoritativi del dominio presso il registrar, i resolver potrebbero dover aggiornare le informazioni di delega, nonché i record serviti da tali name server. Si tratta di una modifica diversa dalla modifica di un record A o AAAA all'interno dello stesso servizio di hosting DNS.

Infine, un aggiornamento potrebbe non essere corretto alla fonte autoritativa. Se il record errato è stato modificato, la modifica non è stata salvata, il dominio utilizza server dei nomi autoritativi diversi o il record contiene un errore di sintassi, l'attesa non risolverà la configurazione sottostante.

Propagazione DNS vs Aggiornamenti DNS Autoritativi

Un server DNS autoritativo fornisce i record ufficiali per un dominio o una zona. Quando si modifica un record nel pannello di controllo del provider DNS, il provider dovrebbe aggiornare i dati autoritativi che offre.

Un resolver ricorsivo fornisce risposte DNS ai dispositivi client. Potrebbe avere dati in cache precedenti alla modifica. Pertanto, il server autorevole può restituire il nuovo indirizzo mentre un resolver ricorsivo continua a restituire uno più vecchio.

Questa distinzione è utile durante la risoluzione dei problemi. Innanzitutto, verifica cosa restituiscono i server dei nomi autorevoli. Se questi hanno già il record atteso, la modifica è stata pubblicata alla fonte e le differenze rimanenti sono probabilmente dovute alla cache o al comportamento del resolver. Se i server autorevoli restituiscono ancora il valore precedente o nessun valore, investiga la configurazione del provider DNS e i record stessi.

La modifica dei nameserver aggiunge un ulteriore livello. La zona DNS padre deve puntare ai nameserver autoritativi previsti, e tali server devono servire la zona corretta. Un record corretto su un provider DNS non è utile se il dominio è delegato ai nameserver di un altro provider.

Modifiche comuni al DNS e i loro effetti

Modificare un Un record changes the IPv4 address returned for a hostname. Changing an Record AAAA cambia il suo indirizzo IPv6. Se entrambi sono presenti, i client possono utilizzare uno dei due indirizzi a seconda della loro rete e del comportamento di connessione.

Cambiando un Record CNAME modifica il nome di host a cui punta un alias. I resolver potrebbero quindi dover effettuare una ricerca del nome target e del suo indirizzo. Una modifica ai record del target può influenzare il risultato finale anche se il CNAME rimane invariato.

Modificare un Record MX influisce sui server di posta che ricevono le email per un dominio. I sistemi di posta possono memorizzare nella cache questi record e il routing delle email può richiedere del tempo prima di riflettere le modifiche. Quando si cambia fornitore di posta, gli amministratori dovrebbero verificare separatamente i record MX e tutti i record correlati di autenticazione della posta, come SPF, DKIM o DMARC.

Modifica nameserver modifiche che indicano quale provider DNS è autorevole per il dominio. Ciò richiede una corretta delegazione presso il registrar e una configurazione corretta della zona presso il nuovo provider. Una migrazione dei nameserver dovrebbe essere pianificata con cura, poiché la mancanza di record nel nuovo provider può rendere i siti web, l'email o altri servizi non disponibili.

Come verificare se una modifica DNS è stata applicata

Inizia interrogando il dominio dal computer che stai utilizzando. Su Windows, macOS e Linux, nslookup è comunemente disponibile:

nslookup example.com

Per verificare un record di indirizzo IPv4, utilizzare:

nslookup -type=A example.com

Per IPv6:

nslookup -type=AAAA example.com

Per i record dei server di posta:

nslookup -type=MX example.com

Su macOS e Linux, scava fornisce un output più dettagliato:

dig example.com A

Per mostrare solo la sezione delle risposte:

dig example.com A +noall +answer

È possibile interrogare un resolver ricorsivo specifico per confrontare le risposte. Ad esempio:

dig @1.1.1.1 example.com A

Su Windows, puoi specificare un server DNS con:

nslookup example.com 1.1.1.1

Sostituisci example.com con il tuo dominio. L'indirizzo del resolver in questi esempi è solo uno dei possibili resolver pubblici; puoi interrogare anche il servizio DNS utilizzato dalla tua organizzazione o dal tuo provider.

Registra il resolver che hai interrogato, la risposta e il tempo. Confrontare i risultati da più resolver aiuta a determinare se la differenza è locale a un singolo resolver o se appare più ampiamente.

Come interrogare un server dei nomi autorevole

Per trovare i nomi server autoritativi per un dominio, utilizzare:

dig example.com NS

Quindi interroga direttamente uno di quei server dei nomi per il record che hai modificato:

dig @ns1.example-dns.com example.com A

Sostituisci ns1.example-dns.com con un server autorevole elencato per il tuo dominio. Se la query diretta restituisce l'indirizzo previsto ma un resolver ricorsivo restituisce quello vecchio, i dati autorevoli sono stati aggiornati e il resolver potrebbe ancora utilizzare una risposta memorizzata nella cache.

Puoi anche chiedere scava per tracciare il processo di delega:

dig +trace example.com

Questo segue la gerarchia DNS dalla radice verso i server autoritativi del dominio. Può aiutare a identificare problemi di delega, sebbene il suo output sia più dettagliato rispetto alla maggior parte delle verifiche basilari richieste.

Se stai utilizzando il pannello di controllo di un provider DNS, verifica che il dominio sia effettivamente delegato ai server dei nomi visualizzati. Un record può essere corretto nel dashboard di un provider, mentre il dominio pubblico punta a un altro provider.

Cosa succede se alcuni utenti vedono il vecchio sito web?

Innanzitutto, verifica che il record A o AAAA autorevole abbia il valore previsto. Quindi interroga diversi resolver ricorsivi e controlla se restituiscono la stessa risposta. Se i dati autorevoli sono corretti ma alcuni resolver restituiscono un indirizzo più vecchio, il caching è una spiegazione probabile.

Successivamente, verifica la configurazione locale dell'utente. Una VPN, un resolver DNS aziendale, un prodotto di sicurezza, la cache del browser o il file hosts locale possono influenzare l'indirizzo restituito. Confronta il risultato ottenuto da un'altra rete, ad esempio una connessione mobile, per verificare se il comportamento cambia.

Valuta anche se i vecchi e i nuovi server rispondono. Una migrazione può apparire incoerente se l'host precedente continua a servire una copia cache o reindirizza in modo diverso. Il record DNS può essere corretto mentre il vecchio server rimane accessibile agli utenti il cui resolver non è stato aggiornato.

Se il problema interessa solo IPv4 o solo IPv6, confronta separatamente i record A e AAAA. Un dispositivo può connettersi tramite IPv6 mentre un altro utilizza IPv4. Una famiglia di indirizzi può puntare al nuovo server, mentre l'altra punta ancora a quello vecchio.

Cosa succede se un sito web non è disponibile dopo una modifica DNS?

Verifica che i server dei nomi autoritativi del dominio siano corretti e raggiungibili. Quindi verifica che i record pertinenti esistano su tali server. Se hai modificato di recente i server dei nomi, assicurati che il nuovo provider DNS disponga di tutti i record richiesti, inclusi quelli per il sito web, l'e-mail, la verifica e i servizi.

Conferma che il server di destinazione sia pronto ad accettare connessioni per il dominio. L'aggiornamento del DNS modifica solo la direzione verso cui vengono indirizzati i client. Non configura il server web, non installa un certificato, non apre una porta nel firewall e non copia i file del sito web.

Se il DNS restituisce l'indirizzo IP previsto ma il sito web continua a non funzionare, testa separatamente il server e l'applicazione. Il problema potrebbe risiedere nel server web, nel firewall, nel certificato TLS, nella configurazione dell'hosting o nell'applicazione. Una ricerca DNS conferma la risoluzione del nome; non garantisce che il servizio sia sano.

Per un controllo generale del percorso tra il tuo dispositivo e una destinazione, consulta la nostra guida a utilizzare traceroute per diagnosticare problemi di connessione di rete. Traceroute e ricerche DNS testano parti diverse della connessione, quindi sono utili insieme quando si cerca di identificare un problema.

Caching negativo e risultati “Record non trovato”

I resolver possono memorizzare nella cache il fatto che un record non esiste. Questo è noto come caching negativo. Se un resolver ha interrogato un nome prima della creazione del record, potrebbe continuare temporaneamente a restituire una risposta "non trovato" anche dopo che il record è stato aggiunto.

Il caching negativo ha anch'esso un TTL, basato sulle informazioni contenute nel record SOA della zona e sulle regole del resolver. Il comportamento esatto può variare. Se un sottodominio appena creato non viene risolto immediatamente, verificare prima il server dei nomi autorevole. Se restituisce il nuovo record, attendere la scadenza delle cache negative e confrontare con altri resolver.

Una risposta “record non trovato” può anche indicare che il record è stato aggiunto alla zona errata, che il nome host è stato inserito in modo errato o che il dominio utilizza server dei nomi autorevoli diversi. Conferma il nome host completo, il tipo di record e il provider DNS prima di presumere che il problema sia solo un ritardo di propagazione.

Come pianificare una migrazione DNS

Prima di modificare i record per un servizio di produzione, elenca tutti i nomi di host e registra i servizi su cui dipende. Un sito web può utilizzare record A e AAAA, mentre l'email dipende da record MX, SPF, DKIM e DMARC. Le applicazioni possono anche fare affidamento su record di verifica o di scoperta dei servizi.

Se la modifica è pianificata, ridurre in anticipo il TTL rilevante e attendere almeno il periodo del TTL precedente prima di cambiare la destinazione. Preparare il nuovo server o provider prima di aggiornare il DNS. Effettuare test diretti ove possibile e verificare che certificati, regole del firewall, impostazioni dell'applicazione e servizi di posta siano pronti.

Dopo la modifica, verificare le risposte autorevoli e diversi resolver ricorsivi. Monitorare la disponibilità del sito web, la consegna delle email e gli errori dell'applicazione. Mantenere il servizio precedente disponibile durante la transizione, quando possibile, poiché alcuni utenti potrebbero continuare a raggiungerlo mentre scadono le risposte in cache.

Una volta che la nuova configurazione è stabile, ripristina un TTL adeguato. Mantenere un TTL molto basso in modo indefinito può aumentare il volume delle query DNS senza fornire molti vantaggi per un servizio che cambia raramente.

Incomprensioni comuni sulla propagazione DNS

Un malinteso comune è che ogni modifica DNS richieda esattamente 24 o 48 ore. Non esiste una durata universale fissa. Il ritardo effettivo dipende dai valori TTL precedenti, dalla cache dei resolver, dalle modifiche alla delega e dalla correttezza della configurazione autorevole.

Un altro malinteso è che la cancellazione della cache del browser aggiorni il DNS ovunque. Può cancellare le informazioni memorizzate su quel dispositivo, ma non può cancellare la cache di un resolver ricorsivo remoto. Allo stesso modo, riavviare un router può cancellarne la cache locale, ma non modifica i record autorevoli.

Un terzo malinteso è che un verificatore DNS che mostra risposte diverse provi che il dominio sia rotto. Risposte diverse possono verificarsi durante una migrazione pianificata, specialmente quando i resolver hanno memorizzato nella cache dati in momenti diversi. La domanda importante è se i record autorevoli siano corretti e se le differenze rimanenti siano coerenti con il TTL precedente.

Infine, la propagazione del DNS non configura il servizio di destinazione. Un indirizzo IP corretto può comunque portare a un sito web non disponibile se il server, il firewall, il certificato TLS o l'applicazione non sono pronti.

Domande frequenti sulla propagazione DNS

Quanto tempo ci vuole per la propagazione del DNS?

Non esiste una durata garantita e univoca. Alcune modifiche si manifestano rapidamente, mentre altre rimangono incoerenti fino alla scadenza dei record nella cache. La TTL precedente, il comportamento del resolver e l'eventuale modifica dei nameserver influenzano tutti i tempi di propagazione.

Ridurre il TTL rende la modifica istantanea?

No. Abbassare un TTL influisce sulla memorizzazione nella cache futura dopo che i resolver recuperano il nuovo TTL. I resolver che hanno già memorizzato nella cache la vecchia record potrebbero continuare a utilizzarla fino alla scadenza del proprio TTL precedente.

Perché i controllori DNS mostrano risultati diversi?

Possono interrogare diversi resolver ricorsivi da diverse posizioni. Questi resolver possono avere risposte memorizzate nella cache differenti, aggiornarsi in momenti diversi o ricevere risposte diverse a causa di politiche DNS geografiche.

Dovrei svuotare la cache DNS del mio computer?

Può essere utile quando il tuo dispositivo ha memorizzato nella cache una vecchia risposta. Non cancella le cache mantenute dal tuo provider Internet, dal resolver aziendale o da un servizio DNS pubblico.

Perché il mio sito web viene risolto ma non riesce a caricarsi?

DNS potrebbe restituire l'indirizzo corretto, ma il server o l'applicazione di destinazione potrebbero presentare problemi. Verifica separatamente il server web, il firewall, il certificato TLS e la configurazione dell'hosting.

I cambiamenti dei nameserver possono richiedere più tempo rispetto ai cambiamenti dei record?

Possono includere informazioni di delega aggiuntive presso il registrar e la zona DNS padre. Il nuovo provider deve inoltre servire una zona completa e corretta. Verificare sia la delega che i record sui nuovi server autoritativi.

Le modifiche al DNS possono apparire in tempi diversi perché i server dei nomi autoritativi e i resolver ricorsivi hanno ruoli separati, e i resolver memorizzano nella cache le risposte in base ai valori TTL. Un utente potrebbe vedere un indirizzo vecchio mentre un altro riceve già quello nuovo.

Per indagare, verificare innanzitutto i server dei nomi autorevoli, quindi confrontare le risposte provenienti da diversi resolver ricorsivi. Confermare il tipo di record, l’hostname, il TTL e la delega dei nameserver. Se DNS restituisce l’indirizzo previsto ma il servizio rimane non disponibile, verificare il server di destinazione e l’applicazione come parti distinte del problema.

Comprendere il caching facilita la pianificazione e il troubleshooting delle modifiche DNS. Per ulteriori nozioni fondamentali di rete, continua con le nostre guide su Indirizzi IP, gateway predefiniti, e tracciamento percorso.