PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix Fallback zweiter Server



dilindam
28.09.10, 14:43
Hallo allerseits,

ich stehe mal wieder auf dem Schlauch und bräuchte mal wieder bisserl Input.

Ich bin dabei einen zweiten Mailserver zu installieren, der im Falle das der erste Mailserver
mal ausfällt die Mails dann versendet.

Aktueller Stand: ich habe für meine Domain einen zweiten MX-Record gesetzt.
(alle Namen und IP's geändert)

@ IN MX 10 neuer.mailserver.de.
* IN MX 10 neuer.mailserver.de.
@ IN MX 20 alter.mailserver.de.
* IN MX 20 alter.mailserver.de.

Ich habe das gleich so gemacht, das gleich der neue Mailserver die Mails verarbeitet.
Weil den kann ich immer noch abschalten und austesten.

Also wenn ich jetzt Mails versende, werden diese hauptsächlich von einem Webserver eingeliefert und der Versand über den neuen Mailserver funktioniert. Genauso wie der versand über den alten Mailserver bisher immer funktioniert hat. Nur seit der Änderung des MX-Records nicht mehr.

Wenn ich diesen neuen Mailserver nun abschalte, sollen die Mails dann vom alten Mailserver verarbeitet werden. Das funktioniert aber nicht.

Anders beim Empfang der Mails für die Domain. Schalte ich den neuen Mailserver ab,
empfängt der alte Mailserver die Mails. Der Empfang der Mails ist aber nur zweitrangig,
wichtig ist das immer der Versand funktioniert.

Hat jemand ein Plan? Was mache ich falsch? Wieso werden die Mails, wenn der neue Mailserver down ist, nicht an den alten Mailserver zur Verarbeitung gesandt?

bla!zilla
29.09.10, 15:06
Weil der MX Record einer Domain nur den Mailempfang betrifft. Wenn du den Mailversand regeln musst, dann ist das Thema "Mailrelay" für dich interessant. Und das hat mit MX Records nichts zu tun.

dilindam
29.09.10, 17:56
@bla!zilla, Danke für die Mitteilung,

aber zum Verständnis muss ich nochmal nachfragen. Wenn ich Postfix auf dem neuen Mailserver abschalte woher weiss dann mein Mailgenerierender Webserver das er jetzt die Mails beim alten Mailserver los wird?

Da kann ich doch auf dem neuen Mailserver ein mailrelay konfigurieren, wenn der aber nicht an ist ...

Und der alte Mailserver bekommt es gar nicht mit das er jetzt, wo der neue Mailserver aus ist
die Mails verarbeiten soll die vom Webserver kommen.

bla!zilla
29.09.10, 21:41
aber zum Verständnis muss ich nochmal nachfragen. Wenn ich Postfix auf dem neuen Mailserver abschalte woher weiss dann mein Mailgenerierender Webserver das er jetzt die Mails beim alten Mailserver los wird?

Dafür ist entscheidend, ob dein Webserver die Mails ÜBER den Mailserver versenden will (Mailrelay), oder aber ob der Webserver Mails an eine Domain schickt, für welche die beiden Mailserver zuständig sind.

Bei Letzterem sind MX Records das Mittel der Wahl. Den anderen Fall musst du anderweitig lösen. Ich weiß nicht ob der MTA auf dem Webserver vielleicht eine Reihenfolge bei den Mailrelays akzeptiert. Wenn deine Mailserver Mailrelay UND Ziel sind, dann bleibt trotzdem der erstgenannte Fall dein Problem: Du verwendest sie als Mailrelay und damit ist der MTA auf deinem Webserver das Problem, welches du lösen musst.

dilindam
30.09.10, 10:02
Guten Morgen,

also wichtig ist der Versand. Der bzw die Webserver generieren Mails die dann an alle möglichen Provider gehen.

main.cf:relayhost = alter.mailserver.de

Wenn dieser alte mailserver nun mal aussteigt, dann können die Webserver nicht mehr arbeiten, die Load steigt und irgendwann sind auch die Kisten ausgefallen.

Wäre folgendes nicht möglich? Also beide Mailserver als relayhost definieren?

main.cf:relayhost = alter.mailserver.de
main.cf:relayhost = neuer.mailserver.de

TMOS
30.09.10, 10:37
smtp_fallback_relay wäre hier vielleicht das richtige.
Wenn ich das laut Doku richtig verstehe, tritt dieser Host nur dann in Aktion, wenn alle
Server, die als A oder MX im DNS eingetragen sind, keine Verbindung von
dir annehmen wollen.

relayhost = alter.mailserver.de
fallback_relay = neuer.mailserver.de

Aber musst Du dir nochmal durchlesen:
http://www.postfix.org/postconf.5.html#smtp_fallback_relay

dilindam
06.10.10, 11:21
Moin,

so jetzt muss ich nochmal was posten. Klappt nicht wie gewünscht.
Habe fast alle Möglichkeiten durch.

Also ich habe auf dem sendenden Webserver die main.cf angepasst.

relayhost = neuer.mailserver.de
smtp_fallback_relay = alter.mailserver.de

auch habe ich es versucht mit:

relayhost = [neuer.mailserver.de]
smtp_fallback_relay = [alter.mailserver.de]

sobald der postfix auf neuer.mailserver.de aus ist, kommen keine mails mehr an.

Die Funktionalität des alten und neuen Mailservers ist aber gegeben. Wenn ich auf dem Webserver in dem Frontend des Webtools den SMTP-Server ändere, dann empfange ich die Mails. Aber das kann ich ja nicht in jedem Frontend ändern wenn der eine Mailserver mal ausfällt.

Hat jemand noch ne Idee was ich falsch mache?

dilindam
08.10.10, 20:47
Hi,

bin jetzt soweit. Also fallback_relay funktioniert nun. Hilft mir aber gar nicht weiter.
Denn die Webapplikationen senden die Mails mittels der php-Funktion, und es interessiert nicht ob da noch ein fallback_relay in der main.cf drin steht oder nicht.

Somit ist mein Problem noch größer geworden.

Wenn der Mailserver down ist, wird der Webserver die Mails nicht los.

Hat jemand jetzt noch ein Plan was man machen kann? Muss doch irgendwie zu lösen sein.

TMOS
09.10.10, 21:22
Da der Fallback bei SMTP Einlieferung ja nun funktioniert, wird wohl die einzige Lösung dann sein, wenn die PHP Anwendung die Mails eben auch per SMTP einliefert.

dilindam
09.10.10, 21:32
Hi TMOS,

ja das denke ich auch, das sich die Entwickler der Webapplikation nun einen Plan machen müssten, wie Sie die Mails per smtp einliefern.

Aber irgendeine andere Möglichkeit gibt es wohl nicht? Ich denke da in Richtung
das wenn der eine wegfällt der andere identische (bis auf IP) Mailserver das dann mitbekommt, dann sofort die IP des alten Mailservers annimmt und weiter arbeitet.

Obwohl bei der Überlegung dann wieder das Problem mit den empfangenen Mails auftreten könnte.

(Diese Antwort ist jetzt mal schnell ohne große Überlegungen meinerseits im Trahn geschrieben worden)

Stormbringer
10.10.10, 08:30
Du könntest die beiden Mailserver auch bspw. mittels heartbeat & drbd quasi clustern - da gibt es aber verschiedene Methosen dies zu tun.
Im Netz sollte es diverse Infos geben.

TMOS
10.10.10, 19:27
Ich würde erst die Entwickler fragen wie aufwändig das in deren PHP Anwendung ist. Sonst hast Du mit dem Cluster (oder halt Clusterähnlich) mehr Zeit investiert als nötig wäre.