Propagazione DNS

Protocolli e Standard
Il periodo durante il quale i resolver DNS aggiornano le risposte memorizzate nella cache dopo una modifica a un record DNS.
← Torna al Glossario

Che cos'è la propagazione DNS?

La propagazione DNS è il periodo durante il quale una modifica pubblicata da un nameserver autorevole diventa visibile attraverso altri server autorevoli, resolver ricorsivi e cache locali. Il nameserver che pubblica la modifica può servire il nuovo record non appena l'ha pubblicato, mentre altri server autorevoli potrebbero essere ancora in fase di aggiornamento e i resolver ricorsivi potrebbero restituire una risposta meno recente memorizzata nella cache. I valori TTL guidano la durata della cache, ma il comportamento dei resolver può variare, quindi le risposte obsolete possono talvolta persistere oltre il TTL nominale.

Comprendere la «propagazione»

Il termine «propagazione» è in parte fuorviante: le modifiche DNS non si propagano né si diffondono attivamente. In realtà:

1. Aggiorni i record sul tuo nameserver autorevole

2. Le copie memorizzate nella cache scadono in base al TTL (Time To Live)

3. Le nuove query recuperano i record aggiornati dai server autorevoli

4. Le vecchie copie in cache continuano a essere utilizzate fino alla scadenza del TTL

È più preciso parlare di «scadenza della cache DNS» che di «propagazione», ma il termine propagazione è ormai ampiamente usato.

Come funzionano le modifiche DNS

Il processo di aggiornamento

Step 1: Update DNS records

example.com A record: 203.0.113.50 → 203.0.113.51

Step 2: Authoritative nameserver immediately serves new record

Step 3: Existing cached copies remain valid until TTL expires

Step 4: New queries after TTL expiration receive updated record

Step 5: All caches eventually expire and refresh

→ "Propagation complete"

Esempio di sequenza temporale

Time: 10:00 - DNS updated (TTL: 300s / 5 minutes)

Resolver A (cached at 09:58):

09:58 - Cached old IP, expires 10:03

10:03 - Cache expires, queries again, gets new IP

Resolver B (cached at 10:01):

10:01 - Cached old IP, expires 10:06

10:06 - Cache expires, queries again, gets new IP

Resolver C (queries at 10:05):

10:05 - No cache, queries immediately, gets new IP

All resolvers have new IP by: 10:06

Propagation time: 6 minutes (worst case based on TTL)

Fattori che influenzano il tempo di propagazione

TTL (durata di validità)

Il fattore più importante è il TTL:

Valore TTLTempo di propagazioneCaso d'uso
60s1-2 minutiMigrazioni attive, bilanciamento del carico
300s (5 min)5-10 minutiModifiche in produzione, valore predefinito ragionevole
3600s (1 ora)1-2 oreInfrastrutture stabili
86400s (24 ore)24-48 oreRecord modificati raramente

Modifiche ai nameserver

Cambiare i nameserver richiede più tempo rispetto alle altre modifiche DNS:

Registry Level: 24-48 hours (TLD nameserver cache)

Resolver Level: Based on NS record TTL

Total Time: Up to 48 hours worst case

Comportamento degli ISP e dei resolver

Non tutti i resolver DNS rispettano i valori TTL:

Resolver che rispettano le regole: Google (8.8.8.8), Cloudflare (1.1.1.1), OpenDNS Resolver problematici: alcuni ISP

Distribuzione geografica

Regioni diverse si aggiornano in momenti diversi, in base alla cache dei resolver locali:

North America: 10:05 - Updated

Europe: 10:08 - Updated

Asia: 10:12 - Updated

Memorizzazione nella cache lato client

Anche dopo l'aggiornamento dei server DNS, le cache locali possono conservare i vecchi valori:

Controllare la propagazione DNS

Strumenti online per controllare la propagazione

whatsmydns.net: mostra la risoluzione DNS da oltre 20 località in tutto il mondo. dnschecker.org: controlla globalmente i record A, AAAA, CNAME, MX e TXT. Controllo dello stato DomScan:
curl "https://domscan.net/v1/health?domain=example.com"

# Shows current DNS configuration

Controlli dalla riga di comando

Controllare più resolver:
# Google DNS

dig @8.8.8.8 example.com

# Cloudflare DNS

dig @1.1.1.1 example.com

# Your ISP (no @ server specified)

dig example.com

# Compare results

Interrogare direttamente il nameserver autorevole:
# Find nameservers

dig example.com NS

# Query authoritative NS directly

dig @ns1.example.com example.com

Questo mostra immediatamente la «verità» del server autorevole, senza coinvolgere alcuna cache.

Controllare da più località

# Using curl with DNS over HTTPS

curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=A'

Ridurre il tempo di propagazione

Prima di apportare modifiche

Passaggio 1: riduci il TTL (24-48 ore prima della modifica)
Old: example.com.    3600    IN    A    203.0.113.50

New: example.com. 300 IN A 203.0.113.50

^^^

Reduced to 5 minutes

Passaggio 2: attendi la scadenza del vecchio TTL

Attendi l'intera durata del vecchio TTL (3600s = 1 ora).

