# Postfix Mails für Domäne relayen



## jesaja (2. März 2016)

Hallo,
[Info: OS auf den Servern Ubuntu 14.04]
ein vServer (s1) hat Postfix installiert und nimmt für mehrere Domänen Mails entgegen und versendet diese auch.
Nun habe ich einen zweiten Server (s2) mit Postfix, für den unser ISP aber den Port 25 gesperrt hat.
s1 soll nun für die Domäne "example.com" die Mails entgegennehmen und sie an s2 auf einen anderen Port (nicht 25) weiterleiten. Wenn ein Benutzer eine Mail von s2 versenden möchte, soll diese an s1 gehen und von dort aus weitergeleitet werden.

Welche Einstellungen muss ich nun jeweils auf s1 und d2 vornehmen, damit das Setting läuft?
Ich danke schon einmal für jede Hilfe.

Viele Grüße,
Jesaja


----------



## florian030 (3. März 2016)

Damit S1 allle Mails von S2 annimmt und dieser dann versendet und dass beides Deine Server sind, kannst Du das auch ohne auth machen. Ich nehme hier einfach mal Port 26.
S1:
Die IP von S2 in mynetworks in der main.cf von eintragen
Den smtp-Eintrag in der master.cf kopieren und smtp durch 26 ersetzen
postfix neu starten

S2:
In der main.cf von S2 relayhost = [IP von S1]:26
postfix neu starten

Die Firewall nicht vergessen.


----------



## robotto7831a (3. März 2016)

Das wäre aber doch nur das versenden von s2 oder nicht?

Das empfangen über s1 und weiterleiten an s2 fehlt in deiner Beschreibung. Oder sehe ich das falsch?

Wobei es mich wundert, dass Port 25 beim Provider gesperrt ist.


----------



## florian030 (3. März 2016)

Stimmt auffallend. 
Du brauchst dazu:
transport_maps = hash:/etc/postfix/transport
und in /etc/postfix/transport stehen die Domains mit dem entsprechenden Ziel.
example.com [IPS2]:26

Postfix von S2 muss natürlich dann auch auf Port 26 reagieren.


----------



## jesaja (3. März 2016)

Vielen Dank für eure Antworten!
Sorry, natürlich müssen die empfangenen Mails von s1 an s2 weitergeleitet werden.
Was nehme ich beim s2 dann für Einstellungen im Postfix vor mit dem entsprechenden Port?


----------



## robotto7831a (3. März 2016)

Das hier.



Zitat von florian030:


> S2:
> In der main.cf von S2 relayhost = [IP von S1]:26
> postfix neu starten
> 
> Die Firewall nicht vergessen.


----------



## jesaja (3. März 2016)

Danke!
Auf s1 habe ich aber mehrere Domains, für die er selbst zuständig ist. Wenn ich in der master.cf den smtp Eintrag kopiere, und diesen nur für die IP von s2 setzen möchte, wie sieht dann der Eintrag auf s1 aus?
[Eintrag auf s1]
smtp      inet  n       -       -       -       -       smtpd
[etwa so zusätzlich?]
26      inet  n       -       -       -       -       smtpd


----------



## florian030 (3. März 2016)

Du musst halt die Transports definieren.
Der Eintrag ist ok. Wenn Du auf Port 26 dann nur mails von dem anderen Servern haben willst, dann kannst Du auch noch darunter
-o mynetworks=IP
setzen. Dann kannst Du das in der main.cf auch weglassen.
Alles was von mynetworks kommt, wird angenommen und verarbeitet. Du kannst das aber auch über auth machen. Such mal nach postfix und smarthost


----------



## jesaja (23. März 2016)

Hey Florian, vielen vielen Dank! Es hat geklappt, die Postfix Server sprechen untereinander, und ich kann von aussen Mails nach innen von s1 nach s2 weiterleiten! Super!

Jetzt versuche ich das gleiche für s1 (Postfix) und s3 (Exchange) zu erstellen, aber für eine andere Domain. Obwohl ich dieselben Einstellungen vorgenommen habe, erhalte ich jedes Mal im Log von s1 ein
577 5.1.1 <mail@s3domain.de>: Recipient address rejected: undeliverable address: mail for s3domain.de loops back to myself;

Warum erhalte ich diese Nachricht?


----------



## florian030 (24. März 2016)

Zitat von jesaja:


> loops back to myself


Dann passt mydestination nicht.


----------



## jesaja (24. März 2016)

Ja, wenn ich die Domäne eintrage, dann erhalte ichbeim Mailversand von aussen im Maillog:
 Recipient address rejected: User unknown in local recipient table;
Das liegt wohl daran, dass die Mail nicht laut transport table an s3 weitergeleitet wird, sondern lokal bleibt.

Ich habe zudem bemerkt, dass ich von s1 an s3 direkt Mails von der Kommandozeile versenden kann. Wenn ich das aber von ausserhalb versuche, kommen die o.b. Probleme. Welches Modul von Postfix ist nun davon betroffen, bzw. welcher Eintrag muss geändert werden?

Grüße,
Robert


----------



## florian030 (24. März 2016)

Wenn Du Postfix vor einem Exchange laufen lassen willst, dann musst Du eh irgendwie prüfen, ob der Exchange den Empfänger überhaupt kennt. ENtweder trägst Du jede Adresse in ISPConfig ein, exportierst LDAP-Listen oder nutzt den verify-service von postfix (dann muss der Exchange aber auch passend antworten).


----------



## nowayback (24. März 2016)

oder exchange als primären mailserver einrichten und alles was er nicht kennt an postfix relayen - ist mMn der bessere Weg und wenn ich mich recht erinnere wurde mir das auch in den moc kursen so als best practise gelehrt


----------

