Discussion:
[Postfixbuch-users] Postfix als Mailrelay vor Ddovecot
ckubu
2014-10-08 12:54:12 UTC
Permalink
hallo,

ich habe eine Verständnisfrage zu einer postfix/dovecot Konfiguration,
die sich mir, nach dem Lesen in dem Dovecot Buch, gestellt hat.

Wenn ich meinen Postfix, auch auf dem Server, auf dem Dovecot selbst
läuft, als Mailrelay (relay_domains, transport) konfiguriere, kann ich
dann in der Postfix-Konfiguration auf die ganzen virtual_* Parameter
verzichten ?

Ich habe dort auch Postfixadmin am laufen, dem müsste ich dann noch in
den post-deletion/post-create scripts beibringen, zusätzlich die
relay_domains/transports zu pflegen.

Mit
transport_maps =
btree:/etc/postfix/transport
btree:/etc/postfix/relay_domains

würde sich das auf die relay_domains reduzieren.

So wäre meine Sicht der Dinge, ich habe aber Respekt vor der Tatsache,
irgendetwas wichtiges übersehen zu haben.

lg
Christoph
--
e: ckubu at so36.net
Klaus Tachtler
2014-10-08 14:28:41 UTC
Permalink
Hallo Christoph,
Post by ckubu
Wenn ich meinen Postfix, auch auf dem Server, auf dem Dovecot selbst
läuft, als Mailrelay (relay_domains, transport) konfiguriere, kann ich
dann in der Postfix-Konfiguration auf die ganzen virtual_* Parameter
verzichten ?
Solltest Du NICHT tun.
Post by ckubu
Ich habe dort auch Postfixadmin am laufen, dem müsste ich dann noch in
den post-deletion/post-create scripts beibringen, zusätzlich die
relay_domains/transports zu pflegen.
Schau mal hier, habe ich mal für mich gemacht:

https://dokuwiki.tachtler.net/doku.php?id=tachtler:postfix_admin#postfix_anbindung
Post by ckubu
Mit
transport_maps =
btree:/etc/postfix/transport
btree:/etc/postfix/relay_domains
würde sich das auf die relay_domains reduzieren.
So wäre meine Sicht der Dinge, ich habe aber Respekt vor der Tatsache,
irgendetwas wichtiges übersehen zu haben.
lg
Christoph
Grüße
Klaus.


--

------------------------------------------
e-Mail : klaus at tachtler.net
Homepage: http://www.tachtler.net
DokuWiki: http://www.dokuwiki.tachtler.net
------------------------------------------
Christian Boltz
2014-10-12 20:51:52 UTC
Permalink
Hallo Klaus, hallo Leute,
Post by Klaus Tachtler
https://dokuwiki.tachtler.net/doku.php?id=tachtler:postfix_admin#postf
ix_anbindung
Schöne Anleitung - trotzdem ein paar Anmerkungen ;-)


$CONF['password_validation'] = array(
# '/regular expression/' => '$PALANG key (optional: + parameter)',
// Tachtler
// default: '/.{5}/' => 'password_too_short 5', # minimum length 5 characters
'/.{8}/' => 'password_too_short 5', # minimum length 5 characters

Du willst an dieser Stelle 'password_too_short _8_' haben. Mit Deiner
Config erzwingt die Regex 8 Zeichen und die Fehlermeldung sagt, dass
mindestens 5 nötig sind ;-)


virtual_alias_domains = btree:/etc/postfix/virtual_alias_domains,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
virtual_alias_maps = btree:/etc/postfix/virtual_alias_maps,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = btree:/etc/postfix/virtual_mailbox_domains,
proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = btree:/etc/postfix/virtual_mailbox_maps,
proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf

Das sieht deutlich anders aus als in der PostfixAdmin-Doku ;-)
(und damit meine ich nicht die btree:-Maps)

Verrätst Du mir, warum Du die Config so hast? Auf den ersten Blick
bezweifle ich, dass Alias-Domains bei dieser Config richtig
funktionieren. Im Einzelnen:
- bei virtual_alias_maps fehlen die zwei mysql_virtual_alias_domain*.cf
- virtual_alias_domains ist IMHO überflüssig - ob es stört, will ich
jetzt nicht näher untersuchen ;-)


