MX Secondaire : mise en place
Contents
1 Introduction
Lorsqu'il n'y a qu'un seul serveur mail ayant pour tâche de gérer les emails d'un domaine, si celui-ci vient à ne plus être disponible, les emails envoyés par des tiers au serveur principale vont être conservés dans le spool (queue de sortie) du serveur distant pour quelques jours dans le meilleur des cas ou renvoyé avec un message d'erreur immédiatement (en fonction du problème ou de la configuration du serveur distant)...
Les problèmes et les indisponibilités étant inhérents à l'informatique moderne, il est nécessaire de mettre en place un système qui puisse, au
moins de manière dégradée, récupérer les emails de manière transparente pour l'émetteur.
1.1 Que fait le MX Secondaire ?
Son boulot est pas super passionnant (enfin, je pense que c'est le cas de beaucoup de services web)... Il passe son temps à attendre des emails qui lui arrivent lorsque le serveur émetteur n'a pas pu délivrer ou contacter le MX primaire. Quand il les reçoit, il les conserve dans son spool et il essaye à intervalle régulier de contacter le serveur primaire pour lui transmettre ces emails.
N'oubliez pas de mettre en MX au niveau du DNS votre serveur de mail !!!
2 Configuration de Postfix
2.1 Sur le MX secondaire
2.1.1 Main.cf
Editez le fichier /etc/postfix/main.cf et adaptez (utilisez-en un seulement) :
mydestination = burnin.deimos.fr, deimos.fr, burnin, localhost relay_domains = $mydestination, mavro.fr
La forme encadrée par [] elimine les consultations MX du DNS.
Par défaut, le client SMTP effectue des requêtes DNS même si vous indiquez une machine relais. Si votre machine n'a pas d'accès au serveur DNS, désactivez les consultations DNS du client SMTP comme suit :
disable_dns_lookups = yes
Sur smtpd_recipient_restrictions, vérifiez que vous avez bien ces 2 lignes :
smtpd_recipient_restrictions = permit_mx_backup, permit_mynetworks, reject_unauth_destination
Rajoutez cette ligne pour dire qui est le serveur principale :
transport_maps = hash:/etc/postfix/transport
SMTP Banner : Si vous en avez mis un avec le nom de la machine en premier, n'oubliez pas de changer celui-ci avec celui de votre mx secondaire :
smtpd_banner = burnin.deimos.fr - Microsoft Exchange (5.5)
Insérez ensuite cette ligne pour indiquer les personnes a relayer :
relay_recipient_maps = hash:/etc/postfix/relay_recipients
2.1.2 transport
Créer un fichier /etc/postfix/transport et insérez ceci :
domaine_a_relayer smtp:[serveur_primaire_FQDN]
ex :
deimos.fr smtp:[fire.deimos.fr] mavro.fr smtp:[fire.deimos.fr]
2.1.3 relay_recipients
Et maintenant créer le fichier relay_recipients :
deimos@deimos.fr x pierre@mavro.fr x
Ceci doit contenir les noms des personnes à relayer.
2.1.4 mailname
Editez le fichier /etc/mailname et mettez votre DNS :
/etc/mailname |
deimos.fr |
2.1.5 Validation
On valide le tout maintenant :
postmap /etc/postfix/transport postmap /etc/postfix/relay_recipients
Et on reload la conf de Postfix :
/etc/init.d/postfix reload
2.2 Sur le MX primaire
Rien à faire :-)
3 Vérifications
Pour voir ce qu'on a ensuite dans le spool :
mailq
Si vous êtes très pressé de récupérer vos mails après avoir remonté votre serveur primaire :
mailq -q