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 in soweit 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
  • Email Adresse

Wir starten mit einer SSH Verbindung auf den Proxmox Host. Ihr könnt auch das WebUI 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 schon 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 Email 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 nun 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 beziegt 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 WebUI des Proxmox Hosts. Dort wählen wir Rechenzentrum -> Optionen -> Absender E-Mail-Adresse aus und tragen die Email 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. [email protected] Wenn nun die lokale Adresse nicht auf eine für den SMTP Server „vertretbare“ Adresse umgebogen wird lehnt der Server den Versand der Email ab.
Jetzt kann man sich fragen, warum man sich diesen Mehraufwand machen sollte, wenn man auch einfach über das WebUI bequem die Adressen eintragen kann. Die Antwort darauf ist simple. Die Einstellung im WebUI gilt für alle Server im Cluster. Bedeutet die Absender Adresse aller Clusterteilnehmer ist identisch. Es kann nicht mehr unterschieden werden von welchem Server die Meldung versendet wurde.
Um nun den ganzen Bums konfiguriern zu können legen wir eine Datei an und tragen dort die aktuelle Absender Adresse 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 Emailaccount bzw. auf eurer Domain existieren.

nano /etc/postfix/sender_canonical

[email protected] [email protected]

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 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 Email Adresse festgelegt ist, müssen wir die Empfänger Adresse vom root User anpassen. Dazu wählen wir Rechenzentrum -> Benutzer -> root -> Bearbeiten aus. An diesem Punkt tragen wir unsere Empfänger Email 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 Email vom Proxmox Host versenden lassen. Dazu den unten zusehenden Befehl auf eure verwendeten Emails anpassen und absetzen.

echo "Test Nachricht" | /usr/bin/pvemailforward 

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

cat /var/log/mail.info

Grüße gehen aus dem Archiv!

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