Passaggio 3: modifica il DNS
example.com.    300    IN    A    203.0.113.51
Passaggio 4: monitora la propagazione

Controlla i resolver a livello globale.

Passaggio 5: ripristina il TTL (dopo aver confermato che tutto funzioni)
example.com.    3600    IN    A    203.0.113.51

Durante le modifiche

Usa il DNS anycast: provider come Cloudflare utilizzano reti anycast che aggiornano i dati quasi istantaneamente nella propria rete globale. Monitora continuamente: segui la propagazione nelle regioni e nei resolver principali. Predisponi un piano di rollback: mantieni in funzione la vecchia infrastruttura finché la propagazione non è completa.

Scenari comuni di propagazione

Modifica del record A

Tempo previsto: 5-30 minuti, in base al TTL.
# Before

example.com → 203.0.113.50

# After

example.com → 203.0.113.51

# Propagation: 1x TTL duration

Modifica del record MX

Tempo previsto: 5-30 minuti, in base al TTL. Rischio: durante la propagazione, le email potrebbero essere consegnate al vecchio server. Mitigazione: mantieni attivo il vecchio server di posta per 24-48 ore.

Modifica dei nameserver

Tempo previsto: 24-48 ore.
Why so long?
  • TLD registry caches NS records
  • Registry TTL often 24-48 hours
  • No control over registry cache
Buona pratica: configura tutti i record sui nuovi nameserver prima di effettuare il passaggio.

Aggiunta di un nuovo sottodominio

Tempo previsto: da istantaneo a 1 ora. Attenzione: la cache negativa può ritardare la disponibilità.
If subdomain was queried and didn't exist:

→ NXDOMAIN cached (SOA minimum TTL)

→ New subdomain won't resolve until cache expires

Mitigazione: riduci il TTL minimo del SOA prima di aggiungere nuovi record.

Risoluzione dei problemi di propagazione

Una modifica non si propaga

Controllo 1: verifica il nameserver autorevole
dig @ns1.example.com example.com

# Should show new value

Controllo 2: verifica il TTL
dig example.com | grep -i ttl
Controllo 3: controlla il SOA per la cache negativa
dig example.com SOA

# Look at minimum TTL field

Controllo 4: svuota la cache locale

Cancella le cache del browser, del sistema operativo e delle applicazioni.

Propagazione parziale

Sintomo: alcuni utenti vedono i nuovi record, mentre altri vedono ancora quelli vecchi. Causa: resolver diversi hanno memorizzato i record in momenti diversi. Soluzione: attendi la durata massima del TTL, quindi svuota le cache dei client.

Propagazione bloccata

Sintomo: dopo diversi giorni alcuni resolver continuano a fornire i vecchi record. Causa: il resolver dell'ISP ignora il TTL oppure è configurato in modo errato. Soluzione:

1. Verifica che il nameserver autorevole sia corretto

2. Contatta l'ISP se il problema persiste

3. Invita gli utenti a passare a un DNS pubblico (8.8.8.8, 1.1.1.1)

Propagazione DNS e TTL della cache

ConcettoChe cos'èDurata
TTLPer quanto tempo un record può essere memorizzato nella cacheImpostato dal proprietario del dominio
PropagazioneTempo necessario alla scadenza di tutte le cacheCirca 2x TTL
TTL dei nameserverPer quanto tempo i record NS restano nella cacheSpesso 24-48 ore (registro)
Cache negativaPer quanto tempo NXDOMAIN resta nella cacheTTL minimo del SOA

Buone pratiche

1. Riduci il TTL prima delle modifiche: riduci il TTL 24-48 ore prima degli aggiornamenti DNS

2. Usa TTL appropriati: bilancia le prestazioni (TTL alto) con la flessibilità (TTL basso)

3. Monitora a livello globale: controlla il DNS da più regioni geografiche

4. Mantieni attivi i vecchi servizi: conserva i server precedenti fino al completamento della propagazione

5. Documenta le modifiche: annota cosa è cambiato e quando per facilitare la risoluzione dei problemi

6. Esegui test completi: verifica che i nuovi record DNS funzionino prima del passaggio

7. Informa gli utenti: avvisa di eventuali brevi interruzioni

8. Usa DNS gestito: i provider con reti anycast riducono il tempo di propagazione

9. Automatizza il monitoraggio: configura avvisi per le modifiche DNS e lo stato della propagazione

10. Predisponi un piano di rollback: definisci come annullare le modifiche in caso di problemi

Checklist della propagazione

☐ Lower TTL 24-48 hours before change

☐ Wait for old TTL to expire

☐ Make DNS change

☐ Verify on authoritative nameservers

☐ Check multiple public resolvers

☐ Test from multiple geographic locations

☐ Monitor for 2x TTL duration

☐ Verify no errors reported

☐ Restore higher TTL if desired

☐ Document change completion

La propagazione DNS è una conseguenza naturale della memorizzazione nella cache. Comprendere il comportamento del TTL e pianificare di conseguenza le modifiche consente aggiornamenti fluidi e prevedibili, con interruzioni minime.

Metti in Pratica Questa Conoscenza

Usa l'API di DomScan per verificare disponibilità, salute del dominio e altro.