10-09
Postfix, spécifier une IP différente en fonction du domaine de l'émetteur

smtp_bind_addresssmtp
Il faut d'abord créer une nouvelle map. Les 2 domaines que j'ai à router sur des IPs différentes seront admin-serv.net ainsi que aserv.eu.
Le fichier sdd_transport_maps.regexp
cd /etc/postfix/ nano sdd_transport_maps.regexpInsérez les lignes correspondantes à votre domaine:
/@admin-serv\.net$/ adminserv_net: /@aserv\.eu$/ aserv_eu:Maintenant, dans notre master.cf, nous allons créer des nouvelles routes.
nano /etc/postfix/master.cf adminserv_net unix - - n - - smtp -o smtp_bind_address=IP1 -o smtp_helo_name=admin-serv.net -o syslog_name=postfix-adminserv_net aserv_eu unix - - n - - smtp -o smtp_bind_address=IP2 -o smtp_helo_name=aserv.eu -o syslog_name=postfix-aserv_euNote: Vous pouvez aussi en profiter pour binder une IPv6 à l'aide du paramètre smtp_bind_address6 de postfix. Maintenant, nous allons modifier le fichier main.cf pour ajouter notre fichier de map.
nano /etc/postfix/main.cf sender_dependent_default_transport_maps = regexp:/etc/postfix/sdd_transport_maps.regexpIl ne nous reste plus qu'à relancer Postfix
# Un reload a semblé fonctionner chez moi, n'hésitez pas à faire un restart /etc/init.d/postfix reload
6 Commentaires pour ce billet.
Votre commentaire
Bravo pour cet article très clair !
Je l'ai mis en place sur un serveur personnel (qui utilise 2 interfaces réseau), et ça fonctionne à merveille.
/@blog.domain.tld\.net$/ eth0:
/@domain.tld\.eu$/ eth1:
Par contre, je me suis aperçu de quelque chose:
J'ai aussi la configuration:
http://www.zapoyok.info/2011/01/01/orangewanadoo-et-%C2%AB-too-many-connections-slow-down-ofr004_104-104-%C2%BB/
Dans mon master.cf, ce qui me permet de ralentir les envois consécutifs destinés à Orange / Wanadoo.
Ainsi, lorsque "*@domain.tld" émet vers Orange / Wanadoo, c'est sur eth0 qu'il sort !
Il semblerais que les 2 réglages ne se combinent pas.
Est ce qu'il y a un moyen de les combiner ? Je pensais a rediriger le service "slow:" vers le service "relay:" afin de réinjecter les emails, pour que le sender soit re-analysé, et qu'ils partent avec la bonne interface ..
Merci par avance ;)
Bonjour Adrien.
En effet j'ai le même soucis que toi. Et la doc le dis bien, le transport écrase le sdd_transport...
J'ai fait de nombreux tests en plaçant les clés de configuration à divers endroits, malheureusement rien n'est passé.
A noter que pour Orange, j'utilise :
Et ça fonctionne parfaitement.
En revanche, le problème que tu soulèves est en effet très dommage/bizarre, peut-être qu'un fix sera proposé dans les prochaines versions de postfix.
Avec le paramètre "default_transport = eth0" dans le main.cf, les emails qui rentrent dans le cadre du "slow:" utilisent encore l'autre service "eth1:" !
Comme si lorsque le service slow est utilisé, il surcharge "sdd_transport" et "default_transport" ..
Quoiqu'il en soit, c'est étrange de ne pas pouvoir cumuler les deux, étant donné qu'ils filtrent des zones différentes (recipient d'un coté et sdd de l'autre)
En fin de compte: tout ça à cause d'orange une fois de plus ! >_
Je viens de remarquer: l'heure des commentaires est en GMT, il manque 2 heures (GMT +1 pour la France, et +1 encore pour l'heure d'hiver) :o)
@Adrien : Merci ;)
Faut que je regarde ça.
Bonjour et merci pour cet explication! Malheureusement pour ma part ça ne fonctionne pas, j'ai pourtant bien tout suivi mais peut être que ma configuration nécessite quelque chose? J'utilise un dédié avec debian squeeze, j'ai plusieurs ip failover configuré ainsi
post-up /sbin/ifconfig eth0:0 IP.DE.FAIL.OVER netmask 255.255.255.255 broadcast IP.DE.FAIL.OVER
post-down /sbin/ifconfig eth0:0 down
post-up /sbin/ifconfig eth0:1 IP.DE.FAIL.OVER1 netmask 255.255.255.255 broadcast IP.DE.FAIL.OVER1
post-down /sbin/ifconfig eth0:1 down
Après avoir effectué les modifications que vous avez indiqué, ca ne change rien, dans les entete des email cela indique toujours l'adresse du serveur au lieux de l'adresse indiqué selon le domaine utilisé... quand vous indiqué d'ajouter des lignes dans certain fichier, je le fait toujours en bas du fichier, devrais-je le faire en haut? En tout les cas, merci de partager vos découverte ;)