Postfix unter Proxmox VE konfigurieren

Moin!

Heute erkläre ich euch wie Postfix auf einem Proxmox Host, sowie einem Proxmox Cluster konfiguriert werden kann.
Das ist insoweit wichtig, wenn ihr z.B. über ein abgeschlossenes Backup oder Rsync benachrichtigt werden wollt. Auch werdet ihr über mögliche Festplattendefekte oder andere Ausfälle informiert.

Wir benötigen dazu:

  • Proxmox Host
  • E-Mail-Adresse

Wir starten mit einer SSH Verbindung auf den Proxmox Host. Ihr könnt auch das Web UI des Host dazu verwenden. Seit ihr in der Shell angekommen, aktualisieren wir zunächst die Paketlisten und führen ein Upgrade durch. Zusätzlich installieren wir das Paket „postfix“.

apt update && apt upgrade -y && apt install postfix libsasl2-modules bsd-mailx -y

Nun konfigurieren wir Postfix. Dazu legen wir zunächst ein Backup an. Danach öffnen wir die Config Datei und tragen dort folgende Parameter am Ende ein. Passt den Parameter, der den SMTP Server enthält, auf euren Server an. Wichtig! Sollte ein Parameter, den wir hinzufügen, schon in der Config Datei vorhanden sein, muss der bereits vorhandene Parameter mit einer # auskommentiert werden. Jeder Parameter muss einzigartig in der Config sein!

cp /etc/postfix/main.cf /etc/postfix/main.cf.bak
nano /etc/postfix/main.cf
#relayhost =

relayhost = [smtp.euermailserver.tld]:587
smtp_use_tls = yes
smtp_enforce_tls = yes
smtp_tls_security_level = encrypt
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous

Im nächsten Step legen wir die Authentifizierungsdatei an. Wir öffnen die Datei und tragen den SMTP Server gefolgt von dem Port, sowie dem Benutzer und dem Passwort ein. Sollte jemand eine 2 Faktor Authentifizierung in seinem E-Mail Konto nutzen, muss im Konto ein Applikationspasswort generiert werden. Dieses wird hier eingetragen.

nano /etc/postfix/sasl_passwd
[smtp.euermailserver.tld]:587 benutzername:passwort

Da die Authentifizierungsdatei bereits erstellt ist, können wir eine gehashte Datenbankdatei anlegen.

postmap /etc/postfix/sasl_passwd

Vorsorglich passen wir noch den Besitzer und die Berechtigungen an. Im Normalfall erfolgt das automatisch.

chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db 

Nun haben wir zwei Möglichkeiten die Absender Adresse zu konfigurieren. Welche Möglichkeit ihr wählt, hängt von eurem Homelab ab. Die erste Möglichkeit ist für Homelabs mit nur einem Server (node) ohne Cluster. Die zweite Möglichkeit bezieht sich auf Homelabs mit mehr als einem Server, die zusammen in einem Cluster agieren. Für die erste Variante öffnen wir, falls dies noch nicht geschehen ist, das Web UI des Proxmox Hosts. Dort wählen wir Rechenzentrum -> Optionen -> Absender E-Mail-Adresse aus und tragen die E-Mail Adresse ein.

Die zweite Möglichkeit sieht eine Konfiguration auf jedem Server vor. Sie ermöglicht das „umbiegen“ der lokalen Absender Adresse auf eine für den SMTP Server „vertretbare“ Adresse. Im Normalfall setzt sich die Absender Adresse aus Username, Hostname und der lokalen Domain zusammen. z.B. root@node1.localdomain. Wenn nun die lokale Adresse nicht auf eine für den SMTP Server „vertretbare“ Adresse umgebogen wird, lehnt der Server den Versand der E-Mail ab.
Jetzt kann man sich fragen, warum man sich diesen Mehraufwand machen sollte, wenn man auch einfach über das Web UI bequem die Adressen eintragen kann. Die Antwort darauf ist simpel. Die Einstellung im Web UI gilt für alle Server im Cluster. Bedeutet, die Absender Adresse aller Cluster Teilnehmer ist identisch. Es kann nicht mehr unterschieden werden, von welchem Server die Meldung versendet wurde.
Um jetzt den ganzen Bums konfigurieren zu können, legen wir eine Datei an und tragen dort die aktuelle Absenderadresse ein, darauf folgt durch ein Leerzeichen getrennt, die gewünschte Absender Adresse. Wichtig! Das Postfach, welches ihr vor eurer Domain verwenden wollt, muss nicht logisch in eurem E-Mail-Account bzw. auf eurer Domain existieren.

nano /etc/postfix/sender_canonical
root@node1.localdomain node1@euredomain.tld

Damit Postfix auch weiß das die Adresse „umgebogen“ werden muss editieren wird die main.cf erneut. Wird tragen einfach den Parameter am Ende der Config ein.

nano /etc/postfix/main.cf
sender_canonical_maps=hash:/etc/postfix/sender_canonical

Anschließend muss aus der sender_canonical noch eine Postman Datei erstellt werden.

postmap /etc/postfix/sender_canonical

Die Schritte sowie den Rest des Beitrags muss ebenfalls auf den anderen Teilnehmern im Cluster ausgeführt werden. Der einzige Unterschied ist dabei, dass die Einträge in der sender_canonical Config entsprechend für jeden Server angepasst werden müssen.

Ab diesen Punkt sind die Schritte wieder identisch. Jetzt, da die Absender E-Mail Adresse festgelegt ist, müssen wir die Empfängeradresse vom root User anpassen. Dazu wählen wir Rechenzentrum -> Benutzer -> root -> Bearbeiten aus. An diesem Punkt tragen wir unsere Empfänger E-Mail-Adresse ein.

Proxmox-Postfix-Konfiguration-1

Nun begeben wir uns erneut auf die Shell und starten dort den Postfix Daemon neu.

systemctl restart postfix.service

Abschließend testen wir unser Setup, indem wir eine E-Mail vom Proxmox Host versenden lassen. Dazu den unten zusehenden Befehl auf eure verwendeten E-Mails anpassen und absetzen.

echo "Test" | mail -s "Test Betreff" eure@email.de

Ihr solltet, sofern alle Schritte richtig befolgt wurden, eine E-Mail in eurem Postfach auffinden. Diese kann auch durchaus im Spam-Ordner zu finden sein. Solltest du keine Mail in deinem Postfach finden, kannst du anhand der Logs ermitteln, wo der Hase im Pfeffer liegt. Dazu einfach wie folgt das Log aufrufen.

cat /var/log/mail.info

Grüße gehen aus dem Archiv!

Abonnieren
Benachrichtige mich bei
guest
9 Kommentare
Älteste
Neuste Meist Bewerteste
Inline Feedbacks
Zeige alle Kommentare
9
0
Bitte lasse uns an deinen Gedanken teilhaben und kommentier den Beitrag.x
Cookie Consent mit Real Cookie Banner