Qu'est-ce qu'un enregistrement DNS CNAME ?

L'enregistrement DNS CNAME fonctionne comme un alias pour les noms de domaine qui partagent une seule adresse IP.

Objectifs d’apprentissage

Cet article s'articule autour des points suivants :

  • Comprendre comment les enregistrements CNAME fonctionnent dans le contexte d'une recherche de domaine
  • Comprendre la relation entre les enregistrements CNAME et les enregistrements A

Contenu associé


Vous souhaitez continuer à enrichir vos connaissances ?

Abonnez-vous à theNET, le récapitulatif mensuel de Cloudflare des idées les plus populaires concernant Internet !

Consultez la politique de confidentialité de Cloudflare pour en savoir plus sur la manière dont nous collectons et traitons vos données personnelles.

Copier le lien de l'article

Qu'est-ce qu'un enregistrement DNS CNAME ?

Un enregistrement de « nom canonique » (CNAME) pointe d'un domaine alias vers un domaine « canonique ». Un enregistrement CNAME est utilisé à la place d'un enregistrement A , lorsqu'un domaine ou un sous-domaine est un alias d'un autre domaine. Tous les enregistrements CNAME doivent pointer vers un domaine, jamais vers une adresse IP. Imaginez une chasse au trésor où chaque indice renvoie à un autre indice et où le dernier indice renvoie au trésor. Un domaine avec un enregistrement CNAME est comme un indice qui peut vous diriger vers un autre indice (un autre domaine avec un enregistrement CNAME) ou vers le trésor (un domaine avec un enregistrement A).

Supposons que blog.example.com possède un enregistrement CNAME avec la valeur « example.com » (sans le terme « blog »). Cette caractéristique signifie que lorsqu'un serveur DNS consulte les enregistrements DNS pour blog.example.com, il déclenche en réalité une autre consultation DNS vers example.com, en renvoyant l'adresse IP d'example.com via son enregistrement A. Nous dirions dans ce cas qu'example.com est le nom canonique (ou nom véritable) de blog.example.com.

Souvent, lorsque des sites ont des sous-domaines, comme blog.example.com ou shop.example.com, ces sous-domaines disposent d'enregistrements CNAME qui pointent vers un domaine racine (example.com). De cette façon, si l'adresse IP de l'hôte change, seul l'enregistrement DNS A du domaine racine doit être mis à jour et tous les enregistrements CNAME suivront l'ensemble des modifications apportées à la racine.

On pense souvent à tort qu'un enregistrement CNAME doit toujours être résolu sur le même site web que le domaine vers lequel il pointe, mais ce n'est pas le cas. L'enregistrement CNAME pointe uniquement le client vers la même adresse IP que le domaine racine. Une fois que le client a atteint cette adresse IP, le serveur web traitera toujours l'URL en conséquence. Ainsi, par exemple, blog.example.com peut disposer d'un CNAME pointant vers example.com et dirigeant le client vers l'adresse IP d'example.com. Toutefois, lorsque le client se connecte réellement à cette adresse IP, le serveur web examine l'URL, voit qu'il s'agit de blog.example.com et renvoie la page du blog plutôt que la page d'accueil.

Exemple d'enregistrement CNAME :

blog.example.com Type d'enregistrement Valeur TTL
@ CNAME est un alias de example.com 32600

Dans cet exemple, nous pouvons voir que blog.example.com pointe vers example.com. En supposant qu'il se base sur l'enregistrement A de notre exemple, nous savons qu'il sera finalement résolu à l'adresse IP 192.0.2.1.

Rapport
Rapport GigaOm Radar 2023 sur la sécurité du DNS
Rapport
Consultez le rapport sur le panorama des menaces DDoS au quatrième trimestre 2023

Un enregistrement CNAME peut-il pointer vers un autre enregistrement CNAME ?

