Vérifier la propagation DNS

Vous avez modifié un enregistrement A, changé de serveurs de noms ou mis à jour vos MX ? Interrogez en même temps dix résolveurs publics indépendants sur le même enregistrement et voyez lesquels renvoient déjà la nouvelle valeur.

Ce qu'est réellement la propagation DNS

Rien n'est poussé à travers Internet quand vous modifiez un enregistrement DNS. Vos serveurs de noms faisant autorité servent la nouvelle valeur immédiatement. Ce qui prend du temps, c'est que les résolveurs récursifs, ceux que vos visiteurs interrogent réellement, gardent l'ancienne réponse jusqu'à la fin de son TTL. Chaque résolveur l'a mise en cache à un moment différent ; chacun bascule donc à un moment différent.

Voilà pourquoi deux personnes peuvent voir deux versions différentes de votre site pendant un temps, et pourquoi un changement avec un TTL de 300 secondes se stabilise en quelques minutes alors qu'un TTL de 86400 secondes peut demander une journée.

Comment fonctionne cette vérification

OrbitProbe envoie la même question à dix résolveurs publics indépendants : Cloudflare, Google, Quad9, OpenDNS, AdGuard, Yandex, Hurricane Electric, Verisign, Lumen et CleanBrowsing. Les réponses sont normalisées, de sorte que l'ordre des enregistrements et la casse ne comptent pas comme une différence, puis regroupées. Vous voyez combien de résolveurs ont renvoyé chaque réponse distincte, et lesquels n'ont renvoyé aucun enregistrement, ont indiqué que le nom n'existe pas ou n'ont pas pu être joints.

Un résolveur en échec est affiché comme en échec. Il n'est jamais compté comme concordant, et le résultat n'est dit cohérent que lorsque tous les résolveurs ont répondu et que toutes les réponses sont identiques.

Ce que le résultat dit, et ce qu'il ne dit pas

Le résultat décrit ces dix résolveurs, vus depuis notre serveur, à l'heure indiquée. C'est un bon signal précoce, car ces résolveurs servent une part importante des utilisateurs réels. Ce n'est pas une mesure de tout Internet, et aucun outil ne peut vous en fournir une : il existe des millions de résolveurs, dont celui de chaque fournisseur d'accès et de chaque bureau.

La plupart de ces résolveurs sont des réseaux anycast. Le nœud qui nous a répondu n'est pas forcément celui qui répondra à un visiteur sur un autre continent, et les deux peuvent garder en cache des valeurs différentes pendant un court moment.

Si les réponses divergent

Une divergence peu après un changement est normale. Regardez le TTL de l'ancien enregistrement : c'est la durée maximale pendant laquelle un résolveur bien élevé le conservera. Si les réponses diffèrent encore longtemps après l'ancien TTL, interrogez directement vos serveurs de noms faisant autorité. Quand deux de vos propres serveurs de noms renvoient des valeurs différentes, la zone n'a pas été mise à jour partout : c'est une anomalie à corriger, pas quelque chose à attendre.

Pour un changement de serveurs de noms, gardez l'ancienne zone active et identique jusqu'à ce que le TTL de la délégation au registre, souvent 48 heures, soit écoulé.

Comment utiliser cet outil

  1. Saisissez le nom d'hôte. Saisissez le nom exact que vous avez modifié, comme example.com ou www.example.com.
  2. Choisissez le type d'enregistrement. Choisissez A, AAAA, CNAME, MX, NS ou TXT et lancez la vérification.
  3. Comparez les résolveurs. Chaque résolveur public est listé avec sa réponse. Le résultat est un décompte tel que « 9 résolveurs sur 12 », jamais un pourcentage d'Internet.

Équivalent en ligne de commande

La même vérification depuis un terminal. Les commandes utilisent example.com : remplacez-le par votre propre nom.

  • Interroger plusieurs résolveurs publicsfor r in 1.1.1.1 8.8.8.8 9.9.9.9 208.67.222.222; do echo "$r: $(dig @$r example.com A +short | tr "\n" " ")"; done
  • Interroger directement les serveurs faisant autoritédig +nssearch example.com
  • Windowsnslookup example.com 8.8.8.8

Questions fréquentes

Combien de temps dure la propagation DNS ?

Aussi longtemps que le TTL de l'enregistrement remplacé, compté à partir du moment où chaque résolveur l'a mis en cache pour la dernière fois. Avec un TTL de 300 secondes, la plupart des résolveurs basculent en cinq minutes. Les changements de serveurs de noms dépendent du TTL de la délégation au registre, couramment de 48 heures.

Peut-on accélérer la propagation DNS ?

Pas après le changement. Vous pouvez vous y préparer : abaissez le TTL de l'enregistrement environ un jour avant de le modifier, faites le changement, puis remontez le TTL une fois que tout est stabilisé. Certains résolveurs publics proposent aussi une page de purge du cache pour un nom donné.

Pourquoi certains résolveurs affichent-ils encore l'ancienne adresse IP ?

Ils ont mis l'ancienne réponse en cache avant votre changement et son TTL n'a pas encore expiré. C'est le comportement attendu, pas une erreur. Si cela dure bien au-delà de l'ancien TTL, vérifiez que tous vos serveurs de noms faisant autorité servent la nouvelle valeur.

10 sur 10 signifie-t-il que le changement est en place partout ?

Cela signifie que les dix résolveurs que nous avons interrogés ont renvoyé la même réponse à cet instant. C'est un signe fort, mais ce n'est pas une preuve pour tous les réseaux. Le résolveur d'un fournisseur d'accès, quelque part, peut encore garder l'ancienne valeur jusqu'à l'expiration de son cache.

Que signifient « aucun enregistrement » et « le nom n'existe pas » ?

« Aucun enregistrement » signifie que le nom existe mais n'a rien du type demandé, par exemple pas d'enregistrement AAAA. « Le nom n'existe pas » (NXDOMAIN) signifie que le résolveur n'a trouvé aucun nom de ce genre. Les réponses négatives sont mises en cache elles aussi : un nom tout juste créé peut donc apparaître comme absent pendant un moment.

Quels types d'enregistrements puis-je vérifier ?

A, AAAA, NS, MX, TXT et CNAME. Choisissez le type que vous avez modifié. Pour un déménagement de site web, c'est généralement A ou CNAME sur le nom www ; pour un changement de messagerie, MX ; pour un changement de fournisseur DNS, NS.