Qu'est-ce que la propagation DNS ?
La propagation DNS fait référence au temps qu'il faut pour que les changements apportés aux registres DNS soient reconnus sur tout Internet. Lorsque vous mettez à jour les registres DNS (changement de serveurs de noms, mise à jour des registres A, modification des registres MX), les changements ne prennent pas effet immédiatement. Ils doivent se propager à travers le système DNS hiérarchique à mesure que les caches expirent et se rafraîchissent.
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
Étape 1 : Mise à jour des registres DNS
example.com Registre A : 203.0.113.50 → 203.0.113.51
Étape 2 : Le serveur de noms faisant autorité sert immédiatement le nouveau registre
Étape 3 : Les copies mises en cache existantes restent valides jusqu'à l'expiration du TTL
Étape 4 : Les nouvelles requêtes après l'expiration du TTL reçoivent le registre mis à jour
Étape 5 : Tous les caches finissent par expirer et se rafraîchir
→ « Propagation complète »
Exemple de chronologie
Heure : 10:00 - DNS mise à jour (TTL: 300s / 5 minutes)
Résolveur A (mis en cache à 09:58) :
09:58 - IP ancienne mise en cache, expire 10:03
10:03 - Cache expire, interroge à nouveau, obtient la nouvelle IP
Résolveur B (mis en cache à 10:01) :
10:01 - IP ancienne mise en cache, expire 10:06
10:06 - Cache expire, interroge à nouveau, obtient la nouvelle IP
Résolveur C (interroge à 10:05) :
10:05 - Pas de cache, interroge immédiatement, obtient la nouvelle IP
Tous les résolveurs ont la nouvelle IP à : 10:06
Temps de propagation : 6 minutes (pire cas basé sur TTL)
Facteurs affectant le temps de propagation
TTL (Time To Live)
Le facteur le plus important :
| Valeur TTL | Temps de propagation | Cas d'utilisation |
|---|---|---|
| 60s | 1-2 minutes | Migrations actives, équilibrage de charge |
| 300s (5 min) | 5-10 minutes | Changements de production, défaut raisonnable |
| 3600s (1 heure) | 1-2 heures | Infrastructure stable |
| 86400s (24 heures) | 24-48 heures | Registres rarement changés |
Changements de serveurs de noms
Le changement de serveurs de noms prend plus de temps que les autres changements DNS :
Niveau registre : 24-48 heures (cache du serveur de noms de la TLD)
Niveau résolveur : Basé sur TTL du registre NS
Temps total : Jusqu'à 48 heures au pire cas
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- Respectent strictement TTL
- Propagation rapide
- Peuvent ignorer les TTL bas
- Cachent plus longtemps que spécifié
- Peuvent retarder la propagation de plusieurs heures
Distribution géographique
Différentes régions se mettent à jour à différents moments en fonction du cache du résolveur local :
Amérique du Nord : 10:05 - Mise à jour
Europe : 10:08 - Mise à jour
Asie : 10:12 - Mise à jour
Mise en cache côté client
Même après la mise à jour des serveurs DNS, les caches locaux peuvent conserver les anciennes valeurs :
- Cache navigateur : 60 secondes généralement
- Cache du système d'exploitation : Minutes à heures
- Cache de l'application : Varie selon l'application
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"
# Affiche la configuration DNS actuelle
Vérifications en ligne de commande
Vérifier plusieurs résolveurs :# DNS Google
dig @8.8.8.8 example.com
# DNS Cloudflare
dig @1.1.1.1 example.com
# Votre FAI (pas de serveur @ spécifié)
dig example.com
# Comparer les résultats
Interroger directement le serveur de noms faisant autorité :
# Trouver les serveurs de noms
dig example.com NS
# Interroger le NS faisant autorité directement
dig @ns1.example.com example.com
Ce qui montre la « vérité » immédiatement, sans cache impliqué.
Vérifier à partir de plusieurs emplacements
# Utiliser curl avec DNS via 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)Ancien : example.com. 3600 IN A 203.0.113.50
Nouveau : example.com. 300 IN A 203.0.113.50
^^^
Réduit à 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 DNSexample.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 propagationScénarios de propagation courants
Changement d'un registre A
Temps attendu : 5-30 minutes (basé sur TTL)# Avant
example.com → 203.0.113.50
# Après
example.com → 203.0.113.51
# Propagation : 1x durée TTL
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 heuresChangement de serveurs de noms
Temps attendu : 24-48 heuresPourquoi si long ?
- La registre TLD met en cache les registres NS
- Le TTL de la registre est souvent de 24-48 heures
- Aucun contrôle sur le cache de la registre
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égatifSi le sous-domaine a été interrogé et n'existait pas :
→ NXDOMAIN mis en cache (TTL minimum SOA)
→ Le nouveau sous-domaine ne se résoudra pas jusqu'à l'expiration du cache
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
# Devrait afficher la nouvelle valeur
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
# Rechercher le champ TTL minimum
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 clientsPropagation 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
| Concept | C'est quoi | Durée |
|---|---|---|
| TTL | Combien de temps un registre peut être mis en cache | Défini par le propriétaire du domaine |
| Propagation | Temps pour l'expiration de tous les caches | Environ 2x TTL |
| TTL du serveur de noms | Combien de temps les registres NS sont mis en cache | Souvent 24-48 heures (registre) |
| Cache négatif | Combien de temps NXDOMAIN est mis en cache | TTL 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
☐ Réduire le TTL 24-48 heures avant le changement
☐ Attendre l'expiration de l'ancien TTL
☐ Faire le changement DNS
☐ Vérifier sur les serveurs de noms faisant autorité
☐ Vérifier plusieurs résolveurs publics
☐ Tester à partir de plusieurs emplacements géographiques
☐ Surveiller pendant 2x la durée TTL
☐ Vérifier qu'aucune erreur n'est signalée
☐ Restaurer un TTL plus élevé si souhaité
☐ Documenter l'achèvement du changement
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.