Postfix configuration de base

Un article de ALW - Another Linux Wiki.

Sommaire

[modifier] Introduction

Postfix a plusieurs centaines de paramètres de configuration qui sont contrôlés par l'intermédiaire du fichier main.cf. Heureusement, la majorité contient des valeurs par défaut. Dans la plupart des cas, vous devez configurer seulement des deux ou trois paramètres avant de pouvoir employer le système de courrier de Postfix.

[modifier] Prérequis

Le fichier par défaut se situe dans le répertoire /etc/postfix/main.cf, vous n'avez qu'à l'éditer avec un éditeur (au hasard, vim). Pour pouvoir démarer postfix la première fois, sous un système unix, vous n'avez qu'à faire /etc/init.d/postfix start . Par défaut, il démarera automatiquement lors de chaque démarrage du serveur.

Pour débuter, il est important de connaître les informations suivantes :

  • Quel domaine afficher dans le courrier sortant
  • De quels domaines recevoir le courrier
  • De quels clients relayer le courrier
  • Quels événements doivent être rapportés au postmaster

Très important : Ne modifiez jamais plus qu'un ou deux paramètres à la fois. De plus, si vous changez des paramètres d'un système Postfix actif, n'oubliez pas de lancer la commande postfix reload sinon vos changements ne seront pas pris en compte.

Si vous utilisez Postfix sur une interface réseau virtuelle, ou si d'autres serveurs de mail fonctionnent sur votre machine sur des interfaces virtuelles, vous devrez regarder les paramètres ci-dessous :

  • Mon nom de machine
  • Mon nom de domaine
  • Mes réseaux
  • Mes adresses de réseau

[modifier] Configuration

C'est maintenant qu'on met les mains dans le cambouis

[modifier] Quel domaine afficher dans le courrier sortant

Le paramètre myorigin indique le domaine qui apparaît dans le courrier envoyé sur cette machine. La valeur par défaut est le nom de machine, $myhostname, qui vaut par défaut le nom de la machine. À moins que vous gériez un site vraiment petit, vous voudrez probablement changer cela en $mydomain, dont la valeur par défaut est le domaine parent de la machine.


File: /etc/postfix/main.cf
 
#valeur par defaut
#myorigin = $myhostname
#valeur souhaitable
myorigin = $mydomain


[modifier] De quels domaines recevoir le courrier

Le paramètre mydestination indique les domaines pour lesquels cette machine délivrera le courrier localement, au lieu de le transmettre à une autre machine. La valeur par défaut est de recevoir le courrier à destination de la machine elle-même.

Si votre machine est un serveur de mail pour son domaine entier, vous devez ajouter $mydomain.

Configuration par defaut:

File: /etc/postfix/main.cf
 
mydestination = $myhostname localhost.$mydomain
  

Serveur de mail d'un domaine entier:

File: /etc/postfix/main.cf
 
mydestination = $myhostname localhost.$mydomain $mydomain
  

Machine avec de multiples enregistrements DNS de type A:


File: /etc/postfix/main.cf
 
mydestination = $myhostname localhost.$mydomain www.$mydomain ftp.$mydomain
  

Warning: Afin d'éviter des boucles de distribution du courrier, vous devez énumérer tous les noms d'hôtes de la machine, incluant $myhostname, et localhost.$mydomain.

[modifier] De quels clients relayer le courrier

Par défaut, Postfix relaie le courrier des clients des réseaux autorisés et des domaines autorisés.

Les réseaux autorisés sont définis par le paramètre **mynetworks**. La valeur par défaut autorise tous les clients des sous-réseaux IP auxquels la machine est reliée.

[modifier] Mon nom de machine

Le paramètre myhostname décrit le nom de domaine propre de la machine exploitant le système Postfix. $myhostname apparaît comme valeur par défaut dans beaucoup d'autres paramètres de configuration de Postfix.

Par défaut, myhostname contient le nom de la machine. Si votre nom de machine n'a pas la forme d'un nom de domaine, ou si vous utilisez Postfix sur une interface virtuelle, vous devrez indiquer le nom de domaine que le système de courrier devrait employer.

Exemples:

 myhostname = host.local.domain (le nom d'hôte n'est pas FQDN) 
 myhostname = host.virtual.domain (interface virtuelle) 
 myhostname = virtual.domain (interface virtuelle)

[modifier] Mon nom de domaine

Le paramètre de mydomain indique le domaine de rattachement de $myhostname. Par défaut il est dérivé de $myhostname ôté de la première partie (sauf si le résultat donne un domaine racine).

Exemples:

 mydomain = local.domain 
 mydomain = virtual.domain (interface virtuelle)

[modifier] Mes réseaux

Le paramètre de mynetworks contient tous les réseaux auxquels cette machine fait confiance. Cette information peut être employée par les dispositifs anti-spam pour identifier les clients SMTP autorisés à relayer du courrier par Postfix.

Vous pouvez indiquer la liste de réseaux de confiance dans le fichier de configuration main.cf, ou vous pouvez laisser Postfix déduire la liste pour vous. La valeur par défaut est de laisser Postfix effectuer le travail pour vous.


File: /etc/postfix/main.cf
 
mynetworks_style = subnet
  

[modifier] Mes adresses de réseau

Le paramètre inet_interfaces indique toutes les adresses d'interface réseau sur lesquelles le système Postfix doit écouter. Le courrier adressé à l'utilisateur @adresse de réseau sera délivré localement, comme s'il était adressé à un domaine énuméré dans $mydestination.

Par défaut Postfix écoute sur toutes les interfaces actives. Si vous utilisez des serveurs de mail sur des interfaces virtuelles, vous devrez indiquer sur quelles interfaces écouter.

Exemples: Défaut:

File: /etc/postfix/main.cf
 
inet_interfaces = all
  

Machine utilisant des serveurs virtuels :

File: /etc/postfix/main.cf
 
  inet_interfaces = virtual.host.tld (domaine virtuel) 
  inet_interfaces = $myhostname localhost.$mydomain (serveur non-virtuel)

Note: Comme mentionné en début d'article, il est très important de ne pas modifier plus que quelques items à la fois et vous devez redémarer postfix (/etc/init.d/postfix reload) à toutes les fois sinon les changements ne seront pas pris en comptes

[modifier] Conclusion

Voila, nous avons maintenant un serveur mail qui fonctionne avec une configuration assez basique et simple. On pourra y adjoindre des programmes permettant de filtrer les spam et les virus comme spamassassin et clamav.

Rubriques