À quoi sert l’enregistrement DNS de type MX ?

Un système de noms de domaines (abrégé DNS) s’occupe avant tout de la résolution de noms. C’est elle qui permet aux internautes de taper tout simplement une adresse URL dans leur navigateur, sans avoir à se soucier de la véritable adresse IP correspondant à ce domaine. Pour la résolution de noms, le système DNS a recours aux enregistrements A et AAAA – et, dans certains cas, aux enregistrements CNAME. Le système DNS propose toute une série de types d’enregistrements dont les fonctions sont très diverses.

Note

Le DNS bénéficie de plusieurs types de records qui offrent chacun une fonctionnalité particulière. Vous trouverez dans notre article complet sur les records DNS un tableau avec l’ensemble des enregistrements possibles.

L’enregistrement MX est un enregistrement qui ne porte pas sur le www, mais sur la communication par email. Alors quel rôle joue précisément l’enregistrement MX ?

Explication d’un enregistrement MX au moyen d’un exemple

On trouve les records DNS dans les fichiers de zone. Ce sont de simples fichiers texte qui compilent tous les enregistrements pour la zone qui est prise en charge par le serveur correspondant. Si un client dépose une requête, le serveur qui répond ira d’abord chercher ses éléments de réponse dans ce fichier de zone. Chaque type d’enregistrement a cependant sa fonction spécifique. L’abréviation MX vient de Mail Exchange, ce qui laisse bien entendre la fonction particulière de ce type d’enregistrement. Le record MX informe donc le client via le DNS, du domaine où est disponible le serveur de messagerie électronique.

Un domaine est généralement composé de plusieurs serveurs. En plus du serveur Web, utilisé pour la publication du site, on a par exemple un serveur FTP, ainsi qu’un ou plusieurs serveur(s) de messagerie. Tous ces serveurs sont accessibles au moyen de différents sous-domaines. Pour connaître ces sous-domaines, on consulte l’enregistrement MX. Le serveur mail émetteur du courrier électronique procède généralement à cette consultation de manière automatique.

Champs et syntaxe des enregistrements

Les records DNS de type MX renferment généralement plusieurs informations réparties dans plusieurs champs. On y trouve une indication sur le serveur de messagerie, qui est associé à un domaine spécifique, mais aussi toutes sortes d’autres détails :

  • <name> : le premier champ renferme le nom du domaine.
  • <ttl> : la durée de vie précise la durée de validité des informations.
  • <class> : le champ Classe précise le type de réseau.
  • <type> : ici, le type d’enregistrement est MX.
  • <Priority> : plus la valeur est petite, plus la priorité du serveur de messagerie sera grande.
  • <rdata> : le champ Ressource Data précise le nom du serveur de messagerie.

Les noms des enregistrements DNS sont enregistrés au format Fully Qualified Domain Names (FQDN). Le contenu de chacun des champs est donc terminé par un point, que l’on place devant le contenu. Les FQDN composent en effet le chemin complet, depuis la plus petite unité à gauche, jusqu’à la plus grande unité à droite, à savoir le serveur-racine. Le niveau supérieur n’a cependant aucune désignation, ce qui explique l’absence de données derrière le point qui le précède.

Le champ Time to Live précise la durée pendant laquelle les informations seront valides et conservées dans le cache de votre ordinateur. Ce champ permet de garantir que vous n’utiliserez pas d’enregistrements périmés. Dès que ce délai est passé, le client doit renouveler sa requête auprès du serveur de noms. L’indication TTL est exprimée en secondes. Très souvent, ce champ est tout simplement ignoré dans un enregistrement. Il est en effet possible d’enregistrer préalablement cette durée pour l’ensemble de la zone.

Le champ Classe est facultatif, pour la simple et bonne raison que le seul réseau disponible aujourd’hui est celui d’Internet. Lorsque les enregistrements de ressources ont vu le jour, il existait encore les classes Hesiod (HS) et Chaos (CH). Ces deux réseaux ne sont plus disponibles aujourd’hui. C’est pourquoi ce champ reste vide ou renferme uniquement les lettres IN.

