Bonjour à tous,
J’essaye depuis quelques temps de configurer un relais SMTP avec Postfix (Debian Squeeze, kernel 2.6.32-5-686), en frontal, avec un serveur Exchange 2010 derrière. Ces deux serveurs sont virtualisés sous environnement ESX 5.0, et communiquent (ping OK).
Mon serveur Exchange est également contrôleur de domaine de “exemple.com”. Les boîtes mails correspondent à un autre nom de domaine (titi.fr) Le flux DNS est bien ouvert par mon FAI, je récupère sur mon relais les mails à destination de titi.fr.
–> Les boîtes mails en local fonctionnent bien (envoi et réception)
–> Le relais bloque systématiquement les requêtes provenant de l’extérieur (Relay Access Denied) vers titi.fr
–> Les logs du relais n’affichent aucune trace des mails désirant sortir sur Internet (de mon LAN vers Internet donc)
Schéma:
SERVEUR EXCHANGE -----> RELAIS (POSTFIX) <----- INTERNET
Adresses IP:
Serveur Exchange : [172.21.44.X/24]
RELAIS [172.21.41.X/24] [90.X.X.X]
Mon fichier /etc/postfix/main.cf:
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
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
myhostname = RELAIS-SMTP.exemple.com
myorigin = titi.fr
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = titi.fr
mydestination = RELAIS-SMTP.titi.fr, RELAIS-SMTP.exemple.com, localhost.exemple.com, localhost
relayhost =
relaydomains = titi.fr
mynetworks = 127.0.0.0/8, 172.21.41.0/24, 172.21.44.0/24
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
transport_maps = hash:/etc/postfix/transport
relay_recipient_maps = hash:/etc/postfix/relay_recipients
Le contenu de master.cf:
[code]smtp inet n - - - - smtpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
-o smtp_fallback_relay=
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
[/code]
Le contenu du fichier transport:
Le contenu de relay_recipients:
Exemple de logs lorsque je tente d’envoyer un mail à partir d’une adresse GMAIL à destination de test@titi.fr:
Quelques problèmes:
- Je ne sais pas si mes variables relaydomain et relayhosts sont bonnes
- Je ne sais pas si le serveur indiqué dans /etc/postfix/transport doit faire apparaître le FQDN relatif au domaine sur lequel il est (exemple.com), ou au nom de domaine pour les BAL qu’il gère (titi.fr)
Merci d’avoir pris le temps de me lire, j’espère avoir été assez clair, et que vous pourrez m’aider. Si besoin, n’hésitez pas à me demander des informations supplémentaires (là je ne vois pas trop quoi rajouter).