Postfix nimmt Mails nicht entgegen.

Tino123

New Member
Hallo zusammen,

ich habe folgendes Konstrukt.
Ich habe einen Mailserver erstellt, der im Internet alle Mails annimmt. Auf diesem habe ich einen Spam und Virenprüfung eingerichtet. Das klappt auch alles wunderbar. Aus Sicherheitsgründen möchte ich aber einen zweiten Mailserver benutzen, der über Port 25 nicht aus dem Internet errecihbar ist und auf dem Postfächer mit Dovecot liegen.
Aus dem LAN sollen aber alle Mails über den internen Mailserver nach außen senden dürfen.
Auf dem ersten Mailserver habe ich folgende Zeile eingetragen, um die Mails auf den zweiten internen Mailserver in die Postfächer zu schieben:
virtual_transport = lmtp:inet:1.2.3.4:10025
Der Server versucht auch laut log die Mail an den internen Mailserver weiterzugeben, bekommt dann aber eine Fehlermeldung:

postfix/lmtp[5705]: 96C1711A0E28: to=<test.test1@meinedomain.de>, relay=1.2.3.4[1.2.3.4]:10025, delay=0.45, delays=0.01/0/0.44/0, dsn=5.5.2, status=bounced (host 1.2.3.4[1.2.3.4] refused to talk to me: 502 5.5.2 Error: command not recognized)

Die Fehlermeldung sagt ja schon soviel aus, dass die Mail abgewiesen wird. Nur leider finde ich in der main.cf auf dem internen Mailserver nicht die richtige Stelle, die für die Annahme der Mails zuständig ist.
Auf dem internen Mailserver kommen dann nur diese beiden Fehlermeldungen im log:
postfix/smtpd[3652]: connect from mx1.meinedomain.de[1.2.3.5]
postfix/smtpd[3652]: disconnect from mx1.meinedomain.de[1.2.3.5] quit=1 unknown=0/1 commands=1/2

Auf dem internen Mailserver habe ich zum einsortieren in das Dovecot Postfach diesen Befehl:
virtual_transport = lmtp:unix:private/dovecot-lmtp

Aber mir erschließt sich nicht, an welcher Stelle ich ihm sagen kann, dass die Mails vom externen Server angenommen werden, die die Viren und Spamprüfung durch ist...

Hat jemand einen tipp für mich?

Vielen Dank schon mal!

Viele Grüße
Tino
 
10025 ist normalerweise der Port, auf dem Postfix die Mail von amavisd nach der Prüfung wieder entgegen nimmt(Weil genau der Port fest in amavisd-new eingetragen ist). Auf dem Port eingelieferte Mail wird dann nicht gescannt(Wenn doch wäre das dann eine Endlosschleife für eine Mail). Das ist dazu meine master.cf:

Code:
127.0.0.1:10025 inet    n       -       -       -       -       smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_delay_reject=no
        -o smtpd_client_restrictions=permit_mynetworks,reject

Update 19:30 2 Mailserver aufsetzen wäre mir zu viel Arbeit. Das kann man mit Zugriffsberechtigungen regeln, wer da via relay senden darf und wer nicht. Z. B. mit my_networks.
 
Last edited by a moderator:
Wenn der OP das Ganze genau so eingerichtet hat wie Du, dann lauscht da schonmal nix auf 10025 nach aussen und selbst wenn, dann erwartet es kein LMTP, was auch "command not recognized" erklären würde.

Nochmal: Warum nicht wie es sich gehört per SMTP auf 25 oder 587 einliefern?
 
Hallo zusammen,

vielen Dank für Eure Antworten.
Ihr habt recht. Port 10025 ist dafür nicht geeignet.
Ich habe das ganze auf Port 25 umgestellt.

Wie kann ich ihm denn beibringen, dass der zweite Mailserver die Mails mit lmtp annimmt?
Die Performance ist doch mit lmtp höher als mit smtp oder?

Und warum 2 Mailserver?
Ich finde es sicherer, wenn alle Postfächer auf dem zweiten mailserver liegen, der nciht aus dem Internet erreichbar ist.
Der Zwiete Grund ist, dass man den ersten Mailserver, der nur die Mails annimmt und auf Spam oder Viren proft, beliebig verfielfätigen kann und per DNS Round Robin Verfahren die Mails verteilen kann.
Die DNS Zone habe ich unter meiner Kontrolle.

Aber ich bin für jede Idee offen.

Ich danke Euch!

Viele Grüße
Tino
 
Last edited by a moderator:
Bei zwei Mailservern mußt du aber auch sicherstellen, dass dein Eingangsserver, der die Spam- und Virenprüfung vornimmt, auch alle eMail-Adressen des zweiten Servers kennt und Mails nur für diese annimmt. Sonst erzeugt du nämlich fleissig Backscatter-Mails und das ist unbedingt zu vermeiden.
LMTP und SMTP sind eng verwandt (LMTP ist eine Ableitung von SMTP) und daher dürfte der Performance-Unterschied sehr gering sein. LMTP ist auch eher für die lokale Kommunikation auf einem System gedacht, so dass nicht jeder Dienst eine eigene Queue verwalten muß (das L steht für Local).
 
Bei zwei Mailservern mußt du aber auch sicherstellen, dass dein Eingangsserver, der die Spam- und Virenprüfung vornimmt, auch alle eMail-Adressen des zweiten Servers kennt und Mails nur für diese annimmt. Sonst erzeugt du nämlich fleissig Backscatter-Mails und das ist unbedingt zu vermeiden.[...]
Wenn die User über eine Datenbank wie mySQL oder ein LDAP-Verzeichnis z.B. verwaltet werden, stellt das kein Problem dar. M.E. kann man darüber diskutieren, ob tatsächlich der "äußere" der beiden Server (von Dir Eingangsserver genannt) tatsächlich die Spam- (Taggen) und Virenprüfung (Quarantäne) durchführen sollte. Ich tendiere eher zu einem leichtgewichtigen SMTP-Proxy in der Front, der primär regelt, mit wem wir überhaupt reden wollen.
 
Hallo zusammen,

vielen Dank für Eure Hinweise.
Ich werde diese mir druch den Kopf gehen lassen.

Viele Grüße
Tino
 
Back
Top