Options DNS TTL : comment modifier la valeur DNS TTL

La valeur DNS TTL détermine la durée de conservation des requêtes DNS et des informations associées dans le cache. Lors de la migration d’un site Web ou de la création de nouveaux sous-domaines, cela peut valoir le coup de modifier la valeur DNS TTL.

TTL, c’est quoi ?

TTL est l’acronyme de « Time to Live ». Cette valeur d’enregistrement DNS fait référence à la durée de mise en cache de vos paramètres DNS avant leur mise à jour automatique.

Les changement DNS prennent un certain temps à se propager sur l’ensemble d’Internet. À titre d’exemple de ce cas de figure, on peut citer la mise à jour de l’adresse IP d’un serveur, la mise à jour de votre enregistrement MX pour héberger votre courrier électronique à un nouvel endroit, ou encore l’ajout d’un nouveau site Internet. Le paramètre TTL indique à Internet le temps nécessaire pour vérifier votre enregistrement DNS et rechercher de nouvelles informations potentielles.

Si votre paramètre DNS TTL est de 12 heures, vos enregistrements DNS seront mis en cache pendant 12 heures avant d’expirer pour que les nouvelles informations soient prises en compte.

Note

Les domaines IONOS sont paramétrés avec une valeur TTL jusqu’à une heure pour tous les enregistrements A, AAA, MX, TXT et CNAME.

Domaine check
  • .fr
  • .email
  • .com

Combien de temps pour le TTL ?

La valeur TTL est exprimée en secondes. En général, elle est fixée par défaut à 12 heures (43 200 secondes) ou 24 heures (86 400 secondes). Si un site Internet migre sur un nouveau serveur ou si vous ajoutez une nouvelle URL à votre serveur, il faudra compter de 12 à 24 heures pour que les nouveaux changements DNS prennent effet.

DNS TTL : les bonnes pratiques

Dans la plupart des cas, il n’est pas nécessaire de modifier votre TTL DNS. En revanche, si vous savez que vous allez bientôt procéder à un changement DNS important et que vous souhaitez que les modifications entrent en vigueur rapidement, il est possible de modifier votre TTL à l’avance.

Mettez à jour votre TTL au moins 24 heures à l’avance avec une valeur beaucoup plus courte. Vous pouvez par exemple le modifier à 3 600 (soit 1 heure).

Une fois la modification terminée, n’oubliez pas de rétablir vos paramètres TTL à leur valeur initiale. La mise en cache DNS est un moyen important de réduire la charge des serveurs, en ce sens il est préférable de maintenir ce trafic à un niveau bas.

Notez que même si vous modifiez le TTL de votre nom de domaine, cela ne signifie pas automatiquement que tous les réseaux sur Internet accepteront cette valeur. De nombreux fournisseurs d’accès à Internet (FAI) ignorent les paramètres TTL et vérifient les enregistrements DNS externes à leur propre fréquence.

Valeur minimale DNS TTL

Si vous prévoyez d’effectuer prochainement des modifications DNS, mieux vaut définir en premier lieu un TTL faible. Les modifications apportées se propageront plus vite sur Internet et seront mieux reconnues.

Définissez un nombre supérieur à 0 comme valeur minimale de votre DNS TTL. N’utilisez jamais 0 comme valeur de TTL DNS. Cette valeur ne fait en effet pas partie de la norme et cela peut entraîner le rejet de vos informations DNS ou leur ignorance.

Conseil

3 600 (soit 1 heure) est une bonne valeur minimale. Elle est suffisamment basse pour que les modifications prennent effet rapidement sans surcharger les serveurs DNS.

Valeur maximale DNS TTL

La valeur TTL maximale possible est de 604 800 (soit 7 jours). S’il n’existe pas de paramètre DNS TTL maximal d’un point de vue technique, les valeurs supérieures sont arrondies à 7 jours.

Conseil

Pour la plupart des utilisateurs, un réglage DNS TTL maximal de 86 400 (soit 24 heures) est pertinent.

DNS TTL dynamiques

DNS dynamique (DynDNS) est une excellente méthode pour associer une adresse IP non statique à un nom de domaine.

Supposons que vous possédiez le nom de domaine exemple.com. Vous souhaitez utiliser accueil.exemple.com pour faire référence à un serveur de votre réseau local, mais votre FAI ne vous a pas octroyé d’adresse IP fixe. Cela veut dire que l’adresse IP externe de votre serveur local change régulièrement.

