[Postfixbuch-users] Transportlösung

Peter Bauernfeind peter.bauernfeind at reba-eno.de
Fr Okt 26 17:21:45 CEST 2007


Peer Heinlein schrieb:
> Am Freitag, 26. Oktober 2007 schrieb Peter Bauernfeind:
>
>   
>> Weil ich nicht abschätzen kann welche Auswirkungen die Änderung des
>> Namens noch nach sich zieht. 
>>     
>
> Aber Du bist sicher,

Nein.

> daß Du abschätzen kannst, was für Auswirkungen 
> entstehen, wenn Du per Hand in den Parametern rummanipulierst, 

Es war eine Änderung eines einzigen Parameter smtp_helo_name und zwar 
weg vom default.


>> Auf www.postfix.org steht: "$myhostname 
>> <http://www.postfix.org/postconf.5.html#myhostname> is used as a
>> default value for many other configuration parameters." Und eben diese
>> anderen Parameter kenn ich nicht.
>>     
>
> Ganz einfach:
>
> atlas:~ # postconf  -d | grep myhostname
> lmtp_lhlo_name = $myhostname
> local_transport = local:$myhostname
> milter_macro_daemon_name = $myhostname
> mydestination = $myhostname, localhost.$mydomain, localhost
> myhostname = atlas.localdomain
> myorigin = $myhostname
> smtp_helo_name = $myhostname
> smtpd_banner = $myhostname ESMTP $mail_name
> smtpd_proxy_ehlo = $myhostname
>
> Und, ja, es hat einen GRUND daß der name einmal zentral definiert wird. 
>   

Genau, eben in /etc/hostname. Mit eben diesem Namen wurde eine Mail von 
mir an einem anderen Server abgewiesen. Nun kann man fragen ist die 
Prüfung zu streng oder liegt der Fehler bei mir.

Nochmal kurz die Konfiguration des Netzwerks. Externe Mails werden von 
einer Firewall (mit NAT) empfangen und per Relay an den eigentlichen 
Mailserver weitergeleitet und nur an diesen. Interne Mails gehen direkt 
über die Firewall nach draußen, der MTA in der Firewall tritt nicht in 
Aktion.

> Oder anders formuliert: Man kann stets davon ausgehen, daß die 
> Default-Einstellung von Postfix korrekt ist.

Dann muß irgendetwas nicht stimmen, denn gerade mit den 
Default-Einstellungen hatte ich Probleme.

> Wenn man es anders machen sollte, dann hätte Wietse es hier anders vorgesehen.
>   

Nur mal so am Rande, warum kann man sie dann ändern, wenn sie sowieso 
immer richtig sind?

> Per Default zeigt $myhostname auf den Wert /etc/HOSTNAME.
>   

Nein, $myhostname zeigt den Wert aus /etc/hostname zuzüglich dem Domainteil

> (Ja, das ist auch gut so! Und wenn der Wert Unsinn ist, so gib Deiner 
> Maschine einen richtigen Hostnamen!)
>   

Und eben mit dem Default gab es Probleme. Welchen Namen? Der Mail-Server 
ist von außen nicht erreichbar.

>> Andererseits kommt das richtige (mit aufgelöster domain) heraus:
>> # postconf -n myhostname
>> myhostname = reba-mail.reba-eno.de
>>     
>
> Postfixbuch, Seite 112.
>
> Tja, das ist der Wert, den Du in main.cf gesetzt hast.
>   

Nein, das ist der Wert aus $myhostname, der wiederrum besteht aus 
/etc/hostname zuzüglich dem Domainteil


>>> Das wäre der korrekte und saubere Weg.
>>>       
>> Wenn du das sagts ... dann mach ich das mal.
>> Es ist aber nicht der Name unter dem der Rechner erreichbar ist.
>>     
>
> Dann mach sowas nicht.
>
> 30% der Mailserver da draußen

Der steht nicht da draußen, sondern hier drin.

> haben stets und Probleme, weil ihr Setup schizophren ist und ständig irgendwelche Namen nicht zusammenpassen. Hört auf damit!
>   

Der Name ist konsistent gewesen.

> a) Eine Maschine hat einen Namen, unter dem ist sie auch per A-Record im 
> DNS erreichbar.
>   

Nein, hat sie nicht. Auch der Empfangs-MTA hat keinen A-Record.

> b) Die IP-Nummer der Maschine hat einen Reverse-Lookup, der auf den Namen 
> aus (a) zeigt
>   

Hmmm.

> c) Die Maschine WEISS auch, daß sie so wie in (a) heißt und hat nicht 
> irgendeinen Unsinn mit ".local" oder irgendeinem völlig anderen kruden 
> Namen drin, der sich weder in a) noch in b) wiederspiegelt.
>   

Der Name hat keine ".local", ".home" oder sonstige krude "Endung" 
sondern ein ".de"

> (Btw: Du hast hier ein Problem im Outbound, insofern wäre es egal, ob sie 
> im Inbound als (a) darunter erreichbar ist. Zumindest (b) muß aber zum 
> HELO passen, da die anderen Server prüfen, ob das zusammenpaßt. Also 
> macht es richtig und murkselt nicht mit x-beliebigen Hostnamen herum.)
>   

Was soll ich also tun? Der Name "mail.reba-eno.de" ist der Name des 
Rechners, bei dem die Mails eingeliefert werden. So steht er auch im DNS 
als MX drin. Der A-Record zeigt wo anders hin. Dieser Empfangs-MTA gibt 
die Mails an den internen Mail-Server weiter auf dem postfix und dovecot 
laufen.

Beim Senden werden die Mails bei diesem internen Mailserver 
eingeliefert, der sie dann ausliefert. Nun kann ich schlecht zweimal den 
gleichen Namen für unterschiedliche Rechner verwenden. soweit ich das 
sehe gibt es einige Möglichkeiten das Ausliefern zu ändern.

1) Die User schicken alles direkt zum Mailgateway.

2) Der interne MTA schickt alles zum Mailgateway.

3) Der interne MTA gibt sich den Namen des Mailgateways und liefert 
direkt aus.


Den ersten Punkt wollte ich nicht, da ich dann zusätzlich Programme auf 
dem Gateway installieren müßte und ja da bin ich etwas paranoid. Zum 
Internet hin wird nur installiert was unbedingt sein muß.

2) wäre eine Möglichkeit, habe ich nicht weiter verfolgt, da bisher alle 
Mails vom internen ausgeliefert werden konnten. Außerdem kommt da wieder 
etwas die Paranoia hoch.

3) Erschien mir bisher brauchbar.



Mit freundlichem Gruß
Peter Bauernfeind






Mehr Informationen über die Mailingliste Postfixbuch-users