Placenet.fr

Le Libre, IP c'est tout !

Placenet.fr - Le Libre, IP c'est tout !

Multiple instances avec Postfix

Postfix dispose d’aucune capacité inhérente de distinguer le courrier entrant du courrier sortant. Cependant, avec quelques modifications il est possible de le faire.
Le procédé décrit dans ce document vous permet de différencier le traitement du courrier entrant et sortant.
Postfix étant exceptionnellement bien conçu, le fait d’exécuter une deuxième instance ne consommera pas  une grande quantité de ressources supplémentaires du serveur, deux (ou plus) instances pourront donc facilement coexister sur le même serveur.
Ce guide rapide, vous permet de réaliser une deuxième instance de Postfix pour gérer le courrier électronique sortant via SASL. Nous supposons que vous avez déjà réalisé une installation fonctionnelle de Postfix sur une distribution Gnu/Linux Debian.
Sous Gnu/Linux Debian Squeeze, il suffit donc d’exécuter les instructions et de configurer comme cela :
# apt-get install postfix

le multi-instance est maintenant disponible depuis le postfix 2.6, son utilisation est relativement simple :

 # postmulti -e init
# postmulti -I postfix-out -G mta -e create
# mkdir /var/spool/postfix-out
# mkdir /var/lib/postfix-out
# cp -rp /var/spool/postfix/etc  /var/spool/postfix-out
# cp -rp /var/spool/postfix/usr  /var/spool/postfix-out
# cp -rp /var/spool/postfix/lib  /var/spool/postfix-out

Le fichier de configuration de la première instance /etc/postfix/main.cf doit contenir ces lignes :

multi_instance_wrapper = ${command_directory}/postmulti -p --
multi_instance_enable = yes
multi_instance_directories = /etc/postfix-out

Le fichier de configuration de la seconde instance /etc/postfix-out/main.cf doit contenir les lignes suivantes :

syslog_name = postfix-out
queue_directory = /var/spool/postfix-out
data_directory = /var/lib/postfix-out
multi_instance_group = mta
multi_instance_name = postfix-out

Comme notre seconde instance ne sert que pour l’envois des mails avec authentification (SASL) le fichier de configuration /etc/postfix-out/master.cf doit être configuré avec les lignes suivantes :

# smtp      inet  n       -       -       -       -       smtpd
# PORT 587 (pas de mot de passe en clair !)
submission inet n       -       -       -       -       smtpd
-o smtpd_etrn_restrictions=reject
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_authenticated_header=no
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
# PORT 465 pour le SSL
smtps   inet  n       -       -       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_sasl_authenticated_header=no
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Il n’y a rien à changer dans le /etc/init.d/postfix, le multi-instance est pris en compte dans la nouvelle version de postfix. Les deux instances seront exécutées l’une après l’autre. Il est aussi nécessaire de veiller à ce que les deux instances fournissent le service à partir d’une adresse Ip différente, cette possibilité est définie par l’instruction smtp_bind_address et smtp_bind_address6. Si il y a une mise à jour de Postfix, il ne faut pas oublier de re-copier les répertoires, sinon un message signalera la différence de version.

Catégorie : Techno, Tutoriel
Mot-Clé : , , , ,