Aller au contenu principal

Pourquoi les changements DNS prennent du temps

Après la modification d’un enregistrement DNS, certaines personnes voient le changement immédiatement, d’autres voient encore l’ancienne réponse pendant un moment. Ce délai s’appelle généralement la propagation. Rien n’est diffusé à travers internet : les autres réseaux réutilisent simplement une copie de l’ancienne réponse jusqu’à son expiration.

Comment fonctionne le cache DNS​

Lorsque quelqu’un visite example.com, son appareil interroge un résolveur, généralement géré par son fournisseur d’accès à internet, son entreprise ou un service DNS public. Le résolveur obtient la réponse auprès des serveurs de noms de votre domaine et en garde une copie aussi longtemps que le TTL (durée de vie) de l’enregistrement le permet.

Tant que cette copie n’a pas expiré, le résolveur répond de mémoire et ne réinterroge pas vos serveurs de noms. Ainsi, si un enregistrement avait un TTL de 86400 (24 heures), un résolveur qui l’a consulté juste avant votre changement peut renvoyer l’ancienne valeur pendant un jour au maximum.

Schéma : un visiteur interroge un résolveur, qui répond à partir de son cache et ne réinterroge vos serveurs de noms qu’à l’expiration de sa copie. Une frise chronologique montre que le résolveur renvoie encore l’ancienne réponse 203.0.113.10 après la modification de l’enregistrement, jusqu’à la fin du TTL, puis la nouvelle réponse 198.51.100.20.

Les navigateurs et les systèmes d’exploitation conservent aussi leurs propres copies de courte durée. C’est pourquoi un appareil peut afficher le changement avant un autre sur le même réseau.

Pourquoi un changement de serveurs de noms est plus long​

Lorsque vous changez de serveurs de noms, la nouvelle liste est transmise au registre de l’extension de votre domaine. Les résolveurs qui connaissent déjà vos anciens serveurs de noms continuent de les utiliser jusqu’à ce que cette information expire elle aussi. Or ces enregistrements de délégation ont souvent de longs TTL fixés par le registre, couramment un ou deux jours. Vous ne pouvez pas raccourcir cette attente, et c’est pourquoi on annonce souvent jusqu’à 48 heures pour un changement de serveurs de noms.

Planifier un changement pour qu’il soit rapide​

Le TTL qui compte est celui de l’enregistrement avant votre changement. Pour qu’un changement planifié soit rapide :

  1. Un jour ou plus à l’avance (au moins la durée du TTL actuel), abaissez à 300 secondes (5 minutes) le TTL des enregistrements que vous allez modifier.

  2. Attendez que l’ancien TTL soit écoulé, pour que toutes les copies en cache aient désormais le TTL court.

  3. Faites le changement. La plupart des visiteurs le voient alors en quelques minutes.

  4. Vérifiez la nouvelle valeur directement sur vos serveurs de noms, pour ne pas être trompé par les caches :

    dig +short example.com A @ns1.example.net

    Remplacez ns1.example.net par l’un de vos propres serveurs de noms. Sous Windows, utilisez nslookup example.com ns1.example.net.

  5. Remontez le TTL, par exemple à 3600 secondes, une fois que tout fonctionne.

Les nouveaux enregistrements peuvent aussi être retardés​

Si quelqu’un a consulté un nom avant que vous le créiez, son résolveur peut se souvenir qu’il n’existait pas. La durée de conservation de cette réponse « nom inexistant » est fixée dans l’enregistrement SOA de votre zone, souvent entre quelques minutes et quelques heures. Pour éviter cela, créez les nouveaux enregistrements avant de les annoncer ou de les tester.

Vider le cache de votre propre appareil​

Si le changement fonctionne ailleurs mais pas sur votre ordinateur, videz le cache DNS de votre appareil :

  • Windows : ouvrez l’invite de commandes en tant qu’administrateur et exécutez ipconfig /flushdns.
  • macOS : dans le Terminal, exécutez sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder.
  • Linux avec systemd-resolved : exécutez resolvectl flush-caches.

Fermez ensuite votre navigateur et rouvrez-le, ou essayez une fenêtre de navigation privée. Vous ne pouvez pas vider le cache des autres réseaux : pour ceux-là, la seule solution est d’attendre la fin du TTL.

Cet article vous a-t-il aidé ?