Nunja. Immerhin war das Überfliegen Deiner Anleitung einfacher als die
Fehlersuche in den neuen AppArmor-Tools. Ich habe den ganzen Tag damit
verbracht, einen extrem seltsamen Crash von aa-genprof zu untersuchen,
den ich nichtmal reproduzieren konnte. Also Debugging over IRC mit dem
Bugreporter.

Die Lösung war dann vergleichsweise einfach - ich musste nur an der
richtigen Stelle[tm] ein "[profile]" durch "[aamode]" ersetzen. Macht
in der Summe etwa ein Byte Änderung pro Stunde Debugging...
So langsam habe ich noch nie getippt ;-)


Gruß

Christian Boltz
--
Post by Klaus Tachtler
Führst Du schon Selbstgespräche? ;-)
Hm. Kann sein. Was meinst du? Nein, glaube ich nicht.
Sicher? Ganz sicher.
Nein, tun wir nicht.
[> Christian Boltz und Ratti in fontlinge-devel]
Klaus Tachtler
2014-10-13 09:28:46 UTC
Permalink
Hallo Christian,
Post by Christian Boltz
Hallo Klaus, hallo Leute,
Post by Klaus Tachtler
https://dokuwiki.tachtler.net/doku.php?id=tachtler:postfix_admin#postf
ix_anbindung
Schöne Anleitung - trotzdem ein paar Anmerkungen ;-)
$CONF['password_validation'] = array(
# '/regular expression/' => '$PALANG key (optional: + parameter)',
// Tachtler
// default: '/.{5}/' => 'password_too_short 5',
# minimum length 5 characters
'/.{8}/' => 'password_too_short 5', #
minimum length 5 characters
Danke, habe ich übersehen... und berichtigt, hatte ich auch im meiner
Konfiguration falsch... puh!
Post by Christian Boltz
Du willst an dieser Stelle 'password_too_short _8_' haben. Mit Deiner
Config erzwingt die Regex 8 Zeichen und die Fehlermeldung sagt, dass
mindestens 5 nötig sind ;-)
virtual_alias_domains = btree:/etc/postfix/virtual_alias_domains,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
virtual_alias_maps = btree:/etc/postfix/virtual_alias_maps,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = btree:/etc/postfix/virtual_mailbox_domains,
proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = btree:/etc/postfix/virtual_mailbox_maps,
proxy:mysql:/etc/postfix/sql/mysql_virtual_mailbox_maps.cf,
proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
Das sieht deutlich anders aus als in der PostfixAdmin-Doku ;-)
(und damit meine ich nicht die btree:-Maps)
Verrätst Du mir, warum Du die Config so hast? Auf den ersten Blick
bezweifle ich, dass Alias-Domains bei dieser Config richtig
- bei virtual_alias_maps fehlen die zwei mysql_virtual_alias_domain*.cf
- virtual_alias_domains ist IMHO überflüssig - ob es stört, will ich
jetzt nicht näher untersuchen ;-)
Du hast vollkommen recht, da bin ich bei der Doku wohl mal in der Zeile
verrutscht und habe das falsch dokumentiert. VIELEN DANK, ich habe es
bereits im DokuWiki berichtigt!
Post by Christian Boltz
Nunja. Immerhin war das Überfliegen Deiner Anleitung einfacher als die
Fehlersuche in den neuen AppArmor-Tools.
VIELEN DANK, für Deine Arbeit als Lektor!

Grüße
Klaus.


--

------------------------------------------
e-Mail : klaus at tachtler.net
Homepage: http://www.tachtler.net
DokuWiki: http://www.dokuwiki.tachtler.net
------------------------------------------

Igor Sverkos
2014-10-08 14:59:19 UTC
Permalink
Hallo,
Post by ckubu
Wenn ich meinen Postfix, auch auf dem Server, auf dem Dovecot selbst
läuft, als Mailrelay (relay_domains, transport) konfiguriere, kann ich
dann in der Postfix-Konfiguration auf die ganzen virtual_* Parameter
verzichten ?
Wo definierst du denn bspw. Weiterleitungen/Alias-Domains?

