Aller au contenu
netscanner

Propagation DNS : pourquoi les modifications prennent du temps

Vous avez modifié un enregistrement DNS, mais certaines personnes voient encore l’ancien site. Ce n’est pas dû à une diffusion lente, mais aux caches. En comprenant leur fonctionnement, vous pouvez planifier vos bascules presque sans temps d’attente.

Mis à jour le

Ce que signifie réellement « propagation »

Le terme est trompeur. Les modifications DNS ne sont pas diffusées de proche en proche dans le monde entier. Dès que vous enregistrez une entrée, les serveurs de noms faisant autorité de votre fournisseur DNS la servent, généralement en quelques secondes à quelques minutes sur tous les serveurs.

Ce qui prend du temps, c’est l’expiration des caches. Les résolveurs récursifs (chez votre fournisseur d’accès, dans le réseau de l’entreprise ou publics comme 1.1.1.1 et 8.8.8.8) conservent les réponses en cache, tout comme le système d’exploitation et le navigateur. Tant qu’une entrée de cache est valable, le serveur de noms n’est même pas interrogé. Il serait donc plus juste de parler d’« expiration du cache » que de « propagation ».

TTL et caches des résolveurs

Chaque enregistrement DNS possède un TTL (Time to Live) en secondes. Il indique aux résolveurs combien de temps ils peuvent utiliser la réponse.

Un exemple : l’enregistrement A de www.example.ch a un TTL de 86400 secondes (24 heures). Un résolveur l’a interrogé une minute avant votre modification. Il continue à fournir l’ancienne adresse IP pendant près de 24 heures. Un autre résolveur, qui n’a jamais interrogé ce nom, obtient immédiatement la nouvelle adresse. C’est pourquoi certaines personnes voient le nouveau site et d’autres encore l’ancien.

Autres facteurs :

  • Plusieurs niveaux de cache : le système d’exploitation, le navigateur et certaines applications ont leurs propres caches.
  • Résolveurs anycast : les résolveurs publics se composent de nombreux sites, chacun avec son propre cache. Deux requêtes vers 1.1.1.1 peuvent donner des réponses différentes selon le site.
  • Règles propres : certains résolveurs plafonnent les TTL très élevés ou imposent des valeurs minimales. La règle de base reste toutefois valable : l’ancien TTL correspond au temps d’attente maximal.

Pour en savoir plus sur le TTL et les types d’enregistrements, consultez le guide Les enregistrements DNS expliqués.

Cache négatif : quand un nom n’existe pas encore

Les résolveurs stockent aussi la réponse « ce nom n’existe pas » (NXDOMAIN). Cela devient un piège lorsque vous testez un nouveau sous-domaine comme shop.example.ch avant que l’enregistrement ne soit créé. Le résolveur retient le résultat négatif, et le sous-domaine reste inaccessible pour vous alors qu’il existe depuis longtemps.

La durée du cache négatif figure dans l’enregistrement SOA : c’est la plus petite des deux valeurs entre le TTL de l’enregistrement SOA et son dernier champ (Minimum) qui fait foi.

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

Ici, il s’agit de 3600 secondes. Conseil : créez les enregistrements avant de les appeler et maintenez la valeur Minimum à un niveau modéré (300 à 3600 secondes).

Modifier un enregistrement ou changer de serveurs de noms

Modification d’un enregistrement

Si vous modifiez un enregistrement au sein de la même zone, seul compte son TTL précédent. Avec une bonne préparation, c’est une affaire de minutes.

Changement de serveurs de noms

Lors du passage à un autre fournisseur DNS, la délégation change. Votre registrar communique les nouveaux serveurs de noms au registre de l’extension (pour .ch, il s’agit de SWITCH, pour .com de Verisign). Le registre publie les enregistrements NS dans la zone parente avec son propre TTL, que vous ne pouvez pas influencer. Pour .com, il est de 172800 secondes, soit deux jours, ce qui a largement contribué au mythe des 48 heures.

En outre, des résolveurs peuvent avoir stocké les anciens enregistrements NS de votre zone précédente. Pendant la période de transition, certains résolveurs interrogent donc encore les anciens serveurs de noms. Il en découle ceci :

  • Laissez l’ancienne zone en place, complète et inchangée, pendant quelques jours.
  • Gardez un contenu identique dans l’ancienne et la nouvelle zone jusqu’à la fin du changement.
  • Si DNSSEC est actif, supprimez l’enregistrement DS avant le changement ou transférez les clés de manière ordonnée. Sinon, les résolveurs validants ne peuvent plus du tout résoudre le domaine.

