« LINUX:Postfix-Configuration des serveurs de messagerie latérale » : différence entre les versions
(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