Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 31/05/2016, à 21:46

vincent-avct

ubuntu 16.04 postfix problème avec relayhost

bonsoir,

pour commencer peut-être faudra t il que je modifie mon titre : )

il y a peu j'ai configuré un serveur de mail unbuntu 16.04 postfix dovecot roundcube avec TLS
voici le lien vers la discussion https://forum.ubuntu-fr.org/viewtopic.php?id=1990488
j'ai plusieurs VMs web et je voulais que chacune d'elle passe par la VM mail pour envoyer leur mail.
j'ai donc configuré un réseau local avec les machine 192.168.255.1 jusqu'à 6 la sixième étant le serveur en question.
Tout fonctionnait correctement sans pour autant correspondre à mes attentes, maintenant j'ai mon serveur mail,
mais les autres VMs ne peuvent plus envoyer de mail.

sur le serveur de mail j'ai un csf.allow avec les déclarations

tcp|in|d=25|s=192.168.255.1
tcp|in|d=25|s=192.168.255.2

voici le fichier main.cf d'une de ces VMs

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = dev-91643.unanunjour.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = dev-91643.unanunjour.net, localhost.unanunjour.net, localhost, mail-91643.unanunjour.net
relayhost = 192.168.255.6
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

et voici le même fichier pour le serveur de mail

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

readme_directory = no

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
# On utilise le SASL de Dovecot
smtpd_sasl_type = dovecot
# Chemin vers le socket Unix
smtpd_sasl_path = private/auth
# On active le SASL
smtpd_sasl_auth_enable = yes
# Quelques options de sécurité assez parlantes
# smtpd_recipient_restrictions =  permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
# Ceci assure une compatibilité avec d'anciens clients (Outlook par ex.)
broken_sasl_auth_clients = yes
# Pas de connexions anonymes
smtpd_sasl_security_options = noanonymous
smtpd_helo_restrictions = reject_invalid_hostname
smtpd_sender_restrictions = reject_unknown_address, permit_mynetworks
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_unknown_sender_domain, reject_unknown_client, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, reject_rbl_client cbl.abuseat.org, permit

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mail-91643.unanunjour.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = $myhostname, avct.net, unanunjour.com, unanunjour.net, mail-91643.unanunjour.net, localhost.unanunjour.tld, localhost
relayhost = 
mynetworks = 192.168.255.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 5368709120
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxe

merci

Hors ligne

#2 Le 01/06/2016, à 22:00

vincent-avct

Re : ubuntu 16.04 postfix problème avec relayhost

j'ai donc ajouté à la config initial permit_mynetworks

smtpd_sender_restrictions = reject_unknown_address, permit_mynetworks

les deux sont-ils compatibles ?

une autre solution qui serai de f'utiliser une autre des vms pour servir de relay,
mais je pense que ce n'est pas a bonne solution : /

Hors ligne

#3 Le 04/06/2016, à 10:05

vincent-avct

Re : ubuntu 16.04 postfix problème avec relayhost

bonjour,
j'ai finalement utilisé le domaine de mon serveur de mail et ça fonctionne.
je suis toujours intéresser à comprendre pourquoi l'utilisation du réseau local ne fonctionne pas   : /
merci bon week-end

Hors ligne

#4 Le 04/06/2016, à 12:10

LeoMajor

Re : ubuntu 16.04 postfix problème avec relayhost

bonjour,

1/ pour tes mta secondaires,

relayhost = 192.168.255.6 erreur de syntaxe
relayhost = [192.168.255.6]   équivalent à dans une table transport à

 *            smtp:[192.168.255.6]

je ne sais pas si c'est très judicieux de tout transférer
d'abord

relay_domains = unanunjour.com unanunjour.net autre.domaine.com
relayhost =

et mettre dans une table transport "transport.cf"

autre.domaine.com                  local:                   # livraison sur place
unanunjour.com           smtp:[192.168.255.6]
unanunjour.net          smtp:[192.168.255.6]
sudo postmap /etc/postfix/transport.cf
sudo postconf -e 'transport_maps=hash:/etc/postfix/transport.cf'
sudo postfix reload

2/ MTA principal
tu as toujours la livraison minimale avec postfix direct local:  ,mais où dovecot n'est jamais invoqué pour local:

mailbox_command = /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"
ou
mailbox_transport = lmtp:unix:private/dovecot-lmtp

type de log

 19:15:02 mail postfix/local[29089]: 50DC4E6AE4: to=<toto@domain.tld>, orig_to=<toto>, relay=local, delay=0.07, delays=0.03/0/0/0.04, dsn=2.0.0, status=sent (delivered to command: /usr/lib/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT")
...
 11:15:02 mail postfix/lmtp[21769]: 6B549E6B42: to=<toto@domain.tld>, orig_to=<toto>, relay=mail.domain.tld[private/dovecot-lmtp], delay=0.09, delays=0.04/0.01/0.02/0.03, dsn=2.0.0, status=sent (250 2.0.0 <toto@domain.tld> x7C/HBacko.... Saved)

virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxe à supprimer, ou
(virtual_transport=dovecot et renseigner master.cf et autres paramètres virtual_)

Hors ligne

#5 Le 04/06/2016, à 14:03

vincent-avct

Re : ubuntu 16.04 postfix problème avec relayhost

bonjour et merci LeoMajor,
qu'entends tu par ?

LeoMajor a écrit :

je ne sais pas si c'est très judicieux de tout transférer

serait-il plus judicieux que chaque VM gère l'envoi de ses mails ?
pour quelle(s) raison(s) ?

Dernière modification par vincent-avct (Le 04/06/2016, à 14:11)

Hors ligne

#6 Le 05/06/2016, à 15:06

LeoMajor

Re : ubuntu 16.04 postfix problème avec relayhost

Tu as quelques exemples, qui servent de base, et puis à adapter.
J'ai remarqué que pour déboguer des problèmes transports, et aussi interaction entre MTA, les tables transports sont bien pratiques et aident à la résolution du problème.
Pour les *_restrictions, celles par défaut suffisent.

Hors ligne

#7 Le 05/06/2016, à 15:51

LeoMajor

Re : ubuntu 16.04 postfix problème avec relayhost

relay_transport (default: relay:)
              This  is  the default for remote delivery to domains listed with
              relay_domains. In order of decreasing  precedence,  the  nexthop
              destination   is   taken   from  relay_transport,  sender_depen-
              dent_relayhost_maps, relayhost, or from the recipient domain.

default_transport (default: smtp:)
              This is the default for remote delivery to  other  destinations.
              In  order  of  decreasing precedence, the nexthop destination is
              taken       from        sender_dependent_default_transport_maps,
              default_transport,  sender_dependent_relayhost_maps,  relayhost,
              or from the recipient domain.

relayhost=[192.168.255.6]
l'ambiguité de relayhost est que cela va avec smtp, et relay.

1/ MTA secondaires,
c'est peut-être mieux d'écrire

relay_domains = unanunjour.com unanunjour.net autre.domaine.com
relayhost =

et mettre dans une table transport "transport.cf"

autre.domaine.com                  local:                   # livraison sur place
unanunjour.com           relay:[192.168.255.6]
unanunjour.net          relay:[192.168.255.6]
*                                smtp:[192.168.255.6]

cela évite la résolution mx.

2/ MTA principal

relay_domains = unanunjour.com unanunjour.net
relayhost =
mynetworks = 192.168.255.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
....

Hors ligne