Installation Postfix (Sendmail ersetzen)
Installation
cd /usr/ports/mail/postfix
make install clean
Nun Sendmail stoppen und deaktivieren
/etc/rc.d/sendmail stop
vi /etc/rc.conf
Folgende Zeilen einfügen
#-----------------------------------------------#
# Mail System
#-----------------------------------------------#
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
postfix_enable="YES"
/etc/periodic.conf File erstellen oder ändern:
vi /etc/periodic.conf
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
SSL Zertifikat erstellen
mkdir -p /etc/ssl/postfix
cd /etc/ssl/postfix
openssl genrsa -out key.pem 2048
openssl req -new -sha256 -key key.pem -out csr.csr
openssl req -x509 -sha256 -days 3650 -key key.pem -in csr.csr -out certificate.pem
chmod 640 /etc/ssl/postfix/key.pem
chgrp -R postfix /etc/ssl/postfix
Postfix Config File anpassen
vi /etc/postfix/main.cf
#rückwärts-kompatibilität deaktivieren
compatibility_level = 2
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/postfix/certificate.pem
smtpd_tls_key_file=/etc/ssl/postfix/key.pem
# TLS aktivieren
smtpd_use_tls=yes
smtp_use_tls = yes
#analog zu sendmail
mydestination = $myhostname, root, my.servername.com, localhost.servername.com, localhost
#access von sendmail
mynetworks = /etc/postfix/networks
Mailserver als MX Backup Server einrichten
Infos zur Konfiguration:
- Auf dem Hauptserver läuft SENDMAIL
- Auf dem Backup Server POSTFIX
Ich möchte also einen Backup MX für die domain teslina.com einrichten. In diesem Beispiel nenne ich den Primary MX mx1.teslina.com, den Backup Server nenne ich mx2.teslina.com
Folgende MX Records erfasse ich nun also im DNS:
teslina.com. 86400 IN MX 10 mx1.teslina.com.
teslina.com. 86400 IN MX 20 mx2.teslina.com.
Wichtig ist, dass der Primary MX die tiefste Nummer hat (also 10). Dies hat die höhere Priorität als der Backup Server (mir Prio 20)
Postfix Konfiguration auf dem Backup Server (mx2.teslina.com)
Folgende Zeilen müssen im main.cf von Postfix ergänzt werden bzw vorhanden sein:
vi /etc/postfix/main.cf
Folgende Zeilen sind relevant:
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
relay_domains = $mydestination, teslina.com, domain2.com, example3.com
relay_recipient_maps =
- relay_domains: Füge den entsprechenden Domain Name hinzu
- relay_recipient_maps: muss leer sein, ansonsten müsste man hunderte von Email Adressen auflisten, je nachdem, wieviele Accounts man verwaltet.
Weitere Einträge als die 3 oben genantnen sind NICHT NOTWENDIG.
Auf diesem Server sind wir mit der Config bereits fertig. Nur noch Postfix neu starten um die Änderungen zu aktivieren:
service postfix restart
Sendmail Konfiguration auf dem Hauptserver (mx1.teslina.com)
Hier muss einfach der Backup Server als RELAY eingetragen werden
vi /etc/mail/access
und den Server hinzufügen
mx2.teslina.com RELAY
Access File rebuilden und sendmail neu starten. Fertig 🙂
Testen
- Stoppe den Hauptmailserver
- Schick dir z.B. über Gmail ein Email
- Check das Mail Logfile auf deinem Backup Server
Nov 2 15:18:22 patsy postfix/qmgr[32558]: 304B5435F1: from=<test.com@gmail.com>, size=2550, nrcpt=1 (queue active)
Nov 2 15:18:22 patsy postfix/smtp[1781]: connect to mx1.teslina.com[1.2.3.4]:25: Connection refused
Nov 2 15:18:22 patsy postfix/smtp[1781]: 304B5435F1: to=<test@example.ch>, relay=none, delay=0.43, delays=0.42/0.01/0/0, dsn=4.4.1
, status=deferred (connect to mx1.teslina.com[1.2.3.4]:25: Connection refused)
Nov 2 15:18:22 patsy postfix/smtpd[1773]: disconnect from mail-oi1-f182.google.com[209.85.167.182] ehlo=2 starttls=1 mail=1 rcpt=1
data=1 quit=1 commands=7
wenn du jetzt auch noch mit
mailq
die queued mails checkst, findst du dort die Mail von Gmail
Starte jetzt wieder Sendmail auf dem Haupserver
Sobald der Backup Server den nächsten Sendmail Durchlauf macht, wird die Mail eintreffen.
Weitere Informationen: https://www.howtoforge.com/postfix_backup_mx