Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mailserver:erweiterte_gewichtete_pruefungen_mittels_policyd-weight [30.04.2009 07:23. ] – link korrigiert django | centos:mailserver:erweiterte_gewichtete_pruefungen_mittels_policyd-weight [02.03.2012 13:10. ] (aktuell) – [Ausnahmeregelungen für Absendeserver] Rechtschreibkorrektur django | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== erweiterte gewichtete Prüfungen mittels policyd-weight ====== | ||
+ | Da wir mit [[centos: | ||
+ | \\ | ||
+ | Dazu nutzen wir den Policy-Dämon **policyd-weight**. | ||
+ | ===== Installation ===== | ||
+ | Da es noch kein vorgefertigtes RPM in den einschlägigen RPM-Quellen gibt, welchen wir vertrauen, installieren wir den daemon selbst per Hand. | ||
+ | \\ | ||
+ | Wir holen uns also das besagte Perl-Script in der aktuellen Version und speichern es unter **/ | ||
+ | < | ||
+ | chmod u+rx policyd-weight | ||
+ | mv policyd-weight / | ||
+ | Anschließend ändern wir noch wie auf der [[http:// | ||
+ | < | ||
+ | |||
+ | ... | ||
+ | ## cache stuff | ||
+ | my $LOCKPATH | ||
+ | # trailing slash) | ||
+ | |||
+ | my $SPATH | ||
+ | # daemon. | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Für den Betrieb benötigen wir noch einen User **polw**, den wir mit < | ||
+ | groupadd -r polw</ | ||
+ | \\ | ||
+ | Den ersten Programmstart nehmen wir nun mittels < | ||
+ | Im Maillog wird uns der Start entsprechend quittiert: | ||
+ | < | ||
+ | In der Prozessliste finden wir zwei Prozesse, die gestartet wurden: | ||
+ | < | ||
+ | polw 3234 0.0 0.6 12756 1652 ? Ss | ||
+ | polw | ||
+ | Mittels **lsof** können wir nun noch überprüfen, | ||
+ | < | ||
+ | COMMAND | ||
+ | policyd-w 23123 polw 4u IPv4 3539466 | ||
+ | |||
+ | ===== policyd-weight konfigurieren ===== | ||
+ | Wie auch bei **postgrey** konfigurieren wir für **policyd-weight** postfix. | ||
+ | \\ | ||
+ | Wir fügen also in unsere **/ | ||
+ | ** mit ein: | ||
+ | < | ||
+ | check_client_access hash:/ | ||
+ | check_policy_service inet: | ||
+ | ===== automatisches Starten des Dienste beim Systemstart | ||
+ | Da bei dem Archiv kein startup-script mit dabei ist, legen wir dies kurzer Hand selbst an: | ||
+ | # vim / | ||
+ | <code bash policyd-weight> | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # chkconfig: 2345 79 31 | ||
+ | # description: | ||
+ | # | ||
+ | # processname: | ||
+ | # | ||
+ | |||
+ | # Source function library. | ||
+ | . / | ||
+ | |||
+ | # Source networking configuration. | ||
+ | . / | ||
+ | |||
+ | # Check that networking is up. | ||
+ | [ ${NETWORKING} = " | ||
+ | |||
+ | prog=policyd-weight | ||
+ | policydweight=/ | ||
+ | |||
+ | # Source an auxiliary options file if we have one, and pick up OPTIONS, | ||
+ | if [ -r / | ||
+ | . / | ||
+ | fi | ||
+ | |||
+ | start() { | ||
+ | echo -n $" | ||
+ | $policydweight start | ||
+ | RETVAL=$? | ||
+ | echo | ||
+ | [ $RETVAL -eq 0 ] && touch / | ||
+ | } | ||
+ | stop() { | ||
+ | echo -n $" | ||
+ | $policydweight stop | ||
+ | RETVAL=$? | ||
+ | echo | ||
+ | [ $RETVAL -eq 0 ] && rm -f / | ||
+ | } | ||
+ | |||
+ | restart() { | ||
+ | stop | ||
+ | start | ||
+ | } | ||
+ | |||
+ | reload() { | ||
+ | echo -n $" | ||
+ | $policydweight reload | ||
+ | RETVAL=$? | ||
+ | echo | ||
+ | } | ||
+ | |||
+ | # See how we were called. | ||
+ | case " | ||
+ | start) | ||
+ | start | ||
+ | ;; | ||
+ | stop) | ||
+ | stop | ||
+ | ;; | ||
+ | restart) | ||
+ | restart | ||
+ | ;; | ||
+ | reload) | ||
+ | reload | ||
+ | ;; | ||
+ | *) | ||
+ | echo $" | ||
+ | exit 1 | ||
+ | esac | ||
+ | |||
+ | exit $RETVAL | ||
+ | </ | ||
+ | ===== automatisches Starten des Dienste beim Systemstart | ||
+ | Damit der postgrey-Daemon automatisch bei jedem Systemstart startet, denn ohne laufenden **policyd-weight-daemon** verweigert nun unser **postfix** die Annahme der Nachrichten, | ||
+ | |||
+ | < | ||
+ | |||
+ | Die Überprüfungung ob die beiden Dienste (Daemons) postfix und postgrey wirklich bei jedem Systemstart automatisch mit gestartet werden, kann durch folgenden Befehle erreicht werden: | ||
+ | |||
+ | < | ||
+ | postfix | ||
+ | postgrey | ||
+ | |||
+ | # chkconfig --list | grep poli* | ||
+ | policyd-weight | ||
+ | |||
+ | Wichtig sind jeweils die Schalter **on** bei den Runleveln - **2 3 4 5**. | ||
+ | ===== Ausnahmeregelungen für Absendeserver | ||
+ | Leider kommt es auch vor, dass vor allem große Provider hinter ihren MX ein cluster betreiben, die mit wechselnden IP-Adrressen aus einem Pool aufschlagen. Damit können unter Umständen Probleme bei der Bewertung entstehen. Diese schalten wir dann bei Bedarf in der **policyd_weight_client_whitelist** frei. | ||
+ | < | ||
+ | |||
+ | # 2008-10-08: 1und1.com (big pool, inserted by Django) | ||
+ | kundenserver.de | ||
+ | Nach dem Verändern der Textdatei müssen wir noch die Informationen in das binäre Datenbankformat überführen. Hierzu nutzen wir **postmap**: | ||
+ | < | ||
+ | |||
+ | ===== erfolgreiche Bewertung einer Anlieferung | ||
+ | Am nachfolgenden Beispiel sehen wir, den erfolgreichen Mailversand nach der Bewertung durch policyd-weight. | ||
+ | < | ||
+ | Oct 14 22:31:34 nss postfix/ | ||
+ | Oct 14 22:31:34 nss postgrey[21879]: | ||
+ | Oct 14 22:31:34 nss postgrey[21879]: | ||
+ | Oct 14 22:31:34 nss postfix/ | ||
+ | Oct 14 22:31:34 nss postfix/ | ||
+ | Oct 14 22:31:34 nss postfix/ | ||
+ | Oct 14 22:31:34 nss postfix/ |