Conseil

Vous ne savez pas lequel choisir ? Retrouvez les meilleurs fournisseurs DynDNS gratuits dans notre tableau récapitulatif.

Les services DNS dynamiques sont capables d’associer une adresse IP variable avec un nom de domaine (comme accueil.exemple.com). Chaque fois que l’adresse IP change, votre DNS se met automatiquement à jour pour que cette modification soit prise en compte rapidement.

À la configuration du DNS dynamique pour votre nom de domaine, vous devrez peut-être spécifier un TTL pour les enregistrements. Il n’existe pas de réponse universelle concernant la valeur TTL à utiliser pour un enregistrement DNS dynamique. Cela dépend en partie de la durée pendant laquelle l’adresse IP reste la même. Plus celle-ci change souvent, plus la valeur TTL à utiliser sera faible.

Conseil

Une règle communément mise en œuvre consiste à réduire votre DDNS TTL de la moitié du montant de votre bail DHCP. Si la durée du bail DHCP est réglée sur 60 (soit 1 minute), réglez votre TTL sur 30 (soit 30 secondes). Si elle est de 3 600 (1 heure), réglez votre TTL sur 1 800 (30 minutes).

Interroger DNS TTL

Voici comment vérifier les paramètres TTL de votre site.

Linux, Unix ou Mac OS X

Le moyen le plus simple d’obtenir vos paramètres DNS TTL est d’utiliser l’utilitaire Dig, disponible sous Linux, Unix et Mac OS X.

Dans le shell, tapez la ligne de commande suivante :

dig exemple.com

Cette commande renvoie les informations DNS (avec les valeurs TTL) pour le nom de domaine en paramètre.

Windows

Sous Windows, l’utilitaire nslookup permet de vérifier les valeurs DNS TTL d’un site Internet.

Ouvrez une fenêtre d’invite de commande :

  • Sous Windows 7 : Démarrer > Tous les programmes > Accessoires > Invite de commandes ;
  • Sous Windows 10 : Clic droit Démarrer > Exécuter > saisir « cmd » et cliquer sur OK.

Pour exécuter nslookup et obtenir les valeurs TTL, tapez la commande suivante :

nslookup -type=soa exemple.com

Cette commande permet d’obtenir les informations du serveur de noms de domaines faisant autorité pour ce domaine précis, y compris le TTL standard en secondes et en heures.

Online

Plusieurs outils en ligne permettent d’utiliser l’utilitaire dig pour effectuer gratuitement une recherche DNS TTL.

Dans cet exemple, nous utiliserons Google Apps :

On peut voir que les valeurs de DNS TTL pour les enregistrements de ce domaine sont réglées sur 21 599 secondes (soit 6 heures).

Comment modifier le DNS TTL si vous hébergez votre propre serveur DNS

Si vous gérez votre propre serveur DNS, la modification de votre TTL consiste simplement à éditer votre fichier de zone DNS et à vous assurer que votre service DNS accepte les modifications. Cela peut varier en fonction du service DNS utilisé ; dans certains cas le choix de la version Linux ou Unix peut aussi jouer un rôle.

Une fois les modifications effectuées, vérifiez qu’elles ont été prises en compte en demandant les nouvelles informations DNS à votre serveur avec la commande suivante :

dig @localhost exemple.com

BIND

BIND est le logiciel DNS le plus fréquemment utilisé. Sous BIND, le TTL est stocké en début du fichier de zone, en général sur la deuxième ligne. La déclaration TTL commence par $TTL, elle est réglée par défaut sur quatre heures (14 400 secondes) :

$TTL 14400

Voici comment trouver le fichier de zone sous Red Hat et CentOS :

Dans une installation BIND typique sous Red Hat ou CentOS, le fichier de zone d’un site ressemble à peu de choses près à ça : /var/named/[nom de domaine].db ou /var/named/[nom de domaine].zone. Par exemple, pour modifier le fichier exemple.com dans une configuration standard typique, la commande serait la suivante :

sudo nano /var/named/exemple.com.db

Trouver le fichier de zone sous Debian et Ubuntu :

