[Postfixbuch-users] Internes + Externes relay - Bitte um Hilft

Werner Flamme w.flamme at web.de
Fr Jan 2 16:51:46 CET 2009


Chris Cohen schrieb:
> Werner Flamme wrote:
>> Chris Cohen schrieb:
>>> Hallo und Frohes neues Jahr,
>>>
>>> vielleicht könnt ihr mir auf die Sprünge helfen.
>>> Ich habe hier ein etwas krankes Setup mit diversen Freemailern und einem
>>> internen relay. Das ganze sieht in etwa so aus:
>> [...]
>>
>>> Sende ich jetzt intern von example at unixhosts.org an
>>> example2 at unihxosts.org wird das ganze aufgrund von
>>> sender_dependend_relay_map über google relayed, dann über fetchmail vom
>>> host amy abgeholt und dann wieder zugestellt. Da ich intern(!) öfter mal
>>> ziemlich große Mails verschicke, ist das sehr nervig.
>>> Gibt es sowas wie destination_dependend_relay_maps oder eine andere
>>> Lösung? Oder muss ich damit jetzt bei so einem strangen Setup leben?
>>
>> Du müsstest vermutlich bei allen Clients eine Kiste (zoidberg? amy? ich
>> vermute letzere) als Smarthost eintragen, und dieser Kiste wiederum
>> beibringen, dass sie für Deine Domain zuständig ist.
> Also wenn ich dich richtig verstehe, hast du mich nicht richtig
> verstanden :)

Ich habe es so verstanden, dass Du eine Mail an example2 at unihxosts.org
schreibst. Und die geht über den Relay bei Google an amy, die ihrerseits
IMAP/PO3-Server für Deine Domain ist.

>> Vielleicht mal "postconf -n" bei den beteiligten Kisten aufrufen und
>> zeigen, was da so rauskommt? Denn solange wir bei *dem* Schneegestöber
>> draußen auf die Glaskugel angewiesen sind, ist nix Genaues zu sagen ;-)
> 
> Here we go:
> amy (der imap server und mx im lan)
Aha, MX im LAN...

> alias_maps = mysql:/etc/postfix/alias_maps-mysql.cf
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> daemon_directory = /usr/lib/postfix
> data_directory = /var/lib/postfix
> inet_interfaces = all
> local_recipient_maps = mysql:/etc/postfix/local_recipients-mysql.cf
> $alias_maps
> mailbox_transport = dovecot

> mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
> mysql:/etc/postfix/mydestination-mysql.cf
also ist amy erstmal für Deine Domäne zuständig. Positiv. :-)


> mydomain = unixhosts.org
> myhostname = amy.unixhosts.org
> mynetworks = 127.0.0.0/8
> myorigin = $myhostname
> smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
> unknown_local_recipient_reject_code = 550


> zoidberg (das relay für alles was aus meinem lan raus geht)
> command_directory = /usr/sbin
> config_directory = /etc/postfix
> daemon_directory = /usr/lib/postfix
> delay_warning_time = 1h
> inet_interfaces = all
> local_recipient_maps =
> message_size_limit = 19922944
> mydestination =
für nichts zuständig - also fragt er im DNS nach MX

> mydomain = unixhosts.org
> myhostname = zoidberg.unixhosts.org
> mynetworks = 127.0.0.0/8, 10.1.0.0/16
> myorigin = $myhostname
> relay_domains = mysql:/etc/postfix/relay_domains-mysql.cf
> relay_transport = relay:[amy.unixhosts.org]
> sender_dependent_relayhost_maps = hash:/etc/postfix/freemail_relay
> smtp_sasl_auth_enable = yes
> smtp_sasl_password_maps = hash:/etc/postfix/freemail_password
> smtp_sasl_security_options = noanonymous
> smtp_sender_dependent_authentication = yes
> smtp_tls_policy_maps = hash:/etc/postfix/freemail_tls_policy
> smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
> unknown_local_recipient_reject_code = 550
> 
> Ich hoffe jetzt wird's klarer!
> 

Was ich nicht verstehe: wenn amy der MX im LAN ist, warum gehen die
Mails dann noch raus? Eigentlich müsste zoidberg eine DNS-Abfrage
starten, die als Ergebnis amy bringt. Stattdessen geht alles an Google. Hm.

Also, ein "dig -t MX unixhosts.org" bringt mir
UNIXHOSTS.ORG.          3600    IN      MX      10 ASPMX3.GOOGLEMAIL.COM.
UNIXHOSTS.ORG.          3600    IN      MX      10 ASPMX5.GOOGLEMAIL.COM.
UNIXHOSTS.ORG.          3600    IN      MX      5 ALT1.ASPMX.L.GOOGLE.COM.
UNIXHOSTS.ORG.          3600    IN      MX      10 ASPMX2.GOOGLEMAIL.COM.
UNIXHOSTS.ORG.          3600    IN      MX      5 ALT2.ASPMX.L.GOOGLE.COM.
UNIXHOSTS.ORG.          3600    IN      MX      10 ASPMX4.GOOGLEMAIL.COM.
UNIXHOSTS.ORG.          3600    IN      MX      1 ASPMX.L.GOOGLE.COM.

Nasupa! Kein Wunder, dass die Mail an Google geht...

Entweder drehst Du an Deinem lokalen DNS, dass er bessere MX-Auskünfte
gibt, oder Du schiebst ASPMX.L.GOOGLE.COM einen CNAME zu amy unter ;-)
oder Du arbeitest mit Transporten (Das Postfix-Buch, 3. Auflage, Kap.
5.2.5, S. 120 ff.). Könnte etwa so gehen:
- in die Datei /etc/postfix/main.cf auf zoidberg:
transport_maps = hash:/etc/postfix/transport
- in die Datei /etc/postfix/transport auf zoidberg:
unixhosts.org	:[amy.unixhosts.org]
- ein "postmap /etc/postfix/transport" sollte die erforderliche
Umsetzung erledigen, ein "postfix restart" die Änderung durchstellen.

Wenn amy dann noch im Netz auf Port 25 lauscht (sollte sie ja:
inet_interfaces = all), sollte es klappen. Wenn amy auf Port 1025
lauscht, dann eben die Zeile in "unixhosts.org
:[amy.unixhosts.org]:1025" ändern...

HTH
Werner



Mehr Informationen über die Mailingliste Postfixbuch-users