Recherche CNAME

Résoudre l'alias d'un nom d'hôte vers sa cible canonique

Guide

Une recherche CNAME révèle si un nom d'hôte est un alias pointant vers un autre nom, et montre la cible canonique que les navigateurs et serveurs de messagerie contactent réellement.

Qu'est-ce qu'un enregistrement CNAME ?

Un enregistrement CNAME (Canonical Name) fait correspondre un nom d'hôte à un autre. Il ne pointe jamais directement vers une adresse IP : il indique aux résolveurs "le vrai nom de cet hôte se trouve ailleurs, va consulter cet autre nom". Le résolveur suit alors la chaîne et résout les enregistrements A, AAAA ou autres qui existent sur la cible.

Le CNAME est la méthode standard pour faire pointer un sous-domaine vers une infrastructure dont on ne maîtrise pas l'adresse IP : un CDN, une plateforme d'hébergement, un service SaaS avec domaine personnalisé. Si le fournisseur change ses IP, tous les domaines aliasés via CNAME suivent automatiquement, sans qu'il faille modifier une seule zone DNS chez chaque client.

  • Une cible de CNAME doit elle-même se résoudre vers un A/AAAA (ou un autre CNAME) ; elle ne contient jamais d'adresse IP
  • La résolution peut traverser plusieurs CNAME avant d'atteindre l'enregistrement A/AAAA final
  • Le CNAME ne transporte aucune information de routage de messagerie ni de politique TXT : seulement la cible de l'alias

La contrainte de l'apex

La RFC 1034, section 3.6.2, impose que si un nom porte un enregistrement CNAME, ce nom ne peut porter aucun autre type d'enregistrement - pas de A, pas de MX, pas de TXT à côté. C'est pourquoi l'apex d'une zone (le domaine nu, "exemple.fr" sans sous-domaine) ne porte quasiment jamais de CNAME : l'apex a besoin d'un jeu d'enregistrements NS (délégation) et généralement d'un SOA, incompatibles avec un CNAME sur le même nom.

En pratique, "www.exemple.fr" peut être un CNAME vers un hébergeur, mais "exemple.fr" lui-même ne le peut pas - il lui faut des enregistrements A/AAAA, ou une solution de contournement propre au fournisseur.

NomPeut porter un CNAME ?Pourquoi
www.exemple.frOuiSous-domaine ordinaire, aucun autre type d'enregistrement requis
exemple.fr (apex)NonNécessite au minimum NS/SOA ; la RFC 1034 interdit le CNAME aux côtés d'autres enregistrements
_dmarc.exemple.frNon (en pratique)Doit porter un enregistrement TXT pour la politique DMARC, incompatible avec un CNAME

CNAME, ALIAS, ANAME : quelles différences ?

Comme l'apex ne peut pas porter de CNAME, plusieurs fournisseurs DNS ont inventé une solution non standard, vendue sous les noms ALIAS, ANAME, ou "CNAME flattening" (aplatissement de CNAME). Ce n'est pas un type d'enregistrement DNS défini par une RFC : c'est une fonctionnalité côté serveur - le serveur de noms résout lui-même la cible et répond aux requêtes sur l'apex directement avec des enregistrements A/AAAA, de sorte que la réponse sur le réseau ne viole jamais la RFC 1034.

Le comportement varie selon le fournisseur : intervalle de rafraîchissement, profondeur de suivi de chaîne, interaction avec DNSSEC sont tous propres à l'implémentation. En cas de changement de fournisseur DNS, un enregistrement ALIAS/ANAME ne se transpose pas automatiquement comme le ferait un CNAME classique - vérifiez que le nouveau fournisseur propose un équivalent avant de vous appuyer dessus sur l'apex.

Lire les résultats d'une recherche CNAME

Une recherche réussie retourne un enregistrement CNAME pour le nom d'hôte interrogé, avec la cible canonique vers laquelle il se résout. Si cette cible est elle-même un autre CNAME, une trace complète montrerait toute la chaîne - cet outil rapporte la cible directe renvoyée pour le nom interrogé, celle qu'un résolveur récursif stocke comme réponse immédiate.

L'absence de CNAME pour un nom d'hôte ne signifie pas que le domaine est injoignable : cela veut simplement dire que ce nom n'est pas un alias. La plupart des domaines apex ne renvoient normalement aucun CNAME, car ils utilisent directement des enregistrements A/AAAA.

ChampExemple de valeurSignification
namewww.exemple.frLe nom d'hôte interrogé
valueexemple-cdn.provider.netLa cible canonique dont ce nom est l'alias
typeCNAMEConfirme le type d'enregistrement renvoyé

Questions fréquentes

Puis-je mettre un CNAME sur mon domaine racine (l'apex) ?

Pas en tant qu'enregistrement DNS standard : la RFC 1034 interdit à un CNAME de coexister avec les enregistrements NS/SOA que tout apex nécessite. Certains fournisseurs DNS proposent une fonctionnalité propriétaire ALIAS ou ANAME qui se comporte comme un CNAME sur l'apex en résolvant la cible côté serveur, mais ce n'est pas un standard portable et le comportement diffère d'un fournisseur à l'autre.

Pourquoi ma messagerie cesse-t-elle de fonctionner après l'ajout d'un CNAME ?

Si le CNAME a été ajouté sur un nom qui a aussi besoin d'un MX, d'un TXT ou d'un autre enregistrement - par exemple sur le domaine nu ou sur un sous-domaine déjà utilisé pour la messagerie - le CNAME écrase silencieusement ces autres types d'enregistrements selon la RFC 1034, et les résolveurs ne voient plus que l'alias. Réservez les CNAME aux noms qui n'ont besoin d'aucun autre enregistrement DNS.

Combien d'enregistrements CNAME peuvent pointer vers la même cible ?

Aucune limite protocolaire n'existe. De nombreux noms d'hôte peuvent chacun porter leur propre CNAME pointant vers la même cible - c'est exactement ainsi que les CDN et les plateformes SaaS permettent à des milliers de sous-domaines clients de partager une seule infrastructure.

Un CNAME ralentit-il la résolution DNS ?

Chaque maillon d'une chaîne de CNAME ajoute une requête DNS supplémentaire que le résolveur doit suivre avant d'obtenir une réponse A/AAAA, donc une longue chaîne (CNAME vers CNAME vers CNAME) ajoute de la latence par rapport à un enregistrement A direct. Un seul saut de CNAME est négligeable ; c'est l'empilement de trois ou quatre sauts entre fournisseurs qui rend le délai perceptible.

Le CNAME flattening est-il la même chose qu'un enregistrement CNAME ?

Non. Le CNAME flattening (vendu aussi sous ALIAS ou ANAME) est une technique propre au fournisseur qui répond aux requêtes sur l'apex avec des enregistrements A/AAAA résolus côté serveur pour votre compte, de sorte que la réponse sur le réseau n'est en réalité pas un CNAME. Cette technique existe précisément pour contourner l'interdiction du CNAME à l'apex.

Pourquoi ma recherche CNAME ne renvoie-t-elle rien alors que le sous-domaine fonctionne ?

Le sous-domaine utilise peut-être directement un enregistrement A ou AAAA plutôt qu'un CNAME, ce qui est une configuration valide et courante. Un nom d'hôte fonctionnel n'a pas besoin d'un CNAME : il lui faut simplement un type d'enregistrement qui se résout vers une adresse utilisable.

Outils liés