Wenn dein Dovecot alles weiß und jede Mail die reinkommt über Dovecot
geht (man könnte ja rein technisch auch per Sieve weiterleiten),
könntest du wohl darauf verzichten.
In jedem anderen Falle nicht. Insofern sehe ich es wie Klaus, das
solltest du nicht tun...
--
Ich Grüße,
Igor
Ralf Hildebrandt
2014-10-08 15:04:27 UTC
Permalink
Post by Igor Sverkos
Hallo,
Post by ckubu
Wenn ich meinen Postfix, auch auf dem Server, auf dem Dovecot selbst
läuft, als Mailrelay (relay_domains, transport) konfiguriere, kann ich
dann in der Postfix-Konfiguration auf die ganzen virtual_* Parameter
verzichten ?
Wo definierst du denn bspw. Weiterleitungen/Alias-Domains?
Wenn dein Dovecot alles weiß und jede Mail die reinkommt über Dovecot
geht (man könnte ja rein technisch auch per Sieve weiterleiten),
könntest du wohl darauf verzichten.
In jedem anderen Falle nicht. Insofern sehe ich es wie Klaus, das
solltest du nicht tun...
Also man kann sowas problemlos nur mit relay_domains, transport und
relay_recipient_maps machen.

virtual_alias_maps greifen IMMER (egal ob ein- oder ausgehend, ob
relay_domains, mydestination oder sonstwas).
--
Ralf Hildebrandt
Geschäftsbereich IT | Abteilung Netzwerk
Charité - Universitätsmedizin Berlin
Campus Benjamin Franklin
Hindenburgdamm 30 | D-12203 Berlin
Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
ralf.hildebrandt at charite.de | http://www.charite.de
Igor Sverkos
2014-10-08 15:24:37 UTC
Permalink
Hallo,
?Also man kann sowas problemlos nur mit relay_domains,
transport und relay_recipient_maps machen.?
?Eventuell habe ich ckubu dann falsch verstanden. Was ich verstanden habe:

Er pflegt seine Nutzer nun via postfixadmin in einer Datenbank.
Dovecot befragt diese Datenbank.
Postfix spricht mit Dovecot vermutlich via lmtp, was via relay_domains
eingebunden ist:

# cat /etc/postfix/relay_domains
example.com lmtp:unix:private/lmtp-dovecot

# grep -i relay_domain /etc/postfix/main.cf
relay_domains = hash:${config_directory}/relay_domains
transport_maps = hash:${config_directory}/transport, $relay_domains

...das Setup ist so IMHO im Dovecot-Buch beschrieben und braucht keine
weiteren virtual_* Konfigurationen.

Daher, so verstand ich es zumindest, seine Frage, ob er also wirklich keine
virtual_* Parameter braucht.

Ich wüsste jetzt nicht, wie ich ohne virtual_ dafür sorgen könnte, dass
foo at example.com bspw. nach bar at exmaple.org weiterleiten soll. Dovecot
schaut an Hand der Empfänger-Adresse eigentlich nur nach, ob er dafür
zuständig ist (und erwartet dann als Rückgabe den Pfad zur Mailbox).

Wie gesagt, Sieves usw. ginge, aber wenn ich diese Aliase/Weiterleitungen
per Postfixadmin pflege (und so verstand ich den OP), scheidet Sieves an
der Stelle aus.

