« LINUX:Postfix-Configuration des serveurs de messagerie latérale » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
(Page créée avec « __FORCETOC__ ---- ''→ Postfix et Dovecot-Configuration de gestion'' ---- =But= Cet article traite de la configuration des autres serveurs de messagerie Postfix qui vont envoyer leurs messages au serveur central. Dans le schéma, c'est ma machine B (ou C et suivantes) qui est concernée. Rappelons que le but est de transférer les messages de gestion locaux sur la machine maître (A). Il n'a pas pour objectif... »)
 
Aucun résumé des modifications
Ligne 18 : Ligne 18 :


Leur configuration est fort similaire à celle du maître.
Leur configuration est fort similaire à celle du maître.
=Configuration du fichier "main.cf"=
Après nettoyage du fichier "/etc/postfix/main.cf", on garde la partie suivante:
----
compatibility_level = 3.6
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
'''alias_maps = hash:/etc/aliases'''
'''alias_database = hash:/etc/aliases'''
debug_peer_level = 2
debugger_command =
          PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
          ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
meta_directory = /etc/postfix
shlib_directory = /usr/lib64/postfix
----
Les lignes suivantes peuvent être désactivées car inutiles ou non nécessaires car liées au cryptage.
----
#manpage_directory = /usr/share/man
#sample_directory = /usr/share/doc/postfix/samples
#readme_directory = /usr/share/doc/postfix/README_FILES
#smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem
#smtpd_tls_key_file = /etc/pki/tls/private/postfix.key
#smtpd_tls_security_level = may
#smtp_tls_CApath = /etc/pki/tls/certs
#smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
#smtp_tls_security_level = may
----
On les met en commentaire ou plus simplement, on les éliminent.
Les lignes suivante sont modifiées ou ajoutées. La première est nécessaire.
----
'''inet_interfaces = all'''
mynetworks_style = host
inet_protocols = ipv4
----
Explications:
* inet_interfaces : permet d'accepter les messages venant de tous les interfaces réseaux alors que la configuration de base n'acceptait que ceux de la machine locale.
* mynetworks_style : permet de n'accepter pour un transfert vers un autre serveur de messagerie que les message de la machine locale. Cette option est optionnelle.
* inet_protocols : est aussi optionnel. Elle permet de se limiter à IPV4.
=Configuration du fichier "master.cf"=
Après un léger nettoyage, nous obtenons le contenu suivant:
----
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#              (yes)  (yes)  (no)    (never) (100)
# ==========================================================================
'''#smtp      inet  n      -      n      -      -      smtpd'''
pickup    unix  n      -      n      60      1      pickup
cleanup  unix  n      -      n      -      0      cleanup
qmgr      unix  n      -      n      300    1      qmgr
tlsmgr    unix  -      -      n      1000?  1      tlsmgr
rewrite  unix  -      -      n      -      -      trivial-rewrite
bounce    unix  -      -      n      -      0      bounce
defer    unix  -      -      n      -      0      bounce
trace    unix  -      -      n      -      0      bounce
verify    unix  -      -      n      -      1      verify
flush    unix  n      -      n      1000?  0      flush
proxymap  unix  -      -      n      -      -      proxymap
proxywrite unix -      -      n      -      1      proxymap
'''smtp      unix  -      -      n      -      -      smtp'''
'''relay    unix  -      -      n      -      -      smtp'''
'''        -o syslog_name=postfix/$service_name'''
showq    unix  n      -      n      -      -      showq
error    unix  -      -      n      -      -      error
retry    unix  -      -      n      -      -      error
discard  unix  -      -      n      -      -      discard
local    unix  -      n      n      -      -      local
'''#virtual  unix  -      n      n      -      -      virtual'''
lmtp      unix  -      -      n      -      -      lmtp
anvil    unix  -      -      n      -      1      anvil
scache    unix  -      -      n      -      1      scache
postlog  unix-dgram n  -      n      -      1      postlogd
----
La première ligne n'est pas active:
----
#smtp      inet  n      -      n      -      -      smtpd
----
La réception de messages venant du réseau n'est pas possible. Le port SMTP (25) ne se retrouve pas dans la liste des ports en écoute, au contraire du maître.
La commande:
netstat -ntpl | grep master
ne donnera rien.
On remarque plus bas la ligne désactivée mise en commentaire.
----
#virtual  unix  -      n      n      -      -      virtual
----
Elle est inutile car on n'héberge pas de domaines virtuels, seul le domaine correspondant au nom de la machine est actif.
Ces deux lignes peuvent être effacées.
On remarque quatre lignes désactivées en les mettant en commentaire.
----
#smtp      unix  -      -      n      -      -      smtp
#relay    unix  -      -      n      -      -      smtp
#        -o syslog_name=postfix/$service_name
#virtual  unix  -      n      n      -      -      virtual
----
La première désactive l'envoi de message à d'autres machines dont le serveur de messagerie est connu. Les deux suivantes désactivent le "relay", c'est à dire le transfert des messages non délivrés car le destinataire est inconnu. Ces lignes peuvent être effacées. La dernière est inutile car on n'héberge pas de domaines virtuels, seul le domaine correspondant au nom de la machine est actif. Si notre machine porte le nom "servermail.home.dom" comme indiquée dans le schéma, l'adresse mail de l'utilisateur 'root" sera "root@servermail.home.dom".





