MX Secondaire : mise en place

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

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 :

Configuration File /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

4 Références

Autre documentation