[Postfixbuch-users] Mails für eine Domain am backup-mx nur annehmen, wenn auch der local part stimmt
Ruben Rögels
ruben.roegels at jumping-frog.org
Mi Sep 28 21:13:38 CEST 2011
Am 28.09.2011 20:04, schrieb Ruben Rögels:
>
>
> Am 28.09.2011 19:48, schrieb Alexander Stoll:
>> Am 28.09.2011 19:24, schrieb Ruben Rögels:
>>> Schönen Guten Abend,
>>>
>>>
>>> folgendes Szenario:
>>>
>>> Zwei Mailserver (mx1.example.com und mx2.example.com) sind für mehrere
>>> Domains zuständig. Das ganze wird mit den virtual_* Parametern und einer
>>> SQL-Datenbank erledigt.
>>>
>>> Nur mx1 stellt auch an Postfächer zu, mx2 ist ein reines
>>> store&forward-System.
>>>
>>> Nun das Problem:
>>>
>>> Am mx1 prüfe ich mit virtual_mailbox_domains ob er für die Domain
>>> zuständig ist, fällt die Prüfung positiv aus, wird mit
>>> virtual_mailbox_maps und virtual_alias_maps über Zustellung oder
>>> Weiterleitung entschieden.
>>>
>>> Falls der local_part nicht existiert verweigert mx1 die Annahme der
>>> E-Mail gegenüber dem einliefernden mx - es wird nicht gebounced!
>>>
>>> mx2 prüft über virtual_mailbox_domains nur die Domains für die er
>>> zuständig ist und nimmt deswegen natürlich fleißig alle E-Mails an eine
>>> Domain an, egal ob der local_part überhaupt zugestellt werden kann oder
>>> nicht. Beim relayen an mx1 akzeptiert dieser die E-Mail natürlich nicht
>>> und mx2 bounced die Mail dann - schlecht.
>>>
>>> Mein Ansatz:
>>>
>>> mx2 prüft über virtual_mailbox_domains die vollständigen Adressen. Eine
>>> geeignete Datenbankabfrage sorgt dafür, dass mx2 nur dann eine Domain
>>> als Antwort aus der Datenbank erhält, wenn local_part+'@'+domain
>>> entweder eine maibox ist oder ein alias, ansonsten liefert das Query
>>> keine Domain als Antwort und mx2 verweigert die Annahme(?) (so wie es
>>> mx1 auch tun würde).
>>>
>>> Meine Frage:
>>>
>>> Ist das ein sauberer Ansatz oder habe ich jetzt etwas komplett übersehen?
>>>
>>> Vielen Dank& Gruß,
>>> Ruben
>>>
>> Ja, dieses Setup ist ein Musterbeispiel einer unnötigen Redundanz
>> (Store&Forward) mit zusätzlicher Fehlerquelle (Backscatter) so lange
>> nicht irgendwelche (praktischen!) Lastfälle eine Rolle spielen.
>>
>> Dieses Setup ist nur sinnvoll wenn:
>> - Last verteilt werden soll/muss
>> - Ein redundantes Backend den Zugriff auf die Postfächer sichert wenn
>> ein (Front)System tatsächlich mal lahmt.
>>
>> Ansonsten spart man sich die Komplexität eines zweiten MX mit der
>> Notwendigkeit auch auf dem für eine funktionierende Empfängervalidierung
>> sorgen zu müssen.
>>
>> Zum Ansatz: Grundsätzlich richtig, wie man das am elegantesten erledigt
>> und ob das ein DB-Backend sein muss, gibt die Eingangsinfo nicht her.
>>
>
> Hallo,
>
> danke für Deine klare Antwort.
>
> Nach kurzer Überlegung komme ich zum Schluss, dass ich mir den vorerst
> mx2 sparen kann.
>
> Dennoch interessiert mich, wie ich ein solches Szenario am
> geschicktesten betreibe. In naher Zukunft wird mx2 wirklich Last
> verteilen und Redundanz bieten müssen, von daher ist sein Einsatz nicht
> ganz unberechtigt.
>
> Datenbankanbindung ist zwingend erforderlich, da über ein Web-Frontend
> die virtuellen Postfächer konfiguriert werden.
>
> Danke & Gruß,
> Ruben
>
Noch mal ich:
Nachtrag: Mein Ansatz funktioniert nicht - zumindest nicht mit
virtual_mailbox_domains, weil Postfix in %s wirklich nur den Domain-Part
der eingehenden Mail übergibt.
Andere Ideen?
Gruß,
Ruben
Mehr Informationen über die Mailingliste Postfixbuch-users