Dans une installation BIND typique sous Debian ou Ubuntu, le fichier de zone d’un site ressemble à peu de choses près à ça : /etc/bind/[nom de domaine].db. Ainsi, pour modifier le fichier exemple.com dans une configuration standard typique, on tapera la commande suivante :

sudo nano /etc/bind/exemple.com.db

Modifier le fichier de zone

Il y a deux lignes à modifier dans le fichier de zone, à savoir le TTL et le numéro de série :

  • Mettez à jour le TTL avec la valeur que vous souhaitez utiliser ;
  • Mettez à jour le numéro de série pour que BIND enregistre la modification.

Mise à jour du TTL

Le TTL sera la première ligne du fichier et ressemblera à peu près à ça :

$TTL            86400

Il suffit de modifier la valeur TTL (en secondes) par celle sur laquelle vous souhaitez le régler.

Mise à jour du numéro de série

Dans une configuration classique, il suffit d’augmenter le numéro de série. Par exemple, on mettra à jour le numéro de série 1234 par 1235.

Certains administrateurs système utilisent un système d’horodatage, un numéro de version ou un programme pour incrémenter automatiquement le numéro de série. Contactez l’administrateur de votre serveur si avec des doutes sur le système utilisé pour les numéros de série BIND.

Enregistrez et fermez le fichier.

Vérification du fichier

Avant de recharger les modifications, vérifiez la syntaxe de la configuration BIND la plus importante à l’aide de la commande suivante :

sudo named-checkconf

Si tout est en ordre, vérifiez la syntaxe du fichier de zone que vous venez d’éditer avec la commande suivante :

sudo named-checkzone [domain name] [path to file]

Si vous avez par exemple modifié le TTL pour exemple.com dans le fichier /var/named/exemple.com.db, utilisez la commande suivante :

sudo named-checkzone exemple.com /var/named/exemple.com.db

Recharger les modifications

Si les fichiers passent le contrôle syntaxique, rechargez le fichier de zone dans BIND à l’aide de la commande suivante :

sudo rndc reload exemple.com

Facultatif : si systemctl a été configuré, vous pouvez redémarrer BIND sous Red Hat et CentOS avec la commande suivante :

sudo systemctl restart named

Hébergement Web avec conseiller personnel !

Hébergement Web puissant, flexible et performant avec boîte email, conseiller personnel et domaine inclus la 1ère année !

Domaine
Certificat SSL
Assistance 24/7

Unbound

Unbound a remplacé BIND comme serveur DNS par défaut sur de nombreux systèmes BSD, y compris à partir de FreeBSD 10 et après, et OpenBSD 5.6 et après.

Par défaut, sur la plupart des systèmes, le fichier de configuration se trouve sous :

  • OpenBSD : /var/unbound/etc/unbound.conf ;
  • FreeBSD 10.0 et avant : /usr/local/etc/unbound/unbound.conf ;
  • FreeBSD 10.1 et après : /etc/unbound/unbound.conf ;
  • Red Hat et CentOS 7 : /etc/unbound/unbound.conf.

Le fichier de configuration Unbound standard ne contient pas de valeur TTL. Il est possible d’en ajouter une à votre fichier Unbound Zone avec les attributs suivants :

  • cache-max-ttl : durée maximale pour mettre en cache TTL. La valeur par défaut est ici de 86 400 secondes (soit 1 jour) ;
  • cache-min-ttl : durée minimale de mise en cache de TTL. Le réglage par défaut est de 0 seconde. Attention : il est recommandé de laisser cette valeur à 0.

Pour modifier ou régler le TTL, modifiez votre fichier unbound.conf ainsi :

sudo nano /etc/unbound/unbound.conf

Vérifiez que les attributs cache-max-ttl et cache-min-ttl sont bien présents dans le fichier. S’ils existent déjà, vous pouvez modifier ces valeurs. Si elles n’existent pas, vous devez les ajouter :

## Minimum lifetime of cache entries in seconds. Default is 0.
cache-min-ttl: 0
## Maximum lifetime of cached entries. Default is 86400 seconds (1 day).
cache-max-ttl: 14400

Placez ces configurations dans le bloc de commandes du serveur principal, enregistrez le fichier et fermez-le.

Après avoir édité le fichier de configuration, testez-le avec la commande suivante :

unbound-checkconf

Pour finir, redémarrez Unbound pour que les modifications soient prises en compte avec la commande suivante :

unbound-control reload