Le champ Priorité est une particularité des enregistrements de type MX. Dans les projets d’une certaine envergure, il n’est pas rare que les administrateurs utilisent plusieurs serveurs en parallèle. Cela leur permet d’anticiper des éventuelles pannes ou des pics de consultations, et d’éviter des problèmes, voire des pannes complètes de leur système de messagerie électronique. La répartition ne doit cependant pas toujours se faire de manière égale. C’est pour cette raison que sont définies certaines priorités. Le serveur doté de la plus faible valeur prime sur les autres, et sera consulté en premier. S’il n’est pas disponible, on interrogera le serveur ayant la valeur suivante.

Le champ Data contient le nom du serveur de messagerie électronique. Celui-ci est aussi enregistré en respectant la forme des FQDN. Tous les champs d’un enregistrement sont saisis à la suite, sur une même ligne. Il n’est pas nécessaire de taper un caractère particulier pour clore un enregistrement - un retour à la ligne suffit.

<name> <ttl> <class> <type> <priority> <rdata>

Dans la réalité, les champs TTL et Class sont rarement utilisés dans des enregistrements.

Un exemple d’enregistrement MX

Prenons le cas fictif du serveur de messagerie du site example.com. Inventons une adresse email qu’on appellera user@example.com. Le serveur Web de l’expéditeur envoie sa requête DNS au domaine example.com. Les enregistrements contenus dans le fichier de zone du serveur de nom se présentent de la manière suivante :

$TTL 1200
example.com.	IN	A		93.184.216.34
example.com.	IN	MX	10	mail1.example.com.
example.com.	IN	MX	10	mail2.example.com.
example.com.	IN	MX	50	mail3.example.com.

Comme vous pouvez le voir, la durée de validité des données s’applique ici à l’ensemble de la zone. Il est donc inutile de renseigner ce champ pour chaque enregistrement en particulier. Cet exemple renferme tout d’abord un enregistrement A qui associe un nom de domaine à une adresse IP. Suivent trois enregistrements MX. Le seul élément qui les différencie, c’est leur sous-domaine.

Dans cet exemple, les deux premiers serveurs de messagerie ont le même ordre de priorité. Les tâches sont donc équitablement réparties sur ces deux serveurs. Le 3e serveur prendra la relève uniquement sur les deux autres qui ne peuvent pas assimiler le travail, en cas de surcharge ou de panne.

Comment faire pour vérifier un record MX ?

Pour procéder à une recherche inversée d’un enregistrement MX, vous pouvez recourir à différents services en ligne. Le service DNS public de Google constitue une option facile à utiliser. Sur la page d’accueil, il vous suffit d’indiquer le nom du domaine dont vous souhaitez connaître les records MX. Sur la page suivante, modifiez le type d’enregistrement de A à MX. Il est inutile de modifier les options EDNS Client Subnet et DNSSEC. La première de ces options permet d’accélérer la recherche des informations DNS. La deuxième option garantit le fait que les données n’ont pas été manipulées par une tierce partie à des fins criminelles.

Dans cette recherche effectuée à titre d’exemple, on retrouve les différents serveurs de messagerie en dessous de la ligne « Answers ». Sous la ligne intitulée Data se trouvent les FQDN permettant d’accéder à ces serveurs. On y trouve aussi une précision quant au degré de priorité. Les enregistrements varient ici entre les valeurs 10 et 50. La valeur TTL étant identique pour chaque enregistrement, on comprend que la durée de conservation des données a été enregistrée par défaut, pour l’ensemble de la zone. Le champ Type renferme toujours la même valeur : 15. Cette valeur correspond à l’enregistrement MX. L’Internet Assigned Numbers Authority (IANA) a assigné à chaque type d’enregistrement DNS une valeur spécifique, permettant ainsi à chaque type d’avoir son propre numéro.

Conseil

Si vous préférez recourir à un service autre que celui du géant de l’Internet, vous pouvez consulter par exemple l’offre de Nslookup Tool. De nombreux sites français proposent ce type de service.