Habe ich ihn falsch verstanden oder ist das doch ohne virtual_ möglich?
--
Ich Grüße,
Igor
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listi.jpberlin.de/pipermail/postfixbuch-users/attachments/20141008/6c8959ae/attachment-0001.html>
Ralf Hildebrandt
2014-10-08 15:27:54 UTC
Permalink
Post by Igor Sverkos
Er pflegt seine Nutzer nun via postfixadmin in einer Datenbank.
Dovecot befragt diese Datenbank.
postfixadmin? Keine Ahnung davon :)
Post by Igor Sverkos
Postfix spricht mit Dovecot vermutlich via lmtp, was via relay_domains
# cat /etc/postfix/relay_domains
example.com lmtp:unix:private/lmtp-dovecot
# grep -i relay_domain /etc/postfix/main.cf
relay_domains = hash:${config_directory}/relay_domains
transport_maps = hash:${config_directory}/transport, $relay_domains
Ja, hübsch
Post by Igor Sverkos
...das Setup ist so IMHO im Dovecot-Buch beschrieben und braucht keine
weiteren virtual_* Konfigurationen.
Daher, so verstand ich es zumindest, seine Frage, ob er also wirklich keine
virtual_* Parameter braucht.
Ich wüsste jetzt nicht, wie ich ohne virtual_ dafür sorgen könnte, dass
foo at example.com bspw. nach bar at exmaple.org weiterleiten soll. Dovecot
schaut an Hand der Empfänger-Adresse eigentlich nur nach, ob er dafür
zuständig ist (und erwartet dann als Rückgabe den Pfad zur Mailbox).
Ja, das geht dann nur via virtual_alias_maps
--
Ralf Hildebrandt
Geschäftsbereich IT | Abteilung Netzwerk
Charité - Universitätsmedizin Berlin
Campus Benjamin Franklin
Hindenburgdamm 30 | D-12203 Berlin
Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962
ralf.hildebrandt at charite.de | http://www.charite.de
ckubu
2014-10-08 15:43:31 UTC
Permalink
hi,
Post by Igor Sverkos
Er pflegt seine Nutzer nun via postfixadmin in einer Datenbank.
Dovecot befragt diese Datenbank.
Postfix spricht mit Dovecot vermutlich via lmtp, was via relay_domains
# cat /etc/postfix/relay_domains
example.com <http://example.com> lmtp:unix:private/lmtp-dovecot
# grep -i relay_domain /etc/postfix/main.cf <http://main.cf>
relay_domains = hash:${config_directory}/relay_domains
transport_maps = hash:${config_directory}/transport, $relay_domains
...das Setup ist so IMHO im Dovecot-Buch beschrieben und braucht keine
weiteren virtual_* Konfigurationen.
Daher, so verstand ich es zumindest, seine Frage, ob er also wirklich
keine virtual_* Parameter braucht.
ja, s.u.
Post by Igor Sverkos
Ich wüsste jetzt nicht, wie ich ohne virtual_ dafür sorgen könnte, dass
foo at example.com <mailto:foo at example.com> bspw. nach bar at exmaple.org
<mailto:bar at exmaple.org> weiterleiten soll. Dovecot schaut an Hand der
Empfänger-Adresse eigentlich nur nach, ob er dafür zuständig ist (und
erwartet dann als Rückgabe den Pfad zur Mailbox).
Das ist wahrscheinlich genau das Problem...
Post by Igor Sverkos
Wie gesagt, Sieves usw. ginge, aber wenn ich diese
Aliase/Weiterleitungen per Postfixadmin pflege (und so verstand ich den
OP), scheidet Sieves an der Stelle aus.
Ja
Post by Igor Sverkos
Habe ich ihn falsch verstanden oder ist das doch ohne virtual_ möglich?
ja, du hast mich richtig verstanden, ich wollte weiterhin mit
Postfixadmin meine Domains/ALiases/Weiterleitungen pflegen (mit
angepassten create/deletion Skripten). Die Datenbank (bei mir
PostgreSQL) bedient Anfragen von Dovecot, relay_domains,etc.. die von
Postfix.

Hintergrund ist das Dovecot Buch, in dem - wenn ich das richtig
verstanden habe - gesagt wird, dass erst Postfix und dann noch Dovecot
prüft, ob eine Zustellung möglich ist und man dies vermeiden kann.

Mit dieser Aussicht, so habe ich das ebenfalls verstanden, liesse sich
smtp Server und IMAP/POP Server auch hardwaremäßig trennen, ohne auf
"in-time-Prüfungen" auf Zuständigkeit/Zustellungs-Prüfungen verzichten
zu müssen (klassischer Backup MX).

