Über den Author / Internet / Server / Mailversand über mehrere IP Adressen per Postfix

Mailversand über mehrere IP Adressen per Postfix

~3 Min. Lesezeit

Ein Linux System kann den Mailversand über mehrere IP Adressen managen. Dies hat zum Vorteil das Massenmails weniger blockiert werden, oder sich gegenseitig Kunden nicht mehr sperren.

Round Robin

Round Robin beschreibt ein Verfahren, was eine bestimmte Arbeit (z.B. Versand von 100 Mails) über diverse IP Adressen aufteilt und somit bekommt jede IP Adresse gleich viel „Arbeit“ zugewiesen.

Der Vorteil liegt hier auf der Hand. Massenmails gehen per verschiedene IP Adressen auf den Weg und damit können mahr Mails pro Minute verschickt werden ohne in einem Spamfilter zu landen. Das grosse Nachteil ist jedoch, falls man auf einer Blacklist landet, hat man viel Arbeit, alle IP Adressen wieder austragen zu lassen.

Um dies zu realisieren ist ein Zusatzprogramm notwenig. In meinem Fall wollte ich aber kein Round Robin einsetzen, warum ich hier auf die diversen anderen Anleitungen im Netz verweise.

Auf Kunden getrennt

Ich wollte, dass jeder Kunde seine eigene IP Adresse bekommt, vorallem aber solche, welche Massenmailings versenden. Das Nachteil ist hier, der Mailversand muss normal in Tranchen erfolgen, was man problemlos innerhalb von Postfix einstellen kann.

default_destination_concurrency_limit = 20
default_destination_recipient_limit = 10
default_destination_rate_delay = 60s

Der grosse Vorteil aber, wenn ein Kunde die Massenmails übertreibt, landet er und nur er in einer Blacklist. Damit hat der Hoster kein Druck anderer Kunden dies zu beheeben, sondern man kann dies getrost dem Übeltäter üerlassen, dies wieder zu bereinigen. Wer weiss wie viele Blacklists es gibt und wie lange eine Austragung dauert, wird hier schnell viel Zeit und Kosten sparen.

Aus diesem Grund, habe ich mich entschieden dies bei Kunden mit Massenmailings einzurichten.

Um dies zu realisieren, muss man Postfix zuerst die neuen IP Adressen mitteilen. Dazu editiert man die Datei /etc/postfix/master.cf

Pro IP Adresse, wird nun ein neuer Block in diese Datei hinzugefügt:

address32  unix  -       -       n       -       -       smtp
   -o smtp_bind_address=192.168.1.32
   -o smtp_helo_name=ip32.reverse-dns.ch
   -o syslog_name=postfix-address32
 
address33  unix  -       -       n       -       -       smtp
   -o smtp_bind_address=192.168.1.33
   -o smtp_helo_name=ip33.reverse-dns.ch
   -o syslog_name=postfix-address33
 
address34  unix  -       -       n       -       -       smtp
   -o smtp_bind_address=192.168.1.34
   -o smtp_helo_name=ip34.reverse-dns.ch
   -o syslog_name=postfix-address34

address35  unix  -       -       n       -       -       smtp
   -o smtp_bind_address=192.168.1.35
   -o smtp_helo_name=ip35.reverse-dns.ch
   -o syslog_name=postfix-address35

Wie ihr seht, jede IP Adresse benötigt hier sein eigenen Listener inklusiv Reverse DNS Angabe (Was ist das?).
Hat man dies gespeichert, muss Postfix erneut gestartet werden, inkl. Blick ins Log.

service postfix restart

Als Nächstes müssen wir mitteilen, wann Postfix eine andere IP Adresse nehmen soll. Dazu erstellt man eine Datei mit dem Namen /etc/postfix/sdd_transport_maps.regexp und fügt alle Domains hinzu, welche nicht über die Standard IP Adresse versendet werden sollen:

/@kunde1\.ch$/               address32:
/@kunde2\.net$/              address33:
/@kunde3\.com$/              address34:
/@kunde4\.ch$/               address35:
/@kunde4\.net$/              address35:

