Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
centos:mail_c6:mta_14 [18.03.2014 17:32. ] – [SRS-Deamon] django | centos:mail_c6:mta_14 [28.03.2014 10:27. ] – django | ||
---|---|---|---|
Zeile 281: | Zeile 281: | ||
# chmod +x / | # chmod +x / | ||
+ | Nun benötigen wir noch ein passendes Shell-Script für unseren **PostSRSd**. | ||
+ | # vim / | ||
+ | <file bash / | ||
+ | # | ||
+ | # postsrsd | ||
+ | # | ||
+ | # chkconfig: | ||
+ | # description: | ||
+ | # the popular and secure Postfix Mail Transport Agent | ||
+ | # processname: | ||
+ | # pidfile: | ||
+ | # config: | ||
+ | # sec-key: | ||
+ | ### BEGIN INIT INFO | ||
+ | # Provides: | ||
+ | # Required-Start: | ||
+ | # Required-Stop: | ||
+ | # Default-Start: | ||
+ | # Default-Stop: | ||
+ | # Short-Description: | ||
+ | # Description: | ||
+ | # the popular and secure Postfix Mail Transport Agent | ||
+ | ### END INIT INFO | ||
+ | |||
+ | # Source function library. | ||
+ | . / | ||
+ | |||
+ | # Source networking configuration. | ||
+ | . / | ||
+ | |||
+ | RETVAL=0 | ||
+ | POSTSRSD_CONFIG="/ | ||
+ | NAME=" | ||
+ | DAEMON="/ | ||
+ | PID_FILE="/ | ||
+ | SCRIPTNAME="/ | ||
+ | DESC=" | ||
+ | |||
+ | if [ -f $POSTSRSD_CONFIG ]; then | ||
+ | . $POSTSRSD_CONFIG | ||
+ | else | ||
+ | exit 0 | ||
+ | fi | ||
+ | |||
+ | test -x $DAEMON || exit 0 | ||
+ | |||
+ | # Read config file if it is present. | ||
+ | if [ -r / | ||
+ | then | ||
+ | . / | ||
+ | fi | ||
+ | |||
+ | do_start() | ||
+ | { | ||
+ | echo -n " | ||
+ | daemon $DAEMON -4 -f" | ||
+ | | ||
+ | RETVAL=$? | ||
+ | echo | ||
+ | [ $RETVAL -eq 0 ] && touch / | ||
+ | return $RETVAL | ||
+ | } | ||
+ | |||
+ | do_stop() | ||
+ | { | ||
+ | echo -n " | ||
+ | killproc $NAME | ||
+ | RETVAL=$? | ||
+ | echo | ||
+ | [ $RETVAL -eq 0 ] && rm -f / | ||
+ | return $RETVAL | ||
+ | } | ||
+ | |||
+ | case " | ||
+ | start) | ||
+ | do_start | ||
+ | ;; | ||
+ | stop) | ||
+ | do_stop | ||
+ | ;; | ||
+ | status) | ||
+ | status $NAME | ||
+ | ;; | ||
+ | restart|force-reload) | ||
+ | do_stop | ||
+ | do_start | ||
+ | ;; | ||
+ | reload) | ||
+ | ;; | ||
+ | condrestart|try-restart) | ||
+ | if [ -f / | ||
+ | do_stop | ||
+ | do_start | ||
+ | fi | ||
+ | ;; | ||
+ | *) | ||
+ | echo " | ||
+ | [ " | ||
+ | exit 2 | ||
+ | ;; | ||
+ | esac | ||
+ | exit $? | ||
+ | </ | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
Zeile 387: | Zeile 490: | ||
# dd if=/ | # dd if=/ | ||
- | Anschließend setzen wir die Dateirechte unseres privat-keys, | + | Anschließend setzen wir die Dateirechte unseres privat-keys, |
# chmod 400 / | # chmod 400 / | ||
==== Postfix ==== | ==== Postfix ==== | ||
- | FIXME //... coming soon...// FIXME | + | In der Postfix-Konfigurationsdatei |
+ | |||
+ | <file bash / | ||
+ | |||
+ | # Django : 2014-03-18 | ||
+ | # Lookup-Tabelle zum Umschreibungen von Absender eMail-Adressen im SMTP-Envelop und im Header der eMail | ||
+ | sender_canonical_maps = btree:/etc/ | ||
+ | # | ||
+ | # Definition welche Adressen umgeschrieben werden sollen | ||
+ | sender_canonical_classes = envelope_sender | ||
+ | # | ||
+ | # Lookup-Tabelle zum Umschreibungen von Empfänger eMail-Adressen im SMTP-Envelop und im Header der eMail | ||
+ | recipient_canonical_maps = btree:/ | ||
+ | # | ||
+ | # Definition welche Adressen umgeschrieben werden sollen | ||
+ | recipient_canonical_classes = envelope_recipient | ||
+ | |||
+ | ...</ | ||
+ | |||
+ | ===== Programmstart ===== | ||
+ | ==== erster manueller Start des Daemon ==== | ||
+ | Nun können wir das erste mal **PostSRSd** anstarten. | ||
+ | # service postsrsd start | ||
+ | |||
+ | Starting Postfix Sender Rewriting Scheme Daemon: | ||
+ | |||
+ | In der Prozessliste finden wir mindestens einen neuen Prozess, der gestartet wurde: | ||
+ | # ps aux | grep postsrsd | ||
+ | |||
+ | nobody | ||
+ | |||
+ | Mittels **netstat** können wir überpfüfen, | ||
+ | # netstat -tulpen | grep 1000 | ||
+ | |||
+ | tcp 0 0 127.0.0.1: | ||
+ | tcp 0 0 127.0.0.1: | ||
+ | |||
+ | Läuft unser Daemon kann mit Hilfe von **lsof** sehen wir nicht nur den geöffneten port, sondern auch die Verbindungen die dort anliegen. | ||
+ | # lsof -i :10002 | ||
+ | < | ||
+ | postsrsd 5185 nobody | ||
+ | smtpd 5364 postfix | ||
+ | postsrsd 5367 nobody | ||
+ | postsrsd 5367 nobody | ||
+ | cleanup | ||
+ | postsrsd 5370 nobody | ||
+ | postsrsd 5371 nobody | ||
+ | postsrsd 5371 nobody | ||
+ | </ | ||
+ | # lsof -i :10001 | ||
+ | < | ||
+ | postsrsd 5185 nobody | ||
+ | postsrsd 5367 nobody | ||
+ | cleanup | ||
+ | postsrsd 5370 nobody | ||
+ | postsrsd 5370 nobody | ||
+ | postsrsd 5371 nobody | ||
+ | </ | ||
+ | |||
+ | ==== automatisches Starten des Dienste beim Systemstart | ||
+ | Damit der Deamon **PostSRSd** automatisch bei jedem Systemstart startet, denn ohne laufenden **postsrsd** verweigert nun unser **postfix** die Annahme der Nachrichten, | ||
+ | # chkconfig postsrsd on | ||
+ | |||
+ | Die Überprüfungung ob postsrsd wirklich bei jedem Systemstart automatisch mit gestartet werden, kann durch folgenden Befehle erreicht werden: | ||
+ | # chkconfig --list | grep postsrsd | ||
+ | |||
+ | | ||
+ | Wichtig sind jeweils die Schalter **on** bei den Runleveln - **2 3 4 5**. | ||
+ | |||
+ | ===== Umschreibungen / Logging ===== | ||
+ | Im Maillog unseres Mailservers werden die Umschreibungen entsprechend dokumentiert. | ||
+ | # less / | ||
+ | |||
+ | Mar 18 21:01:59 vml000080 postsrsd[5806]: | ||
+ | |||
+ | Im Header zugestellten eMail beim Empfänger wird dies auch im **Return-Path**hinterlegt. | ||
+ | Return-Path: | ||
+ | |||
+ | Bounced das Zielsystem die Nachricht, weil dieses z.B. die Nachricht wegen einer vollen Mailbox nicht zustellen kann, kann das relayende System nun problemlos den eigentlichen Absender informieren, | ||
+ | |||
+ | Mar 13 21:27:25 vml000080 postsrsd[6883]: | ||
+ | ... | ||
+ | ... | ||
+ | Mar 18 21:27:26 vml000080 postfix/ | ||
+ | |||
+ | ====== Links ====== | ||
+ | * **[[centos: | ||
+ | * **[[wiki: | ||
+ | * **[[http:// | ||
+ | |||
+ | ~~DISCUSSION~~ |