lg
Christoph
--
e: ckubu at so36.net
ckubu
2014-10-08 15:16:44 UTC
Permalink
hallo,
Post by Igor Sverkos
Post by ckubu
Wenn ich meinen Postfix, auch auf dem Server, auf dem Dovecot selbst
läuft, als Mailrelay (relay_domains, transport) konfiguriere, kann ich
dann in der Postfix-Konfiguration auf die ganzen virtual_* Parameter
verzichten ?
Wo definierst du denn bspw. Weiterleitungen/Alias-Domains?
Ich dachte mir in relay_domains:
domain.tld lmtp:unix:private/dovecot-lmtp

und dann Einbinden via parameter relay_domains und transport_maps

und dann - so dachte ich - schon fertig. Alias-Domains hatte ich nicht
auf dem Sender, um die Weiterleitungen sollte sich dann der lmtp kümmern.

hmm... da lag ich wohl falsch.

Bei Domains mag das ja noch überschaubar in der Postfix Konfiguration
gehen, für Weiterleitungen wäre das schon ein großer Aufwand..
Post by Igor Sverkos
Wenn dein Dovecot alles weiß und jede Mail die reinkommt über Dovecot
geht (man könnte ja rein technisch auch per Sieve weiterleiten),
könntest du wohl darauf verzichten.
In jedem anderen Falle nicht. Insofern sehe ich es wie Klaus, das
solltest du nicht tun...
Das sind von euch beiden ja schon sehr klare Aussagen und ich glaub ich
spar mir die Arbeit und lass alles so wies ist (ganz ähnlich der
Wikibeschreibung von Klaus) und auch schon über Jahre gut läuft.


Danke und Grüße
Christoph
--
e: ckubu at so36.net
Peer Heinlein
2014-10-10 14:04:17 UTC
Permalink
Post by ckubu
domain.tld lmtp:unix:private/dovecot-lmtp
und dann Einbinden via parameter relay_domains und transport_maps
und dann - so dachte ich - schon fertig. Alias-Domains hatte ich nicht
auf dem Sender, um die Weiterleitungen sollte sich dann der lmtp kümmern.
Völlig richtig und dann noch ein reject_unverified_recipient an die
richtige Stelle in den smtpd_recipient_restrictions.

Völlig richtig, genau so ist es darum uch im Buch.

Ein Postfix-Relay vor einer anderen Maschine ist im wahrsten Sinne des
Wortes ein Fünzeiler. Es gibt kaum simpleres.

Peer
--
Heinlein Support GmbH
Schwedter Str. 8/9b, 10119 Berlin

http://www.heinlein-support.de

Tel: 030 / 405051-42
Fax: 030 / 405051-19

Zwangsangaben lt. §35a GmbHG: HRB 93818 B / Amtsgericht
Berlin-Charlottenburg,
Geschäftsführer: Peer Heinlein -- Sitz: Berlin
Peer Heinlein
2014-10-10 14:02:47 UTC
Permalink
Am 08.10.2014 14:54, schrieb ckubu:

Hi,
Post by ckubu
läuft, als Mailrelay (relay_domains, transport) konfiguriere, kann ich
dann in der Postfix-Konfiguration auf die ganzen virtual_* Parameter
verzichten ?
Achtung:

Es gibt virtual_alias_* => virtual-Lookup-Table /etc/postfix/virtual.

Und es gibt die ganzen anderen

virtual_*-Parameter, das ist der "virtual" MDA aus der master.cf, eine
besondere Form des local-MDA der Mails an virtuelle User zustellen kann,
indem er die /etc/passwd virtuell über eine Datenbankabfrage nachbilden
kann (darum regelt man dort uid, gid und home!).

Beide haben NICHTS miteinander zu tun.

Das virtual-Geraffel kannst und sollst Du beim relay-Setup weglassen.

Das virtual_alias-Zeug ist und bleibt weiterhin nützlich und richtig um
Mails von A nach B weiterleiten zu lassen.

Peer
--
Heinlein Support GmbH
Schwedter Str. 8/9b, 10119 Berlin

http://www.heinlein-support.de

Tel: 030 / 405051-42
Fax: 030 / 405051-19

Zwangsangaben lt. §35a GmbHG: HRB 93818 B / Amtsgericht
Berlin-Charlottenburg,
Geschäftsführer: Peer Heinlein -- Sitz: Berlin
Loading...