Version du 2 mai 2022 à 15:08


Postfix et Dovecot-Configuration de gestion


But

Cet article traite de la configuration des autres serveurs de messagerie Postfix qui vont envoyer leurs messages au serveur central. Dans le schéma, c'est ma machine B (ou C et suivantes) qui est concernée.

Rappelons que le but est de transférer les messages de gestion locaux sur la machine maître (A). Il n'a pas pour objectif d'envoyer des messages vers un autre prestataire d'Internet ni entre utilisateurs de notre famille ou entreprise. On n'accepte que les messages de la machine; donc le serveur SMTP n'est pas actif (port 25). De même comme nous travaillons en interne, en vase clos et pas soucis de simplification, nous n'utiliserons pas de cryptage.


Fichiers de configuration

Comme vu précédemment, les fichiers de configuration de Postfix se trouvent dans le répertoire "/etc/postfix". Nous n'utiliserons que des trois fichiers strictement nécessaires:

  • main.cf : contenant les paramètres généraux de Postfix
  • master.cf : contenant la liste des programmes intervenant dans le fonctionnement de Postfix

Le fichier "/etc/aliases" qui intervient dans "main.cf", sera traité en fin d'article.

Leur configuration est fort similaire à celle du maître.


Configuration du fichier "main.cf"

Après nettoyage du fichier "/etc/postfix/main.cf", on garde la partie suivante:


compatibility_level = 3.6
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
mydestination = $myhostname, localhost.$mydomain, localhost
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
meta_directory = /etc/postfix
shlib_directory = /usr/lib64/postfix


Les lignes suivantes peuvent être désactivées car inutiles ou non nécessaires car liées au cryptage.


#manpage_directory = /usr/share/man
#sample_directory = /usr/share/doc/postfix/samples
#readme_directory = /usr/share/doc/postfix/README_FILES
#smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem
#smtpd_tls_key_file = /etc/pki/tls/private/postfix.key
#smtpd_tls_security_level = may
#smtp_tls_CApath = /etc/pki/tls/certs
#smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
#smtp_tls_security_level = may

On les met en commentaire ou plus simplement, on les éliminent.


Les lignes suivante sont modifiées ou ajoutées. La première est nécessaire.


inet_interfaces = all
mynetworks_style = host
inet_protocols = ipv4

Explications:

  • inet_interfaces : permet d'accepter les messages venant de tous les interfaces réseaux alors que la configuration de base n'acceptait que ceux de la machine locale.
  • mynetworks_style : permet de n'accepter pour un transfert vers un autre serveur de messagerie que les message de la machine locale. Cette option est optionnelle.
  • inet_protocols : est aussi optionnel. Elle permet de se limiter à IPV4.


Configuration du fichier "master.cf"

Après un léger nettoyage, nous obtenons le contenu suivant:


# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
#smtp      inet  n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
        -o syslog_name=postfix/$service_name
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
#virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
postlog   unix-dgram n  -       n       -       1       postlogd


La première ligne n'est pas active:


#smtp      inet  n       -       n       -       -       smtpd

La réception de messages venant du réseau n'est pas possible. Le port SMTP (25) ne se retrouve pas dans la liste des ports en écoute, au contraire du maître. La commande:

netstat -ntpl | grep master

ne donnera rien.


On remarque plus bas la ligne désactivée mise en commentaire.


#virtual   unix  -       n       n       -       -       virtual

Elle est inutile car on n'héberge pas de domaines virtuels, seul le domaine correspondant au nom de la machine est actif.

Ces deux lignes peuvent être effacées.


On remarque quatre lignes désactivées en les mettant en commentaire.


#smtp      unix  -       -       n       -       -       smtp
#relay     unix  -       -       n       -       -       smtp
#        -o syslog_name=postfix/$service_name
#virtual   unix  -       n       n       -       -       virtual

La première désactive l'envoi de message à d'autres machines dont le serveur de messagerie est connu. Les deux suivantes désactivent le "relay", c'est à dire le transfert des messages non délivrés car le destinataire est inconnu. Ces lignes peuvent être effacées. La dernière est inutile car on n'héberge pas de domaines virtuels, seul le domaine correspondant au nom de la machine est actif. Si notre machine porte le nom "servermail.home.dom" comme indiquée dans le schéma, l'adresse mail de l'utilisateur 'root" sera "root@servermail.home.dom".







Postfix et Dovecot-Configuration de gestion