UUGRN

Re: mail-relay fuer Systeme mit ausschliesslich FQDN aus Domain uugrn.lan

From
Tom Stiefel <tom@...>
Date
Moin Raphael,

Am 06.10.2016 um 21:17 schrieb Raphael Eiselstein:
> Meine Traegheit verbunden mit der Tatsache, dass sendmail seit 100 Jahren
> der Default-MTA bei FreeBSD ist und das Setup seit vielen Jahren
> eigentlich prima funktioniert hat.
> 
> Natuerlich wuerde ich eine Loesung innerhalb von sendmail bevorzugen, weil
> ich dann nicht mehr viel tun muesste.
Kommt mir in vielen Teilen bekannt vor. So haenge ich auch noch bei Apache,
weil ich einfach bisher weder Zeit noch wirklich die Motivation hatte nginx
mal zu testen geschweige denn darauf umzustellen ;-)
Ich nutze seit 15 Jahren eigentlich nur noch Postfix (bringt auch ein sendmail
mit) und habe nur gelegentlich dienstlich mit sendmail auf UNIX-Systemen (AIX,
Solaris) zu tun.

> D.h. Mails von root@... nach *extern* wuerden mit einem
> validen Envelope From verschickt und Antworten bzw.
> Zustell-Notifikationen ("MAILER-DAEMON") wuerden auch den Weg zurueck
> finden in das jeweilige Jail, hier zB mysql.uugrn.lan?
Genau das heisst es. Ich mach das vor allem fuer die Mails von Daemons (Absender
meist user@...) eine Stufe weiter vorne auf den Hosts direkt, aber
es geht auch zentral auf dem Relayserver.
Postfix nimmt die Mail an (ob nun lokal ueber sendmail oder per smtp) und
durchlaeuft sein Lookup-Tables. Dabei werden dann die Envelope-Rewrites
vorgenommen (wie z. B. Aliase, virtuelle Aliase, Sender und Empfaenger) und
danach die Mail verarbeitet - je nachdem, ob Postfix fuer die Domains zustaendig
ist ($relay_domains => lokale Zustellung) oder nicht ($relayhost =>
weiterleitung). Dies kann allerdings durch "transport rules" wiederum
ueberschrieben werden.

Beispiel:
mysql Daemon auf Host hugo unter User mysql: Origainal-Absender
mysql@...
Apache Daemon auf Host egon unter User www: Origainal-Absender
www@...
Empfaenger der Mails: rabe@... (verwaltet auf mail.sigsys.de)

Vereinfacht dargestellt funktioniert das so:

1)  Umschreibung der Absender-Adressen (Envelope From und Header From):

Eintrag in /etc/postfix/main.cf:
sender_canonical_maps = hash:/etc/postfix/maps/canonical_sender

Eintraege in /etc/postfix/maps/canonical_sender:
mysql@...    hugo-mysql@...
www@...      egon-www@...

2) Anpassung des Ziels (falls Relayhost zwar fuer die Domain zustaendig ist und
die Adresse aber anderswo verwaltet wird bzw. hingeliefert werden soll).

Eintrag in /etc/postfix/main.cf:
transport_maps = hash:/etc/postfix/maps/transport

Eintrag in /etc/postfix/maps/transport:
rabe@...        smtp:mail.sigsys.de

3) Da die Absender-Adresse (From) im Envelope und im Header umgeschrieben wird
gehen sowohl Zustell-Notifikationen ("MAILER-DAEMON") als auch "normale" Mails
an die neuen Absender-Adressen zurueck - also an den MX-Record fuer uugrn.org.
Damit die Mails dann an die Jails zurueck gehen muss nun die Empfaenger-Adresse
der Antworten wieder zurueck geschrieben (Envelope To und Header To) - also
umgekehrt wie oben bei Punkt 1.
Wenn man die Antworten nicht auf dem Jail, sondern in einem externen Postfach
haben will, dann schreibt man eben auf die externe Adresse um (s. rabe unten).

Eintrag in /etc/postfix/main.cf:
recipient_canonical_maps = hash:/etc/postfix/maps/canonical_recpipient

Eintraege in /etc/postfix/maps/canonical_recpipient:
hugo-mysql@...    mysql@...
egon-www@... www@...
www@...      rabe@...

4) Sollte die Empaenger-Umschreibung das fuer eine korrekte Weiterleitung nicht
reichen, dann muessten hierfuer evtl. ebenfalls noch transports konfiguriert
werden.

Eintraege in /etc/postfix/maps/transport:
mysql@...    smtp:[hugo.uugrn.lan]
www@...      smtp:[egon.uugrn.lan]
(Die Klammern sorgen dafuer, dass nur nach einem A- und nicht nach einem
MX-Record gesucht wird.)

Wie Du direkt siehst sind hierfuer keinerlei zusaetzlichen MX-Records notwendig
und der bestehende fuer uugrn.org ausreichend.

Bei weiteren Fragen einfach fragen ;-)

Gruss Tom

-- 
UUGRN e.V. http://www.uugrn.org/
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: https://wiki.uugrn.org/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/