Zusammenspiel von Virtual Alias Map und Tranport Map
rog7993 at web.de
rog7993 at web.de
Mo Dez 7 14:58:00 CET 2015
Hallo,
wir haben derzeit ein Setup, das vereinfacht dargestellt ein Mailgateway
in der DMZ und einen Message Store im internen LAN enthält. Dem
Mailgateway sind alle Mailadressen in einer Virtual Alias Map" bekannt.
Darüber erfolgt ein Umschreiben des SMTP-Envelope Empfängers der Art:
user1 at domain1.org user1 at msgstore
Über die Transport Map erfolgt dann das Routing an den Message Store:
msgstore :[msgstore.domain1.org]
Die derzeitige Konfiguration findet sich am Ende dieser Mail.
Ich möchte das derart umstellen, dass der originale SMTP-Envelope
Empfänger an den neuen Message Store durchgereicht wird. Die Migration
wird ein paar Wochen dauern und es müssen temporär, wahrscheinlich
dauerhaft, beide Varianten funktionieren. Mein erster Ansatz war, in der
"transport map" einen Eintrag dieser Art zu machen:
user2 at domain1.org :[msgstore-neu.domain1.org]
Das funktioniert nicht, weil diese Adresse nicht in der Virtual Alias
Map definiert ist und offenbar wird diese vor der Transport Map
ausgewertet:
Recipient address rejected: User unknown in virtual alias table (in
reply to RCPT TO command)
Wenn ich die Domäne "domain1.org" aus dem Konfigurationsparameter
"virtual_alias_domains" entferne, funktioniert dies. Es hat aber
mindestens den Nachteil, dass das Mailgateway sich dann nicht mehr für
diese Domäne zuständig fühlt und Mails an nichtexistente Mailadressen
dieser Domäne an den Relayhost (ein externer Dienstleister) schickt.
Zumindest dann, wenn alle Mailadressen einzeln in der Transport Map
definiert (analog oben) werden. Sollte man in der Transport Map hingegen
noch einen Catch-All Eintrag für die komplette Domäne domain1.org haben
(stellt sich die Frage wohin?), würde das Mailgateway alle Mails dieser
Domäne annehmen, also auch solche an nicht existente Mailadressen und
erst der nachgelagerte Message Store verwirft diese dann, was
hinsichtlich Backscatter-Spam nicht zu empfehlen ist.
Wie würde man das gewünschte Verhalten idealerweise erreichen?
1. Durchreichen des SMTP-Envelope Empfängers vom Mailgateway an
den Messagestore
2. Das Mailgateway soll in der Lage sein, Mails an nichtexistente
Adressen unserer Domäne, abzuweisen
3. Das alte Routing mit Umschreiben des SMTP-Envelope Empfängers soll
nach wie vor funktionieren.
Ahh. Ich sehe gerade in der Man-Page der transport-Table, dass man dort
einen Error Mailer einsetzen kann. Wäre dies die Lösung für den oben
angesprochenen Catch-All Eintrag?
Derzeite Konfiguration:
/etc/postfix/main.cf:
=====================
# postconf -nf
alias_database = hash:/etc/postfix/shared/aliases
alias_maps = hash:/etc/postfix/shared/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
delay_warning_time = 4h
inet_interfaces = x.x.x.x localhost
mailbox_size_limit = 0
message_size_limit = 102400000
mydestination = localhost
myhostname = mailgw.domain1.org
mynetworks = 127.0.0.0/8 10.0.0.0/8
myorigin = $mydomain
relayhost = mailgw.domain-ext.org
sender_dependent_default_transport_maps =
hash:/etc/postfix/sender_dependent_default_transport
slow-smtp_destination_concurrency_limit = 1
slow-smtp_destination_rate_delay = 1
smtp_tls_CAfile = /etc/postfix/shared/certs/ca-certificates.crt
smtp_tls_loglevel = 1
smtp_tls_policy_maps = hash:/etc/postfix/shared/tls_policy
smtp_tls_security_level = may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP
smtpd_recipient_restrictions = permit_mynetworks
reject_unauth_destination
smtpd_tls_CAfile = /etc/postfix/shared/certs/ca-certificates.crt
smtpd_tls_cert_file = /etc/ssl/certs/mailgw-cert.pem
smtpd_tls_key_file = /etc/ssl/private/mailgw-key.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
transport_maps = hash:/etc/postfix/shared/transport
unverified_recipient_reject_code = 550
virtual_alias_domains = domain1.org domain2.org
virtual_alias_expansion_limit = 5000
virtual_alias_maps = hash:/etc/postfix/shared/virtual
/etc/postfix/shared/virtual:
=======================
user1 at domain1.org user1 at dovecot
/etc/postfix/shared/transport:
=======================
dovecot :[dovecot.domain1.org]
--
Viele Grüße,
Ingo
Mehr Informationen über die Mailingliste Postfixbuch-users