Configuration DNS des domaines - Debian 5.0 Lenny
Rédigé par Marc GUILLAUME | Aucun commentaireDéclarer le serveur sur Internet via les enregistrements MX du DNS.
DNS
est l'abbréviation de domain name system et correspond à ce tour de magie d'Internet qui transforme des noms comme "www.workaround.org" en adresse IP comme "212.12.58.129". Si vous désirez recevoir des mails pour un certain domaine vous devez gérer sa "zone" qui contient ses enregistrements. Le fichier de zone de workaround.org contient un enregistrement A
(adresse) qui fait que vous pouvez voir ce site web. Et parmi d'autres enregistrements il contient des enregistrements MX
(mail exchanger) indiquant quels sont les serveurs à utiliser lorsque quelqu'un désire envoyer un mail à devnull@workaround.org
.
Voici un extrait simplifié du fichier de zone :
IN TXT "v=spf1 ip4:212.12.58.128/27 -all" IN MX 10 mx1.workaround.org IN MX 20 mx2.workaround.org IN MX 30 mx3.workaround.org IN MX 40 mx4.workaround.org IN A 212.12.58.129
Le "IN" désigne la classe de l'enregistrement. Sur Internet c'est toujours "IN". La seconde colonne indique le type d'enregistrement :
TXT
= Text record (ce peut être n'importe quel texte jusqu'à 255 caractères, utilisé ici par SPF (ceci sera décrit plus loins dans ce guide).MX
= Mail Exchanger record (indique le serveur de mail responsable de ce domaine)A
= Address record (entrée par défaut)
Comment les autres serveurs de mail trouvent-ils votre serveur ?
Imaginez qu'un serveur de mail sur Internet reçoive un email pour votre domaine dans sa file d'attente. Maintenant il doit trouver à quelle adresse IP il doit se connecter et envoyer le mail via le protocol SMTP. D'abord il lance une requête DNS pour trouver un enregistrement MX pour le domaine utilisé dans l'adresse mail. Si on lui retourne plusieurs adresses il va essayer les serveurs mentionnés dans la réponse en commençant par celui ayant la plus haute priorité (celui qui a le plus petit nombre). Si il n'arrive pas à le contacter alors il va essayer avec le serveur suivant dans l'ordre des priorités. Si il ne trouve aucune entrée MX alors il va lancer une autre requête pour trouver un enregistrement de type A et envoyer le mail à cette adresse.
Voyons un exemple. Vous voulez envoyer un mail à devnull@workaround.org
. Le domaine semble être workaround.org
. Existe-t-il une entrée MX pour ce domaine ? Vous pouvez essayer cela vous-même en utilisant l'outil dig
. (host ou nslookup fonctionneront également bien. Installez dig en utilisant aptitude install dnsutils
si il n'est pas déjà installé.)
$> dig +short workaround.org mx
30 mx3.workaround.org.
40 mx4.workaround.org.
10 mx1.workaround.org.
20 mx2.workaround.org.
Il est question de quatre serveurs de courrier. Celui possédant la plus haute priorité (10) est mx1.workaround.org. Récupérons son adresse IP en cherchant un enregistrement de type A pour cet hôte :
$> dig +short mx1.workaround.org
212.12.58.158
Le serveur de mail va maintenant essayer de contacter le serveur avec cette adresse IP en utilisant le port 25 en TCP (SMTP) et tenter de délivrer le mail. Accidentellement (ou peut-être pas) le serveur ne semble pas être atteignable. Il n'y a pas d'autre serveur de priorité 10 il va donc utiliser le meilleur sur la liste mx2.workaround.org
dont la priorité est 20. Quelle est son adresse IP ?
$> dig +short mx2.workaround.org
212.12.58.129
Ce serveur de mail fonctionne mieux et la connexion SMTP peut être établie et le mail délivré.
Pour recevoir des mails pour un domaine vous devez avoir au moins une entrée MX dans sa zone qui pointe vers votre serveur de mail. Notez qu'une entrée MX pointe vers un nom d'hôte, jamais une adresse IP. Si vous ne pouvez pas ajouter d'entrée MX un enregistrement de type A fera également l'affaire.