Enregistrement CNAME : qu’est-ce qu’un type d’enregistrement DNS ?
Le Système de noms de domaines (DNS) permet de surfer sur Internet comme nous avons l’habitude de le faire. Il nous suffit de taper le nom d’un domaine sous la forme d’une URL, et on se retrouve sur la page internet demandée. En fait, la véritable communication se fait à l’aide d’une adresse IP individuelle. Le DNS repose sur des enregistrements dans les fichiers de zone. La véritable résolution de nom se fait grâce aux enregistrements très importants de type A et de type AAAA.
Il existe un grand nombre de types d’enregistrements différents. Dans notre article très complet sur les enregistrements DNS, nous vous expliquons non seulement les principales propriétés des enregistrements, mais nous vous offrons également un tableau avec un aperçu de tous les types existants.
Une adresse IP n’est pas nécessairement reliée à un seul nom de domaine. Plusieurs noms différents peuvent renvoyer à une même adresse IP. Pour que cela soit possible, le DNS a recours aux enregistrements CNAME (abréviation pour « enregistrements de nom canonique »).
Qu’est-ce que les enregistrements de nom canonique ou enregistrements CNAME ?
Le DNS repose sur un réseau de serveurs organisé de manière décentralisée. Des serveurs de noms gèrent certaines zones et disposent pour ce faire de fichiers de zone. Ce sont de simples fichiers texte, dans lesquels les enregistrements DNS sont enregistrés ligne par ligne. Les enregistrements sont composés de différents types. Pour relier un nom de domaine avec une adresse IPv4, on choisit le Type A. Avec un enregistrement de type CNAME, vous pouvez associer un nom de domaine à un alias, c’est-à-dire à un autre nom qui conduira au même résultat.
Le véritable nom est dans ce cas celui qui est relié à l’adresse IP au moyen d’un enregistrement de type A. Quel est l’avantage ? Si l’adresse IP venait à changer, il suffit d’adapter l’enregistrement de type A. Comme les alias sont associés à cet enregistrement de type A (ou AAAA), les records CNAME sont automatiquement réactualisés.
Le terme CNAME est en fait un mot-valise qui reprend le mot « Canonical Name » (le nom canonique) et qui désigne le nom de domaine par défaut. L’expression est donc un peu trompeuse, car cet enregistrement ne fait pas référence au « véritable » nom de domaine, mais à un alias.
La syntaxe de CNAME
Les enregistrements DNS respectent une syntaxe normalisée avec différents champs :
- <name> : Le premier champ referme l’alias du domaine.
- <ttl> : Le champ « Time to live » (durée de vie) précise la durée pendant laquelle l’enregistrement sera conservé dans le cache. Passé ce délai, l’ordinateur devra à nouveau requérir ces informations.
- <class> : Le champ Class est facultatif. Il permet d’indiquer le type de réseau applicable à l’enregistrement.
- <type> : Ce champ permet de définir le type d’enregistrement. Ici, il s’agit d’un CNAME.
- <rdata> : Le dernier champ renferme les informations qui se rapportent à l’enregistrement lui-même. Ici, il s'agit du véritable nom de domaine
Les champs sont tout simplement séparés d’une espace au sein d’une même ligne :
<name> <ttl> <class> <type> <rdata>
Le Time to live (TTL) permet de préciser la durée de conservation des informations. Le prestataire garantit que les données seront valides pendant ce délai. L’enregistrement peut donc rester dans le cache pendant ce temps. Dès que ce délai est passé, les informations doivent à nouveau être requises sur le serveur. En fait, ce champ n’est que rarement utilisé dans les enregistrements détaillés. On a plutôt tendance à définir cette durée de validité (TTL) pour l’ensemble d’une zone. Les différents enregistrements héritent ensuite de cette donnée.
Le champ facultatif Classe n’a aujourd’hui plus qu’une valeur historique. Lorsque le DNS a vu le jour, on avait encore les deux réseaux Hesiod (HS) et Chaosnet (CH). Aujourd’hui, il ne reste plus que l’Internet. On trouve donc généralement dans ce champ l’abréviation IN. Il arrive aussi que ce champ soit tout simplement supprimé.
Les noms des enregistrements DNS sont toujours donnés au format Fully Qualified Domain Names (FQDN) (noms de domaines pleinement qualifiés). La saisie doit donc toujours se terminer par un point final. Pourquoi ? Les FQDN examinent toujours le chemin complet d’un domaine, en commençant à droite par le serveur-racine. Comme ce champ est vide, il ne reste plus que le point pour dissocier les différents éléments les uns des autres.
Un record CNAME doit toujours renvoyer à un autre domaine. Il n’est pas possible d’y enregistrer une adresse IP. Il n’est d’ailleurs pas permis d’utiliser l’alias ainsi défini dans d’autres types d’enregistrements. Il est recommandé de ne pas renvoyer un enregistrement CNAME vers un autre enregistrement CNAME. Une telle démarche ne provoque pas d’erreur, mais complique inutilement le fichier de zone.
Exemple de CNAME
Voici à quoi ressemble un enregistrement CNAME :
www.example.net. CNAME www.example.com.
Pour que le renvoi puisse fonctionner avec CNAME, le fichier de zone doit comprendre un enregistrement A et/ou un enregistrement AAAA.
$TTL 11107
www.example.com. IN A 93.184.216.34
www.example.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946
www.example.net. IN CNAME www.example.com.
www.example.org. IN CNAME www.example.com.
Les deux enregistrements CNAME renvoient à l’enregistrement A ou AAAA. Le « Time to live » (la durée de vie) s’applique de manière globale à toute la zone (ce qui est précisé par le caractère du dollar) et s’élève à 11107 secondes, c’est-à-dire à un peu plus de trois heures.
Vérifier un CNAME : comment détermine-t-on un enregistrement CNAME ?
Pour connaître l’enregistrement CNAME d’un site Internet, on peut soit utiliser un logiciel spécialisé, soit recourir à un service Internet dédié. Avec Public DNS, Google met à disposition un serveur DNS qui permet de trouver les records DNS des différents sites Internet.
Sur la Page d’accueil de l’offre, il vous suffit de taper le nom du domaine dont vous souhaitez vérifier le CNAME. Sur la page suivante, vous pouvez changer le type de RR (par défaut, il est réglé en A) en Record CNAME. Cliquez ensuite sur le bouton Résoudre pour obtenir finalement le résultat.
Les deux paramètres correspondant au EDNS client subnet et DNSSEC peuvent rester inchangés. Le premier paramètre correspond à un mécanisme qui enregistre l’emplacement du requérant dans le but de lui livrer des résultats plus efficaces. Ce paramètre n’est cependant utilisé que par Google et OpenDNS. DNSSEC garantit par ailleurs à l’utilisateur que ces informations ne peuvent aucunement être manipulées par un tiers qui aurait réussi à entrer dans la boucle sans y être autorisé.