Ist diese Datei gespeichert, muss diese noch für Postfix lesbar gemacht werden. Nach jeder Änderung an der Datei, muss folgendes Kommando ausgeführt werden:

cd /etc/postfix/ && postmap sdd_transport_maps.regexp

Wenn auch dies erledigt ist, müssen wir Postfix nur noch mitteilen, dass er diese lesen soll. Dazu bearbeiten wir die /etc/postfix/main.cf und fügen am Ende der Datei folgende Zeile ein:

sender_dependent_default_transport_maps = regexp:/etc/postfix/sdd_transport_maps.regexp

Speichern und laden postfix erneut:

service postfix restart

Ab sofort sind die ausgehenden Mails pro Domain auf verschiedene IP Adressen vom Server und die Kunden können sich gegenseitig nicht mehr auf die Blacklist bringen.
Zur Kontrolle ob dies auch funktioniert, kann man nun ein Mail von einer solchen Domain versenden und wird dann im Log dazu ein Eintrag finden:

Apr 13 07:11:05 server postfix-address32/smtp[23083]: 0BCFA48000F: from=<test@kunde1.ch>, relay=mx01.emig.gmx.net[213.165.67.97]:25, delay=1.1, delays=0.08/0.01/0.4/0.46, dsn=2.0.0, status=sent (250 Requested mail action okay, completed: id=0LyRDe-1X4m0E3ABy-015oaX)
Apr 13 07:11:07 server postfix/smtp[23083]: 0BDE302D1E9: from=<test@sonstwas.ch>, relay=mx01.emig.gmx.net[213.165.67.97]:25, delay=1.2, delays=0.15/0.01/0.5/0.53, dsn=2.0.0, status=sent (250 Requested mail action okay, completed: id=0Mye2d-9D49562AE4-349ea2)

About Stefan

avatar
Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf. Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

PHP Trojaner (Teil 4: Codierte Uploader Infektion)

~2 Min. LesezeitNicht jeder PHP Trojaner kann auf den ersten Blick identifiziert werden, was der …

PHP Trojaner (Teil 3: Spamsender Infektion)

~1 Min. LesezeitSpam ist ein grosses Problem der heutigen Zeit, doch wer verschickt Spam und …

4 Kommentare

  1. avatar

    Sehr gute Idee, in manchen Fällen versenden alle Kunden über eine IP Adresse. Eine IP gesperrt, dann sind alle E-Mails geblockt. So kann man immer eine Backup IP Adresse haben und im Notfall sie schalten.

    P.s. „This Blog will give regular Commentators DoFollow Status. “
    Ha ha, dabei gibt es beim Kommentieren kein Feld für die Webseite, sprich die E-mail Adresse bekommt einen DoFollow Link :)))

  2. avatar

    Hoi IT Admin

    Das mit dem DoFollow, ich musste umstellen, das nur neuere Artikel noch eine URL akzeptieren. Ältere Artikel akzeptieren keine URL mehr. Gab leider genügend Missbraucher welche in älteren Artikeln irgendwas kommentiert haben, nur um ein Link zu platzieren.
    Auch gibts erst nach dem 5ten Kommentar ein DoFollow Link (rückwirkend

    Also Stammleser können URLs bei neuen artikeln hinterlassen, auch wenn die leider seltener wurden 😉

    Gruss
    Stefan

  3. avatar

    Hi Stefan,
    eine saubere Methode gegen Spammer 🙂

    Sowas gibt es leider auf Blogger.com nicht, deswegen musste ich auf meinem Blog Captcha aktivieren.
    Ist nicht die beste Lösung für meine Leser, aber wer überhaupt keine Zeit für Moderieren der Kommentare hat, für den ist es eine Lösung.

  4. avatar

    Moin moin,

    ich bin durch Google auf diesen Beitrag gekommen, da ich meinen Mailverkehr auf alle IP-Adressen verteilen möchte.

    Vielen Dank für diese interessante Lösung

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.