Failover-IP Problem beim Mailversand?

  • Hallo liebes Forum,


    ich habe hier eine Frage die ich mir nicht beantworten kann. Und zwar richtige ich gerade zwei Server (natürlich bei netcup :) ) neu ein.
    Die beiden Server bekommen eine Failover-IP. Aktiv ist immer nur ein Server.
    Das heißt das Setup ist wie folgt:

    Code
    Server 1: entelive.see.de 192.168.123.1
    Server 2: entestandby.see.de 192.168.123.2
    Failover-IP: 192.168.123.3
    Domain: ente.see.de 192.168.123.3
    Reverse-DNS von allen drei IP-Adressen: ente.see.de
    IP des (netcup) Gateways: 192.168.123.254


    Beide Server haben alle Identifikationsmerkmale (Hostname, Postfix SMPT-Banner) auf 'ente.see.de' gestellt.
    Die Failover-IP ist beiden Server als zusätzliche IP (ens3:1) eingetragen. Auf dem Interface ens3 liegt die Haupt-IP.


    Nun die Frage: Wenn Server 1 eine Mail bei gmx.de einliefern will, so wird er ausgehend vermutlich seine Haupt-IP (192.168.123.1) nehmen.
    Im Banner sendet er nun 'see.ente.de'.
    gmx prüft nun zuerst den Reverse-DNS der IP 192.168.123.1 und bekommt 'see.ente.de' was auch zum Banner passt.
    Wenn nun aber gmx eien Forward-Lookup auf 'ente.see.de' macht so bekommt er die IP 192.168.123.3.
    Diese IP passt natürlich nicht zu der IP von dem gerade einliefernen Server.
    Ist das ein Problem?


    In diesem Beitrag scheint jemand das selbe Problem zu haben, er spricht zumindest von 'Mails landen auch bei allen im Spam-Ordner'.


    In dem anderen Beitrag versucht er nun die Server dazu zu zwingen immer über die Failover-IP rauszugehen, mittels (in meinem Fall):

    Code
    up ip route change default via 192.168.123.254 src 192.168.123.3



    Aber einerseits scheint er damit Probleme zu haben und andereseits möchte ich das auch nicht unbedingt.
    Ich würde ja meine Server gerne weiterhin über ihre eigentliche Adresse entelive.see.de (192.168.123.1) erreichen können - wobei das eventuell trotz der anderen Route geht und die Pakete trotzdem von 192.168.123.1 beantwortet werden, oder?
    Nur neue Verbindungen werden in dem Fall mit der definierten Route über die 192.168.123.3 aufgebaut, oder?


    Bin gerade etwas verwirrt und hoffe doch dass ich mit meinem Setup nicht auf dem Holzweg bin, wenn jemand was zur Klärung beitragen kann: Gerne :)


    Thomas


    PS: Die IPs und Domainnamen sind natürlich nicht echt.

  • Hallo ThomasChr,


    eine Information muss bei einem Mailserver beachtet werden:


    Zitat

    Diese IP passt natürlich nicht zu der IP von dem gerade einliefernen Server.
    Ist das ein Problem?


    Genau das ist das Problem :)


    Bei Empfang einer E-Mail Prüfen Provider, wie das beschriebene gmx, dass die Zustellung der E-Mail sinnvoll erfolgen kann (SPAM-Vermeidung).
    Hierbei ist wichtig, dass der Hostnahme des Reverse-Lookup zu der IP-Adresse passt, von der die E-Mail kommt.


    Am einfachsten ist es, wenn nicht über die Failover IP gesendet wird.
    Bei mir sende ich über die Standart-IPs der Server. Nehmen wir an es ist die 172.16.0.1.
    Der DNS-Nahme lautet node1.domain.tld (als Reverse Lookup). Somit kommen die E-Mails von 172.16.0.1 (reverse node1.domain.tld) und node1.domain.tld zeigt auf 172.16.0.1.
    Somit wird die E-Mail erfolgreich zugestellt.



    Des weiteren gilt:


    Zitat

    Beide Server haben alle Identifikationsmerkmale (Hostname, Postfix SMPT-Banner) auf 'ente.see.de' gestellt.


    Das Banner ist für das Senden von E-Mails nicht relevant. Es können Mails versendet werden, ohne überhaupt mit Postfix, Exim oder anderen Programmen E-Mails empfangen zu können!
    Diese Fehlermöglichkeit ist bei fehlerhaften Sendevorgängen unwahrscheinlich.



    Ich hoffe etwas weiter geholfen zu haben!
    Andreas

  • Hallo Andreas,


    du hast schon sehr geholfen, das heißt entweder
    a) Ich setze den Reverse-DNS von 192.168.123.1 auf 'entelive.see.de', somit gilt "192.168.123.1 == entelive.see.de' und "entelive.see.de == 192.168.123.1" - einziges Problem ist nun dass mein Postfix Banner 'ente.see.de' nicht mehr zum ReverseDNS passt, oder
    b) Ich setze die außgehende Standard-IP der Default-Route von dem Server der gerade die Failover-Ip besitzt auf '192.168.123.3', dann gilt "192.168.123.3 == ente.see.de" und "ente.see.de == 192.168.123.3" - und auch der Postfix-Banner 'ente.see.de' passt zum ReverseDNS.


    Momentan würde ich ja Möglichkeit b) bevorzugen, das schien (bei einem kurzen Test) genau wie gewünscht zu funktionieren.
    Was sind denn -deiner Meinung nach- die Nachteile von b)?


    Eigentlich hätte ich nämlich schon ganz gerne dass Postfix Banner und ReverseDNS zusammenpassen...


    Danke schonmal für deine Hilfe!


    Thomas

  • Hallo ThomasChr,


    ich würde definitiv zu Möglichkeit a) raten.
    Das Verwenden der Failover-IP ist bei dem Einsatz von Mailserverm mich nötig uner erhöt somit lediglich die Komplexität.
    Ich habe für jeden Server ein anderes Banner. Somit passen gemäß a) alle DNS- und IP-Adress-Angaben zusammen.
    In der DNS-Verwaltung habe ich für jeden server einen MX-Eintrag. Somit erhalte ich auch bei einzenem Serverausfall alle E-Mails (sogar ohne meine Failover-Adresse schwenken zu müssen :))


    Wie schon gesagt/geschrieben erhöht Möglichkeit b) ohne einen von mir ersichtlichen Mehrwert die Komplexität. Deshalb meine Tendenz zu a).
    Erkennt vielleicht jemand anderes einen Mehrwert bei der Verwendung der Failover-Adresse?


    Viele Grüße
    Andreas

  • Wie auch immer, meine Empfehlung ist nicht von der Lösung der HELO-Thematik abhängig.
    Ich halte a) Aufgrund der Einfachheit für sinnvoller.


    Vielleicht git es ja auch noch andere Meinungen im Forum?


    Viele Grüße
    Andreas

  • Ich habe nun Variante b) umgesetzt.
    Gleichzeitig hab ich aber die Reverse-DNS Einträge der Haupt-IP einzelnen Server auf ihre entsprechenden Forward-DNS Einträge gesetzt.
    Das heißt nun gilt:

    Code
    entelive.see.de == 192.168.123.1 (Forward-Lookup) == entelive.see.de (Reverse-Lookup)
    entestandby.see.de == 192.168.123.2 (Forward-Lookup) == entestandby.see.de (Reverse-Lookup)
    ente.see.de == 192.168.123.3 (Forward-Lookup) == ente.see.de (Reverse-Lookup)


    Das Postfix-Banner habe ich weiterhin auf 'ente.see.de' gelassen, die Default-Route des Live-Servers geht über die Failover-IP.
    Bislang noch keine Netzwerkprobleme.


    SMTP-Test meckert nun natürlich beim testen von 'entelive' oder 'entestandby' dass das Banner nicht passt.
    Beim Testen von 'ente' geht alles gut.
    Der MX-Eintrag wird dann auf 'ente' zeigen - so dass immer nur der Mailserver mit der Failover-IP angesprochen wird.


    Ausgehende Mailtests werd ich erst machen können wenn die Systeme live gehen. Das wird wohl noch ein bis zwei Wochen dauern.
    Wenns Probleme machen sollte* werde ich halt die einzelnen Banner schnell umstellen und die Default-Route ohne SRC-IP setzen.


    Thomas


    * Ich hoffe Icinga oder Munin erwischt diese Probleme dann auch, selbst wenn es nur Netzwerkausfälle von wenigen Sekunden bis Minuten sind...

  • Aber einerseits scheint er damit Probleme zu haben und andereseits möchte ich das auch nicht unbedingt.
    Ich würde ja meine Server gerne weiterhin über ihre eigentliche Adresse entelive.see.de (192.168.123.1) erreichen können - wobei das eventuell trotz der anderen Route geht und die Pakete trotzdem von 192.168.123.1 beantwortet werden, oder?
    Nur neue Verbindungen werden in dem Fall mit der definierten Route über die 192.168.123.3 aufgebaut, oder?

    Die Probleme habe ich, wie im Thread beschrieben, erst seit einigen Tagen. Ich habe nichts umgeändert vorher.
    Das einzige Problem ist, dass Netcup nicht bereit ist mal ernsthaft bei sich nach dem Fehler zu suchen, sondern mich als den Deppen darstellt...
    (Natürlich lässt es sich im Rettungssystem nicht reproduzieren, weil hier die interfaces-Datei abweicht)


    Du kannst mit meiner Lösung den Server über beide IP-Adressen erreichen und er antwortet auch mit der jeweiligen IP-Adresse.
    Standardmäßig nutzt er allerdings die Failover-IP als Ausgang. Das ist auch gut so, da wie du schon sagst, ansonsten die Prüfung der Reverse-DNS zu Problemen führt.
    Natürlich könntest du auch einen DNS-Eintrag auf mailserver1.domain.de setzen mit hoher Priorität auf die HauptIP. Dann halt entsprechend den Reverse-DNS für deine HauptIP anpassen. Genauso könntest du es dann mit den anderen Servern auch machen mit angepasste Priorität. Sollte ein Server aber mal für ein paar Sekunden nicht erreichbar sein, wird die E-Mail sofort an den Ersatzserver zugestellt. Du musst dann dafür sorgen, dass die perfekt synchronisiert werden.


    Ich möchte das daher nur ungern. Weiterhin muss ich die ausgehend IP für Teamspeak anpassen. Teamspeak funktioniert nur wenn man es fest auf eine IP bindet (hat Lizenzgründe). Wenn ich dafür nun die HauptIp nehme dann verliere ich alle Vorteile meiner Failover-IP, da ich nicht mal fix umziehen kann sondern immer auf die Aktualisierung der DNS-Einträge angewiesen bin. Fände ich unglücklich.

  • Vielen Dank für die umfangreiche und erhellende Antwort!
    Dann werd ich das mit der Route mit der Failover-Ip als SRC mal lassen und berichten wenn es Probleme gibt.


    Wie schon im anderen Thread angeboten, wenn ich dir was helfen kann habe ich zwei mal zwei Server mit Failover-IP, einmal semi-produktiv (möchte nix an den Einstellungen zu sehr ändern weil da bald Echtlauf) und einmal nur als Testsysteme.


    Thomas