Propagation DNS

Protocoles et Normes
La période pendant laquelle les résolveurs DNS mettent à jour les réponses mises en cache après une modification d'un enregistrement DNS.
← Retour au Glossaire

Qu'est-ce que la propagation DNS ?

La propagation DNS est la période pendant laquelle une modification publiée par un serveur de noms faisant autorité devient visible via d'autres serveurs faisant autorité, des résolveurs récursifs et des caches locaux. Le serveur de noms qui publie la modification peut servir le nouvel enregistrement dès qu'il a publié la modification, tandis que d'autres serveurs faisant autorité peuvent encore être en cours de mise à jour et que les résolveurs récursifs peuvent renvoyer une réponse mise en cache plus ancienne. Les valeurs TTL indiquent la durée de conservation dans le cache, mais le comportement des résolveurs peut varier, de sorte que des réponses obsolètes peuvent parfois persister au-delà du TTL nominal.

Comprendre la « propagation »

Le terme « propagation » est quelque peu trompeur. Les changements DNS ne « se propagent » pas activement ou se propagent. Au lieu de cela :

1. Vous mettez à jour les registres sur le serveur de noms faisant autorité

2. Les copies mises en cache expirent en fonction du TTL (Time To Live)

3. Les nouvelles requêtes récupèrent les registres mis à jour des serveurs faisant autorité

4. Les anciennes copies mises en cache continuent à servir jusqu'à l'expiration du TTL

Il est plus exact de dire « expiration du cache DNS » que « propagation », mais le terme propagation est largement utilisé.

Comment fonctionnent les changements DNS

Le processus de mise à jour

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"

Exemple de chronologie

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)

Facteurs affectant le temps de propagation

TTL (durée de vie)

Le facteur le plus important :

Valeur TTLTemps de propagationCas d'utilisation
60s1-2 minutesMigrations actives, équilibrage de charge
300s (5 min)5-10 minutesChangements de production, défaut raisonnable
3600s (1 heure)1-2 heuresInfrastructure stable
86400s (24 heures)24-48 heuresRegistres rarement changés

Changements de serveurs de noms

Le changement de serveurs de noms prend plus de temps que les autres changements DNS :

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

Resolver Level: Based on NS record TTL

Total Time: Up to 48 hours worst case

Comportement du résolveur et FAI

Tous les résolveurs DNS ne respectent pas les valeurs TTL :

Résolveurs bien comportés : Google (8.8.8.8), Cloudflare (1.1.1.1), OpenDNS Résolveurs problématiques : Certains FAI

Distribution géographique

Différentes régions se mettent à jour à différents moments en fonction du cache du résolveur local :

North America: 10:05 - Updated

Europe: 10:08 - Updated

Asia: 10:12 - Updated

Mise en cache côté client

Même après la mise à jour des serveurs DNS, les caches locaux peuvent conserver les anciennes valeurs :

Vérification de la propagation DNS

Vérificateurs de propagation en ligne

whatsmydns.net : Affiche la résolution DNS à partir de 20+ emplacements dans le monde dnschecker.org : Vérifie les registres A, AAAA, CNAME, MX, TXT globalement Vérification d'intégrité DomScan :
curl "https://domscan.net/v1/health?domain=example.com"

# Shows current DNS configuration

Vérifications en ligne de commande

Vérifier plusieurs résolveurs :
# 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

Interroger directement le serveur de noms faisant autorité :
# Find nameservers

dig example.com NS

# Query authoritative NS directly

dig @ns1.example.com example.com

Ce qui montre la « vérité » immédiatement, sans cache impliqué.

Vérifier à partir de plusieurs emplacements

# Using curl with DNS over HTTPS

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

Minimisation du temps de propagation

Avant de faire des changements

Étape 1 : Réduire le TTL (24-48 heures avant le changement)
Old: example.com.    3600    IN    A    203.0.113.50

New: example.com. 300 IN A 203.0.113.50

^^^

Reduced to 5 minutes

Étape 2 : Attendre l'expiration du TTL ancien

Attendre la durée complète de l'ancien TTL (3600s = 1 heure)

Étape 3 : Faire le changement DNS
example.com.    300    IN    A    203.0.113.51
Étape 4 : Surveiller la propagation

Vérifier les résolveurs globalement

Étape 5 : Restaurer le TTL (après confirmation du succès)
example.com.    3600    IN    A    203.0.113.51

Pendant les changements

