[postfix-users] Postfix und Nicht-Lokale Zustellung
Heiko Wundram
heiko at xencon.net
Do Nov 20 20:15:14 CET 2008
Hallo!
Ich bin aktuell mit Postfix (2.5.5) ein bisschen am verzweifeln: Ich habe auf
einem Mail-Relay folgende Einstellungen laufen (kondensiert und Domainnamen
entfernt; nicht weil ich nicht will, dass jemand da xencon.net
reininterpretiert, sondern weil ich die main.cf aus einem Template erzeuge[n
lasse], was ich hier wiedergebe):
main.cf
-------
myhostname = mail01.<domain>
mydomain = <domain>
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps = $alias_maps
relay_domains = mysql:/etc/postfix/transport.cf,
mysql:/etc/postfix/transportpfadm.cf
relayhost = [relay.<domain>]
transport_maps = mysql:/etc/postfix/transport.cf,
mysql:/etc/postfix/transportpfadm.cf
alias_maps = hash:/etc/mail/aliases
alias_database = hash:/etc/mail/aliases
und noch ein paar milter-Einstellungen, die aber nicht weiter von belang sind
(vermute ich, da die Mails, an denen ich verzweifele, sehr wohl durch milter
komplett bearbeitet, aber dann nicht zugestellt werden, und der milter, der
zum Einsatz kommt, auch keine rcpts umschreibt).
In den MySQL-Tabellen, auf die oben verwiesen wird, sind Einträge in der Form:
<domain> smtp:[<host>]:<port>
und so auch eben für die Hauptdomain des Servers, wobei der Eintrag dort:
<domain> smtp:[mail00.<domain>]:25
ist. Die Maps klappen auch wunderbar; wenn mail01 eine Mail annimmt, die für
eine Domain auf mail00 bestimmt ist, wird die weitergeleitet (nachdem eben
die Policy-Geschichten des milters erfüllt wurden). Im Vorfeld wird noch eine
Address-Probe gemacht, ob der entsprechende Empfänger auch verfügbar ist (auf
dem host aus den transport_maps), und das klappt auch.
Jetzt zu dem Problem: Mails, die an die Maildomain mail01.xencon.net gesendet
werden (in dem Fall, der mich verzweifeln lässt, sind es lokal generierte
bounces, allerdings hat das ganze DoS-Potential, da von außen das selbe
passiert über address verification probes für lokal), werden wunderbar
angenommen, allerdings erfolgt nach Annahme keine weitere Zustellung der
Mail, sondern die Mails bleiben für immer und ewig als active in der Queue.
Die Maildomain mail01.<domain> ist in keiner der obigen Relay/Transport-Maps
spezifiziert.
Auf jeden Fall, aktuelle sehe ich das folgende:
mail01 heiko # mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
62AE060301A* 1297 Wed Nov 19 23:30:17 double-bounce at mail01.xencon.net
postmaster at mail01.xencon.net
AF3AE6014C5* 1334 Wed Nov 19 23:32:49 double-bounce at mail01.xencon.net
postmaster at mail01.xencon.net
B3515603018* 1332 Wed Nov 19 23:33:35 double-bounce at mail01.xencon.net
postmaster at mail01.xencon.net
...
Der qmgr gibt im mail log aus, dass er die Zustellung in Angriff nimmt, und
danach passiert nichts mehr (die Mails stehen jetzt seit gestern abend in
genau diesem Status).
Nach meinem Verständnis müsste der local delivery agent in Aktion treten (weil
die Zieldomain zu mydestination gehört), und dieser entsprechend in der
alias-Tabelle nach postmaster suchen, welches auf root gemappt ist, und
dieses wiederum auf "admin at xencon.net":
/etc/mail/aliases
-----------------
# Basic system aliases -- these MUST be present.
MAILER-DAEMON: postmaster
postmaster: root
...
root: admin at xencon.net
Anscheinend wird aber der local delivery agent nie gestartet.
Da das ganze kein Problem ist, wenn ich in local_recipient_maps eine
passwd-Abfrage einbaue, stellt sich für mich die Frage, was so anders ist,
wenn ich als einzige lokale Ziele die Alias-Namen erlaube (die, da bin ich
sicher, keine Schleifen enthalten, wie oben erkennbar; die Sender-Adresse
wird nicht geprüft, auch wenn für double-bounce kein Alias-Eintrag vorhanden
ist).
Wenn ich debug_peer_level hochdrehe, sehe ich auch soweit nichts spannendes,
nur, dass er anscheinend den Recipient in keiner Map findet, ihn aber korrekt
als lokal einstuft:
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: < localhost[127.0.0.1]: RCPT TO:
<postmaster at mail01.xencon.net>
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: extract_addr: input:
<postmaster at mail01.xencon.net>
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: smtpd_check_addr:
addr=postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr request = rewrite
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr rule = local
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr address =
postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: flags
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: flags
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value: 0
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: address
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: address
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value:
postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: (list terminator)
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: (end)
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: rewrite_clnt: local:
postmaster at mail01.xencon.net -> postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr request = resolve
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr sender =
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr address =
postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: flags
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: flags
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value: 0
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: transport
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: transport
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value: local
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: nexthop
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: nexthop
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value:
mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: recipient
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: recipient
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value:
postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: flags
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: flags
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value: 256
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: (list terminator)
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: (end)
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: resolve_clnt: `' ->
`postmaster at mail01.xencon.net' -> transp=`local' host=`mail01.xencon.net'
rcpt=`postmaster at mail01.xencon.net' flags= class=local
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: ctable_locate: install entry key
postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: extract_addr: in:
<postmaster at mail01.xencon.net>, result: postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr request = rewrite
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr rule = local
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: send attr address = double-bounce
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: flags
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: flags
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value: 0
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: address
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute name: address
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: input attribute value:
double-bounce at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: private/rewrite socket: wanted
attribute: (list terminator)
...
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: >>> CHECKING RECIPIENT MAPS <<<
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: ctable_locate: leave existing
entry key postmaster at mail01.xencon.net
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find:
recipient_canonical_maps: postmaster at mail01.xencon.net: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find:
recipient_canonical_maps: postmaster: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find:
recipient_canonical_maps: @mail01.xencon.net: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: mail_addr_find:
postmaster at mail01.xencon.net -> (not found)
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find: canonical_maps:
postmaster at mail01.xencon.net: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find: canonical_maps:
postmaster: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find: canonical_maps:
@mail01.xencon.net: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: mail_addr_find:
postmaster at mail01.xencon.net -> (not found)
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find: virtual_alias_maps:
postmaster at mail01.xencon.net: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find: virtual_alias_maps:
postmaster: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: maps_find: virtual_alias_maps:
@mail01.xencon.net: not found
Nov 20 19:43:43 mail01 postfix/smtpd[6958]: mail_addr_find:
postmaster at mail01.xencon.net -> (not found)
...
Milter-Kram
...
Nov 20 19:43:47 mail01 postfix/qmgr[6954]: 4D12060043D:
from=<heiko at xencon.net>, size=390, nrcpt=1 (queue active)
Und ab da ist Schluss.
Die Mail bleibt jetzt im active-Zustand.
Hat irgendjemand einen sinnvollen Hinweis, was ich hier falsch mache?
Danke schon mal für die Hilfe!
--
Heiko Wundram
More information about the postfix-users
mailing list