web-dev-qa-db-fra.com

Combien de temps faut-il pour que les enregistrements DNS se propagent?

Ceci est une question canonique sur la propagation DNS

Combien de temps faut-il pour que les différents types d'enregistrements se propagent?
Certains se propagent-ils plus rapidement que d'autres?
Pourquoi la propagation des enregistrements DNS prend-elle du temps et comment fonctionne-t-elle?

69
user38535

La "propagation DNS" n'est pas un véritable phénomène en soi. Il s'agit plutôt de l'effet manifeste de la fonctionnalité de mise en cache spécifiée dans le protocole DNS. Dire que les changements "se propagent" entre les serveurs DNS est un mensonge commode qui est, sans doute, plus facile à expliquer aux utilisateurs non techniques que de décrire tous les détails du protocole DNS. Ce n'est pas vraiment comment le protocole fonctionne, cependant.

Les serveurs DNS récursifs effectuent des requêtes au nom des clients. Les serveurs DNS récursifs, généralement gérés par des FAI ou des services informatiques, sont utilisés par les ordinateurs clients pour résoudre les noms des ressources Internet. Les serveurs DNS récursifs mettent en cache les résultats des requêtes qu'ils effectuent pour améliorer l'efficacité. Il est possible de répondre aux requêtes d'informations déjà mises en cache sans effectuer de requêtes supplémentaires. La durée, en secondes, pendant laquelle un résultat est mis en cache est supposée pour être basée sur une valeur configurable appelée Time To Live (TTL). Cette valeur est spécifiée par le serveur DNS faisant autorité pour l'enregistrement interrogé.

Il n'y a pas de réponse unique à toutes les questions posées car DNS est un protocole distribué. Le comportement de DNS dépend de la configuration du serveur DNS faisant autorité pour un enregistrement donné, de la configuration des serveurs DNS récursifs effectuant des requêtes au nom des ordinateurs clients et de la fonctionnalité de mise en cache DNS intégrée aux systèmes d'exploitation des ordinateurs clients.

Il est recommandé de spécifier une valeur TTL suffisamment courte pour permettre les modifications quotidiennes nécessaires des enregistrements DNS, mais suffisamment longue pour créer un "gain" dans la mise en cache (c.-à-d. Pas assez court pour vieillir) hors du cache trop rapidement pour fournir une amélioration de l'efficacité). L'utilisation d'une stratégie équilibrée avec des valeurs TTL se traduit par une "victoire" pour tout le monde. Il réduit à la fois la charge et l'utilisation de la bande passante pour les serveurs DNS faisant autorité pour un domaine donné, les serveurs racine et les serveurs TLD. Il réduit l'utilisation de la bande passante en amont pour l'opérateur du serveur DNS récursif. Il en résulte des réponses aux requêtes plus rapides pour les ordinateurs clients.

Comme TTL d'un enregistrement DNS est défini, l'utilisation de la charge et de la bande passante sur les serveurs DNS faisant autorité augmentera car les serveurs DNS récursifs ne pourront pas mettre en cache le résultat pendant une longue durée. Dans la mesure où le TTL d'un enregistrement est plus élevé, les modifications apportées aux enregistrements ne semblent pas "prendre effet" rapidement car les ordinateurs clients continueront de recevoir les résultats mis en cache stockés sur leurs serveurs DNS récursifs. La définition du TTL optimal se résume à un équilibre entre l'utilisation et la capacité de modifier rapidement les enregistrements et de voir ces changements se refléter sur les clients.

Il convient de noter que certains FAI sont abusifs et ignorent les valeurs TTL spécifiées par les serveurs DNS faisant autorité (en remplaçant leur propre substitution administrative, ce qui constitue une violation de la RFC). Il n'y a rien à faire à ce sujet, d'un point de vue technique. Si les opérateurs de serveurs DNS abusifs peuvent être localisés, les plaintes adressées à leurs administrateurs système peuvent entraîner la mise en œuvre de meilleures pratiques (ce qui est sans doute du bon sens pour tout ingénieur réseau familiarisé avec le DNS). Ce type particulier d'abus n'est pas un problème technique.

Si tout le monde "respecte les règles" change les enregistrements DNS peut "prendre effet" très rapidement. Dans le cas de la modification de l'adresse IP affectée à un enregistrement "A", par exemple, une interruption exponentielle de la valeur TTL serait effectuée, menant au moment où la modification sera effectuée. Le TTL peut commencer à 1 jour, par exemple, et être réduit à 12 heures pour une période de 24 heures, puis 6 heures pour une période de 12 heures, 3 heures pour une période de 6 heures, etc., jusqu'à un intervalle convenablement petit. Une fois que le TTL a été sauvegardé, l'enregistrement peut être modifié et le TTL ramené à la valeur souhaitée pour les opérations quotidiennes. (Il n'est pas nécessaire d'utiliser une interruption exponentielle, mais cette stratégie minimise le temps que l'enregistrement aura un faible TTL et diminue la charge sur le serveur DNS faisant autorité.)

Après avoir effectué un enregistrement DNS, les journaux de modification doivent être surveillés pour les tentatives d'accès effectuées à la suite de l'ancien enregistrement DNS. Dans l'exemple de modification d'un enregistrement "A" pour faire référence à une nouvelle adresse IP, un serveur doit rester présent à l'ancienne adresse IP pour gérer les tentatives d'accès résultant d'ordinateurs clients utilisant toujours l'ancien enregistrement "A". Une fois que les tentatives d'accès basées sur l'ancien enregistrement ont atteint un niveau suffisamment bas, l'ancienne adresse IP peut être supprimée. Si les demandes liées à un ancien enregistrement ne diminuent pas rapidement, il est possible (comme décrit ci-dessus) qu'un serveur DNS récursif ignore le TTL faisant autorité. Toutefois, la connaissance de l'adresse IP source d'une tentative d'accès ne fournit pas d'informations directes sur le serveur DNS récursif chargé de fournir un ancien enregistrement. Si les adresses IP des tentatives d'accès erronées sont toutes liées à un seul FAI, il peut être possible de localiser le serveur DNS incriminé et de contacter son opérateur.

Personnellement, j'ai vu des changements "prendre effet" immédiatement, en quelques heures, et dans certains cas avec un FAI particulièrement endommagé au cerveau, après plusieurs jours. Faire une pause de votre TTL et être conscient de la façon dont le processus fonctionne augmentera vos changements pour réussir, mais vous ne pouvez jamais être sûr de ce que certains idiots bien intentionnés pourraient faire avec leurs serveurs DNS récursifs.

71
Evan Anderson