[Postfixbuch-users] Postfix-Backup-Server
Julian Golderer
glua at 4-ever-server.net
Di Jan 11 20:38:07 CET 2005
guten abend,
danke, ich werde es ausprobieren :)
habe noch eine frage dazu: auf dem backup-server läuft ein webserver,
der über den postfix seine mails verschickt. wird das dann auch von dem
script dann blockiert?
außerdem ist mir noch ein zweiter ansatz eingefallen: greylisting
verwendet das jemand? wie effizient ist es?
gruß & nochmals danke!
julian golderer
> Tach auch,
>
> ich hab das nochmal rausgekramt, weil ich zufaellig ein paar Tage
> vorher auch an sowas gedacht hatte:
> Man hat zwei Mailserver mit unterschiedlicher Prioritaet, wobei der
> Backup-MX nur als reiner Ersatz fungieren soll, z.B. wenn der Primary
> wegen Hardwareschaden oder Wartungsarbeiten ausfaellt.
>
> Ausserdem setzt jpberlin.de ja seit kurzem Greylisting ein, und da
> Postgrey ueber den Policy Server Mechanismus funktioniert, habe ich mir
> jetzt mal die Readme dazu angeschaut.
>
> Rausgekommen ist dann jedenfalls das hier:
> <snip_1>
> #!/bin/sh
> #
> # probe_mx.sh: Beispiel eines Postfix Policy Servers (siehe
> # `postconf -h readme_directory`/SMTPD_POLICY_README).
> #
> # Es wird die Verbindung zu einem 2. Mailserver getestet, und
> # bei Erfolg die Mailannahme mit einem temporaeren Fehler (450)
> # verweigert.
> # Auf diese Weise kann man sicherstellen, dass ein Backup-MX
> # nur bei Ausfall des Hauptservers Mails selber akzeptiert.
> #
>
> # Pfad zu Netcat
> NC=/usr/bin/nc
>
> # IP/Hostname des Haupt-MX
> MX=172.17.2.172
>
> # dessen Begruessungszeile
> BANNER=$'220 mx0.example.net ESMTP Postfix\r'
>
> # Verbindungsaufbau
> RESPONSE="$(echo QUIT | $NC -i1 -w3 $MX 25 2>/dev/null | head -1)"
>
> # Auswertung
> if [ "$RESPONSE" = "$BANNER" ]; then
> echo -e 'action=DEFER_IF_PERMIT Please respect the MX priority.\n'
> else
> echo -e 'action=WARN probe_mx failed, check MX connectivity!\n'
> # oder einfach nur: echo -e 'action=DUNNO\n'
> fi
> </snip_1>
>
> <snip_2> (irgendwo in die master.cf)
> probe_mx unix - n n - - spawn user=nobody argv=/pfad/zu/probe_mx.sh
> </snip_2>
>
> <snip_3> (zwischen die smtpd_..._restrictions in main.cf)
> check_policy_service unix:private/probe_mx
> </snip_3>
>
> Ich bin ziemlicher Anfaenger was Shellskripte angeht, also wer da in
> Sachen Portabilitaet, Fehlerbehandlung etc. noch Kommentare loswerden
> will -- immer her damit.
>
> Funktioniert nach einigen Tests erstmal so, wie ich mir das erhofft
> hatte, auch wenn ich irgendwie das Gefuehl nicht los werde, dass das
> nicht weit genug gedacht war. ;)
>
> Gruss,
> Jens
>
Mehr Informationen über die Mailingliste Postfixbuch-users