Vai al contenuto
netscanner

Propagazione DNS: perché le modifiche richiedono tempo

Ha modificato un record DNS, ma alcune persone vedono ancora il vecchio sito. Non dipende da una distribuzione lenta, bensì dalle cache. Chi ne capisce il funzionamento può pianificare i cambiamenti quasi senza tempi di attesa.

Aggiornato il

Che cosa significa davvero «propagazione»

Il termine è fuorviante. Le modifiche DNS non vengono distribuite passo dopo passo in tutto il mondo. Non appena salva un record, i name server autoritativi del Suo provider DNS lo forniscono, di solito nel giro di pochi secondi o minuti su tutti i server.

Ciò che richiede tempo è la scadenza delle cache. I resolver ricorsivi (presso il Suo provider Internet, nella rete aziendale o pubblici come 1.1.1.1 e 8.8.8.8) memorizzano le risposte, così come il sistema operativo e il browser. Finché una voce in cache è valida, il name server non viene nemmeno interpellato. Sarebbe quindi più corretto parlare di «scadenza della cache» anziché di «propagazione».

TTL e cache dei resolver

Ogni record DNS ha un TTL (Time to Live) in secondi. Indica ai resolver per quanto tempo possono utilizzare la risposta.

Un esempio: il record A di www.example.ch ha un TTL di 86400 secondi (24 ore). Un resolver lo ha interrogato un minuto prima della Sua modifica. Continuerà a fornire il vecchio indirizzo IP per quasi 24 ore. Un altro resolver, che non ha mai interrogato quel nome, riceve subito il nuovo indirizzo. Per questo alcune persone vedono il nuovo sito e altre ancora quello vecchio.

Altri fattori:

  • Più livelli di cache: sistema operativo, browser e alcune applicazioni hanno cache proprie.
  • Resolver anycast: i resolver pubblici sono composti da molte sedi, ciascuna con la propria cache. Due interrogazioni a 1.1.1.1 possono fornire risposte diverse a seconda della sede.
  • Regole proprie: alcuni resolver limitano i TTL molto alti o impongono valori minimi. La regola di base però resta: il vecchio TTL è il tempo di attesa massimo.

Maggiori dettagli su TTL e tipi di record si trovano nella guida Record DNS spiegati.

Caching negativo: quando un nome non esiste ancora

I resolver memorizzano anche la risposta «questo nome non esiste» (NXDOMAIN). Diventa una trappola se testa un nuovo sottodominio come shop.example.ch prima di aver creato il record. Il resolver ricorda il risultato negativo e il sottodominio resta irraggiungibile per Lei, anche se esiste già da tempo.

La durata del caching negativo è indicata nel record SOA: determinante è il valore più basso tra il TTL del record SOA e il suo ultimo campo (Minimum).

example.ch.  3600  IN  SOA  ns1.example.com. hostmaster.example.ch. (
                 2026100201 7200 3600 1209600 3600 )

In questo caso sono 3600 secondi. Consiglio: crei i record prima di richiamarli e mantenga il valore Minimum moderato (300–3600 secondi).

Modificare un record o cambiare name server

Modifica di un record

Se modifica un record all’interno della stessa zona, conta solo il suo TTL precedente. Con una buona preparazione è questione di minuti.

Cambio di name server

Quando passa a un altro provider DNS cambia la delega. Il Suo registrar comunica i nuovi name server al registro dell’estensione (per .ch è SWITCH, per .com Verisign). Il registro pubblica i record NS nella zona superiore con un proprio TTL, che Lei non può influenzare. Per .com sono 172800 secondi, cioè due giorni, il che ha contribuito molto al mito delle 48 ore.

Inoltre, i resolver possono aver memorizzato i vecchi record NS della Sua zona precedente. Durante il periodo di transizione alcuni resolver interrogano quindi ancora i vecchi name server. Ne consegue che:

  • La vecchia zona va lasciata invariata e completa per alcuni giorni.
  • Vecchia e nuova zona vanno mantenute identiche nei contenuti finché il cambio non è concluso.
  • Se DNSSEC è attivo, rimuova il record DS prima del cambio oppure trasferisca le chiavi in modo ordinato. Altrimenti i resolver con convalida non riescono più a risolvere il dominio.