Utiliser anycast DNS : Les fournisseurs comme Cloudflare utilisent des réseaux anycast qui se mettent à jour quasi instantanément sur tout leur réseau global Surveiller en continu : Suivre la propagation sur les régions clés et les résolveurs Avoir un plan d'annulation : Maintenir l'ancienne infrastructure en fonctionnement jusqu'à la fin de la propagation

Scénarios de propagation courants

Changement d'un registre A

Temps attendu : 5-30 minutes (basé sur TTL)
# Before

example.com → 203.0.113.50

# After

example.com → 203.0.113.51

# Propagation: 1x TTL duration

Changement d'un registre MX

Temps attendu : 5-30 minutes (basé sur TTL) Risque : L'e-mail peut être livré à l'ancien serveur pendant la propagation Atténuation : Maintenir l'ancien serveur de messagerie actif pendant 24-48 heures

Changement de serveurs de noms

Temps attendu : 24-48 heures
Why so long?
  • TLD registry caches NS records
  • Registry TTL often 24-48 hours
  • No control over registry cache
Meilleure pratique : Configurer tous les registres sur les nouveaux serveurs de noms avant de changer

Ajout d'un nouveau sous-domaine

Temps attendu : Instant à 1 heure Piège : Mise en cache négatif
If subdomain was queried and didn't exist:

→ NXDOMAIN cached (SOA minimum TTL)

→ New subdomain won't resolve until cache expires

Atténuation : Réduire SOA minimum TTL avant d'ajouter de nouveaux registres

Dépannage des problèmes de propagation

Le changement ne se propage pas

Vérification 1 : Vérifier le serveur de noms faisant autorité
dig @ns1.example.com example.com

# Should show new value

Vérification 2 : Vérifier le TTL
dig example.com | grep -i ttl
Vérification 3 : Vérifier SOA pour le cache négatif
dig example.com SOA

# Look at minimum TTL field

Vérification 4 : Vider le cache local

Effacer navigateur, système d'exploitation et caches d'application

Propagation partielle

Symptôme : Certains utilisateurs voient les nouveaux registres, d'autres voient l'ancien Cause : Les résolveurs différents ont mis en cache à différents moments Solution : Attendre la durée TTL maximale, puis vider les caches clients

Propagation bloquée

Symptôme : Des jours plus tard, certains résolveurs servent toujours les anciens registres Cause : Le résolveur FAI ignore TTL ou est mal configuré Solution :

1. Vérifier que le serveur de noms faisant autorité est correct

2. Contacter le FAI s'il persiste

3. Les utilisateurs peuvent passer à DNS public (8.8.8.8, 1.1.1.1)

Propagation DNS vs TTL du cache

ConceptC'est quoiDurée
TTLCombien de temps un registre peut être mis en cacheDéfini par le propriétaire du domaine
PropagationTemps pour l'expiration de tous les cachesEnviron 2x TTL
TTL du serveur de nomsCombien de temps les registres NS sont mis en cacheSouvent 24-48 heures (registre)
Cache négatifCombien de temps NXDOMAIN est mis en cacheTTL minimum SOA

Meilleures pratiques

1. Réduire le TTL avant les changements : Réduire le TTL 24-48 heures avant les mises à jour DNS

2. Utiliser les TTL appropriés : Équilibrer les performances (TTL élevé) vs flexibilité (TTL bas)

3. Surveiller globalement : Vérifier DNS à partir de plusieurs régions géographiques

4. Maintenir les anciens services : Maintenir les serveurs précédents jusqu'à la fin de la propagation

5. Documenter les changements : Suivre les changements et quand pour le dépannage

6. Tester complètement : Vérifier que les nouveaux registres DNS fonctionnent avant de changer

7. Communiquer avec les utilisateurs : Avertir des brèves interruptions possibles

8. Utiliser DNS géré : Les fournisseurs avec réseaux anycast minimisent le temps de propagation

9. Automatiser la surveillance : Configurer les alertes pour les changements DNS et l'état de propagation

10. Avoir un plan d'annulation : Savoir comment annuler les changements en cas de problème

Liste de vérification de propagation

☐ 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 propagation DNS est une conséquence naturelle de la mise en cache DNS. Comprendre le comportement TTL et planifier les changements en conséquence garantit des mises à jour fluides et prévisibles avec une interruption minimale.

Mettez Vos Connaissances en Pratique

Utilisez l'API de DomScan pour vérifier la disponibilité des domaines, la santé et bien d'autres choses.