La recherche WHOIS indique quels serveurs de noms sont enregistrés auprès du registre.

Comment accélérer les modifications DNS

  1. Abaisser le TTL tôt : réglez le TTL des enregistrements concernés sur 300 secondes, 24 à 48 heures à l’avance. Ce délai doit être au moins aussi long que le TTL actuel.
  2. Effectuer la modification : saisissez les nouvelles valeurs et enregistrez.
  3. Vérifier : contrôlez directement auprès du serveur de noms faisant autorité et auprès de résolveurs publics (voir ci-dessous).
  4. Relever le TTL : si tout fonctionne de manière stable, remettez le TTL à 3600 secondes ou plus.

Voici comment vider vos propres caches :

# Windows
ipconfig /flushdns

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

# Linux avec systemd-resolved
resolvectl flush-caches

Dans Chrome, chrome://net-internals/#dns est également utile. Cloudflare (1.1.1.1) et Google Public DNS proposent des pages web permettant de faire vider leur cache pour un nom précis. En revanche, vous n’avez aucune influence sur les caches des autres fournisseurs d’accès.

Comment vérifier l’état actuel

Comparez deux points de vue :

# Qu’est-ce qui est publié ? Directement auprès du serveur de noms faisant autorité
dig @ns1.example.com www.example.ch A

# Que voit un résolveur public ? Avec le TTL restant
dig @1.1.1.1 www.example.ch A

Si le serveur faisant autorité renvoie la nouvelle valeur mais que le résolveur fournit encore l’ancienne, votre modification est correcte et il ne manque que l’expiration du cache. Le TTL restant dans la réponse indique combien de temps il faudra encore attendre.

Sans ligne de commande, utilisez la recherche DNS de NetScanner : à chaque appel, elle interroge en direct le résolveur 1.1.1.1 via DNS over HTTPS et affiche A, AAAA, CNAME, MX, NS, TXT, SOA et CAA. Vous voyez ainsi ce que le résolveur de Cloudflare fournit à cet instant.

Les mythes de la propagation DNS

« Les modifications DNS prennent toujours 48 heures »

Non. La durée dépend du TTL. Avec 300 secondes, une modification est visible pour la plupart des utilisateurs après quelques minutes. Les 48 heures datent d’une époque où les TTL par défaut étaient élevés, et s’expliquent aussi par le TTL de délégation de .com.

« Si j’abaisse le TTL maintenant, la modification prend effet immédiatement »

Non. Les réponses déjà stockées conservent leur ancien TTL. L’abaissement ne prend effet qu’après leur expiration.

« On peut forcer la propagation »

En partie seulement. Vous pouvez vider vos propres caches et ceux de certains résolveurs publics, mais pas les caches de tous les fournisseurs d’accès du monde.

« Un outil de vérification de propagation montre l’état mondial »

Ces outils fournissent un instantané de résolveurs sélectionnés. C’est utile, mais chaque résolveur et chaque site anycast possède son propre cache. Pour la planification, c’est le TTL qui compte.

Si vous planifiez un changement complet de fournisseur, la checklist de migration de domaine et de site web vous accompagne.

Questions fréquentes

Combien de temps dure une modification DNS ?

Au maximum la durée du TTL de l’ancien enregistrement encore stocké dans les résolveurs. Avec 300 secondes, il s’agit de quelques minutes ; avec 86400 secondes, d’une journée au plus.

Pourquoi est-ce que je vois le nouveau site, mais pas mes collègues ?

Chaque résolveur et chaque appareil possède son propre cache. Quiconque a interrogé l’enregistrement juste avant la modification reçoit l’ancienne réponse jusqu’à l’expiration de son TTL.

Est-il utile d’abaisser le TTL au moment de la modification ?

Guère. Les résolveurs qui ont stocké l’enregistrement avec l’ancien TTL le conservent pendant toute cette durée. Abaissez donc le TTL 24 à 48 heures à l’avance.

Que signifie le cache négatif ?

Les résolveurs retiennent aussi qu’un nom n’existe pas. La durée est déterminée par la valeur Minimum de l’enregistrement SOA de la zone.