Postfix als Rewrite Gateway

TooCloudy

New Member
Hallo Serversupport Community!

Ich melde mich mit meinem ersten Beitrag bei euch sogleich mit einem mächtigen Hammer, da ich in einem Projekt für ein Rewrite Gateway nicht mehr voran komme, völlig feststecke und hoffe, dass unter euch ein paar echte Postfix Spezialisten zu finden sind.

Ziel meines Projekt soll es sein, ein Rewrite Gateway für mehrere Quellorganisationen einzurichten, welches den ausgehenden Mailverkehr hinter einer neuen Domäne maskiert und bei antworten wieder demaskiert. Konkret funktioniert dies ausgehend auch schon, indem meine Quelldomäne "@oldcorp.com" in "@newcorp.com" umgeschrieben wird und der Empfänger nur die neue Domäne sieht. Der Rückweg macht mir allerdings etwas Sorgen, da die Mail dort zwar am Gateway umgeschrieben und richtig geroutet wird, jedoch mit der falschen "To" Adresse am Exchange Server übergeben wird. Da dieser die @newcorp.com nicht kennt, landet die Mail in einem Loop und die Zustellung wird unmöglich. Füge ich die @newcorp.com Domäne zu den akzeptierten Domänen hinzu, kann ich die Mails plötzlich zustellen und im "To" Feld steht die korrekte @oldcorp.com Adresse, im Header als "for" steht jedoch noch die newcorp.com Adresse drin...

Mein Weg konkret:

Erfolgreich versenden
@oldcorp.com (Exchange) => mailgw (CentOS/Postfix) smtpd_generic_map "@newcorp.com" => Internet

Empfang nicht erfolgreich
Internet @newcorp.com => mailgw (CentOS/Postfix) canonical_map "@oldcorp.com" => @newcorp.com (Exchange)

Meine main.cf

Code:
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
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
enable_original_recipient = no
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
local_header_rewrite_clients = permit_inet_interfaces permit_mynetworks
local_recipient_maps =
local_transport = error:local mail delivery is disabled
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination =
myhostname = mail.newcorp.com
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
recipient_canonical_maps = hash:/etc/postfix/canonical_recipient_map
relay_domains = newcorp.com oldcorp.com
relay_recipient_maps = hash:/etc/postfix/relay_recipients
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_generic_maps = hash:/etc/postfix/generic
smtpd_banner = $myhostname
transport_maps = hash:/etc/postfix/transport
virtual_alias_maps = hash:/etc/postfix/virtual

Meine master.cf

Code:
smtp      inet   n       -       n       -       -       smtpd
#smtp      inet  n       -       n       -       1       postscreen
#smtpd     pass  -       -       n       -       -       smtpd
#submission inet  n       -       n       -       -       smtpd
#  -o syslog_name=postfix/submission
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       n       -       -       smtpd
#  -o syslog_name=postfix/smtps
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_reject_unlisted_recipient=no
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628       inet  n       -       n       -       -       qmqpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
#qmgr     unix  n       -       n       300     1       oqmgr
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 smtp_helo_timeout=5 -o smtp_connect_timeout=5
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

Außerdem ist mir soeben aufgefallen, dass das generic Rewrite bei Terminen überhaupt nicht durchgeführt wird. Wäre hier vielleicht header_checks eine Alternative oder versuche ich vielleicht generell etwas umzusetzen, was mit Postfix nicht funktionieren kann...

Für jeden Hinweis der mich in die richtige Richtung führt, wäre ich euch echt dankbar!

Grüße
TooCloudy
 
Last edited by a moderator:
Back
Top