Il est inefficace de faire pointer un enregistrement CNAME vers un autre enregistrement CNAME, car l'opération nécessite plusieurs consultations du DNS avant que le domaine ne puisse être chargé. L'expérience utilisateur s'en trouve donc ralentie, bien que la procédure reste possible. Ainsi, blog.example.com pourrait disposer d'un enregistrement CNAME pointant vers l'enregistrement CNAME de www.example.com, qui pointerait ensuite vers l'enregistrement A d'example.com.

CNAME pour blog.example.com :

blog.example.com Type d'enregistrement Valeur TTL
@ CNAME est un alias de www.example.com 32600

Qui pointe vers un CNAME pour www.example.com :

www.example.com Type d'enregistrement Valeur TTL
@ CNAME est un alias de example.com 32600

Cette configuration ajoute une étape supplémentaire au processus de recherche DNS et doit être évitée si possible. Au lieu de cela, les enregistrements CNAME pour blog.example.com et www.example.com doivent pointer directement vers example.com.

DNS rapide et sécurisé
DNS inclus gratuitement dans toutes les offres Cloudflare

Quelles restrictions s'appliquent à l'utilisation des enregistrements CNAME ?

Pas de noms en double

Aucun autre enregistrement DNS ne peut avoir le même nom qu'un enregistrement CNAME donné. Cela signifie en pratique que d'autres types d'enregistrements DNS, tels que MX, TXT, A, ou SOA, ne peuvent pas être étiquetés avec un alias pour un domaine. Il ne peut pas non plus y avoir d'autres enregistrements CNAME portant le même nom.

S'il existe un CNAME dans « blog.example.com » pointant vers « example.com », il ne peut y avoir d'autres types d'enregistrements sur « blog.example.com » ; ils doivent tous se trouver sous « example.com ».

Supposons que Sam écrive des articles sous le pseudonyme « Mark ». Ses documents juridiques, tels que son certificat de naissance et son passeport, seront toujours sous son vrai nom, Sam, même si Mark et Sam sont la même personne. Il en va de même pour les enregistrements DNS : le domaine alias ne peut pointer que vers le domaine réel, et les « documents juridiques » (les autres enregistrements DNS ) doivent se trouver sous ce domaine réel.

Il existe une exception : le cas de la Mise à plat CNAME, lorsqu'un enregistrement CNAME se comporte comme un enregistrement A/AAAA. En fait, tous les enregistrements CNAME mis en proxy se comportent de cette façon. Cependant, il est toujours interdit d'utiliser d'autres enregistrements sur le même nom qu'un enregistrement CNAME mis à niveau. En savoir plus sur la mise à plat CNAME.

Enregistrements MX et NS

Les enregistrements MX et NS ne peuvent pas pointer vers un enregistrement CNAME ; Ils doivent pointer vers un enregistrement A (en IPv4) ou un enregistrement AAAA (en IPv6). Un enregistrement MX est un enregistrement d'échange de courrier qui dirige le courrier électronique vers un serveur de messagerie. Un enregistrement NS est un enregistrement de « serveur de noms » qui indique le serveur DNS de référence pour ce domaine.

Quand les enregistrements CNAME sont-ils renvoyés pour les requêtes non CNAME ?

Comme il est indiqué ci-dessus, conformément aux spécifications DNS, les domaines ne sont pas autorisés à avoir d'autres enregistrements DNS sur un nom qui possède déjà un enregistrement CNAME.

Par conséquent, une requête pour un autre type d'enregistrement, tel qu'un enregistrement TXT, qui utilise l'alias au lieu du véritable nom du domaine renverra un enregistrement CNAME au lieu de l'enregistrement demandé. Le demandeur doit ensuite interroger le domaine vers lequel le CNAME pointe afin d'obtenir l'enregistrement souhaité.

Si Alice veut afficher les enregistrements TXT pour blog.example.com et envoie une requête pour celui-ci, elle obtiendra l'enregistrement CNAME au lieu de l'enregistrement TXT. Elle doit ensuite envoyer une requête DNS à la cible de l'enregistrement CNAME pour demander l'enregistrement TXT et obtiendra une réponse si la cible a un enregistrement TXT. C'est également le cas pour d'autres types de requêtes d'enregistrement DNS.

En savoir plus sur les enregistrements TXT.