August 2008 Archives

21-08-2008 10:47:41

[Mail] Creer un MX secondaire avec Postfix

Le serveur mail est une ressource souvent tres importante dans une société car constitue le moyen de communication principal. C'est pourquoi assurer son service est tres important. Bien sur il est possible d'envisager de la haute disponibilité mais la premiere chose a faire a mon avis et qui n'est pas assez respecté, c'est de mettre en place un serveur mail secondaire.

Pour cela, il va tout d'abord falloir créer une entrée de MX secondaire dans nos DNS. On mettra une priorité de 10 par exemple au primaire et de 20 au secondaire pour obtenir au final une entrée du genre :

www 10800 IN A 80.111.222.123 
mail 10800 IN CNAME www 
backup 10800 IN CNAME www 
@ 10800 IN MX 10 mail.mon-site.com. 
@ 10800 IN MX 20 backup.mon-site.com. 
Je ne m'étalerai pas sur l'installation d'un serveur mail normal, google est votre amis. On va donc directement se concentrer sur le serveur secondaire. J'utiliserai ici un serveur Postfix sur une FreeBSD 7.0.
Je commence par installer le serveur Postfix :
#cd /usr/ports/mail/postfix
#make install clean
Il faut ensuite penser a créer la base de données d'alias mail sinon le serveur gueule. On exécute donc la commande :
#newaliases
On va maintenant configurer notre Postfix en lui indiquant quels domaines relayer et la liste des mails a relayer. Pour cela il faut mettre les options suivantes dans notre /usr/local/etc/postfix/main.cf :
relay_domains = mon-site.com
relay_recipient_maps = hash:/usr/local/etc/postfix/relay_recipients
On crée ensuite notre liste de mails a relayer /usr/local/etc/postfix/relay_recipients de cette forme :
cloud@mon-site.com	x
toto@mon-site.com	x
fred@mon-site.com	x
Surtout ne pas oublier de transformer cela en base de données Postfix en tapant la commande :
#postmap /usr/local/etc/postfix/relay_recipients
On coupe sendmail :
#/etc/rc.d/sendmail stop
On configure le démarrage de notre serveur en supprimant sendmail et en y ajoutant Postfix en configurant le fichier /etc/rc.conf :
sendmail_enable="NONE"
postfix_enable="YES"
Et on démarre Postfix :
#/usr/local/etc/rc.d/postfix start
Il ne reste plus qu'a effectuer un test en coupant le serveur mail principal et en regardant le fichier /var/log/maillog. On doit y voir apparaitre nos mails avec des reject sur les adresses non autorisées et des mises en queue pour les autres.
On redémarre ensuite le serveur principal qui doit recevoir nos mails peu de temps apres le redémarrage.

Mission accomplie !


Posted by cloud | Permanent link | File under: FreeBSD, OpenSource, Security