Quali name server sono registrati presso il registro lo mostra la ricerca WHOIS.

Come accelerare le modifiche DNS

  1. Abbassare il TTL per tempo: imposti il TTL dei record interessati a 300 secondi con 24–48 ore di anticipo. L’anticipo deve essere almeno pari al TTL precedente.
  2. Effettuare la modifica: inserisca i nuovi valori e salvi.
  3. Verificare: controlli direttamente presso il name server autoritativo e presso i resolver pubblici (vedi sotto).
  4. Aumentare di nuovo il TTL: se tutto funziona in modo stabile, riporti il TTL a 3600 secondi o più.

Svuota le cache locali così:

# Windows
ipconfig /flushdns

# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

# Linux con systemd-resolved
resolvectl flush-caches

In Chrome è utile anche chrome://net-internals/#dns. Cloudflare (1.1.1.1) e Google Public DNS offrono pagine web tramite cui far svuotare la cache per un singolo nome. Sulle cache degli altri provider Internet invece non ha alcuna influenza.

Come verificare lo stato attuale

Confronti due punti di vista:

# Che cosa è pubblicato? Direttamente presso il name server autoritativo
dig @ns1.example.com www.example.ch A

# Che cosa vede un resolver pubblico? Incluso il TTL residuo
dig @1.1.1.1 www.example.ch A

Se il server autoritativo fornisce il nuovo valore e il resolver ancora quello vecchio, la Sua modifica è corretta e manca solo la scadenza della cache. Il TTL residuo nella risposta indica quanto manca.

Senza riga di comando può usare la ricerca DNS di NetScanner: a ogni richiesta interroga in tempo reale il resolver 1.1.1.1 tramite DNS over HTTPS e mostra A, AAAA, CNAME, MX, NS, TXT, SOA e CAA. Così vede che cosa fornisce in quel momento il resolver di Cloudflare.

Miti sulla propagazione DNS

«Le modifiche DNS richiedono sempre 48 ore»

No. La durata dipende dal TTL. Con 300 secondi una modifica è visibile per la maggior parte degli utenti dopo pochi minuti. Le 48 ore risalgono a un’epoca di TTL standard elevati e al TTL di delega di .com.

«Se abbasso il TTL adesso, la modifica ha effetto subito»

No. Le risposte già memorizzate mantengono il loro vecchio TTL. L’abbassamento ha effetto solo dopo la loro scadenza.

«La propagazione si può forzare»

Solo in parte. Può svuotare le cache locali e quelle di singoli resolver pubblici, ma non le cache di tutti i provider Internet del mondo.

«Un propagation checker mostra lo stato mondiale»

Questi strumenti forniscono un’istantanea di alcuni resolver selezionati. È utile, ma ogni resolver e ogni sede anycast ha una propria cache. Per la pianificazione conta il TTL.

Se pianifica un cambio completo di provider, Le sarà utile la checklist per la migrazione di dominio e sito web.

Domande frequenti

Quanto dura una modifica DNS?

Al massimo quanto il TTL del vecchio record ancora memorizzato nei resolver. Con 300 secondi si tratta di pochi minuti, con 86400 secondi fino a un giorno.

Perché io vedo il nuovo sito e i miei colleghi no?

Ogni resolver e ogni dispositivo ha una propria cache. Chi ha interrogato il record poco prima della modifica riceve la vecchia risposta finché il suo TTL non è scaduto.

Serve abbassare il TTL solo al momento della modifica?

Quasi a nulla. I resolver che hanno memorizzato il record con il vecchio TTL lo conservano per il tempo corrispondente. Abbassi quindi il TTL con 24–48 ore di anticipo.

Che cosa significa caching negativo?

I resolver ricordano anche che un nome non esiste. Per quanto tempo lo stabilisce il valore Minimum nel record SOA della zona.