Aktionen

Proxmox Mail Gateway PMG auf Port 465 587 zusätzlichen Ports erreichen

Aus znilwiki

Changelog:

  • 08.05.2025 erste Version

Vorwort

Bei einem Kunden soll das Proxmox Mail Gateway eine bestehende Lösung ersetzen. Intern wird auf einen DNS-Namen verwiesen, soweit kein Problem.
Jedoch sind auf den Mailclients die das Gateway zum versenden verwenden sollen die Ports für den SMTP versandt quer Beet konfiguriert.
Ein Teil nimmt Port 25, ein Teil 465 und der Rest versucht es auf Port 587.

Das Mailgateway in meinem Fall hier lauscht intern auf Port 25 und extern auf 26, also genau umgekehrt wie es bei Auslieferung ist:

ClipCapIt-250508-125158.PNG


Die - wie ich fand elegante Lösung - ist das er lokal ein NAT macht, Das bedeutet das er Anfragen auf Port 587


Lösung Teil 1: Umleitung einrichten

Zunächst müssen wir IPTables nachinstallieren - eine Software-Firewall:

apt install iptables -y

installiert die Firewall und schaltet diese auch gleich aktiv ... keine Angst, die Standardregeln lassen alles zu.
Das können wir mit

iptables --list

abfragen. Beispielausgabe:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Wie Ihr seht ist die Policy überall ACCEPT.

Jetzt können wir eine NAT-Regel hinzufügen:

iptables -t nat -A PREROUTING -d 192.168.0.200 -i ens192 -p tcp --dport 587 -j REDIRECT --to-port 25

Erklärung im Detail

iptables -t nat -A PREROUTING         Wir wollen ein NAT Portforwarding machen
-d 192.168.0.200                      für diese IP-Adresse - das ist die interne IP des Promox Mail Gateways selbst
-i ens192                             ist die Netzwerkschnittstelle auf dem die IP liegt, seht ihr z.B. mit dem Befehl ip address
-p tcp                                für das Protokoll TCP
--dport 587                           auf Port 587 lauschen und diesen
-j REDIRECT                           umleiten auf
--to-port 25                          Port 25
Important.png
Hinweis: Ich leite hier auf Port 25 um. Prüft bitte auf welchen Port Ihr umleiten wollt. Port 26 ist normalerweise der interne Port!

Es gibt keine Rückmeldung, die vorhandenen NAT Umleitungen könnt Ihr dann über diesen Befehl sehen:

iptables -t nat --list

Beispielausgabe:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  anywhere             mailgateway.znil.local  tcp dpt:submissions redir ports 25
REDIRECT   tcp  --  anywhere             mailgateway.znil.local  tcp dpt:submission redir ports 25

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Obiges Beispiel ist eine Umleitung von Port 465 und 587 auf den Port 25.
Das könnt Ihr sofort ausprobieren!


Lösung Teil 2: Umleitung dauerhaft machen

Wenn Ihr nun euer Mail Gateway neu starten würdet, wären die NAT-Regel wieder weg.
Um diese dauerhaft zu speichern müsst ihr das folgende Paket nachinstallieren:

apt install iptables-persistent

Er fragt euch dann ob Ihr die bestehenden Regeln speichern wollt - Ja! Wollt Ihr!

Falls Ihr später noch weitere Regeln hinzufügt, müsst Ihr dieser per

iptables-save > /etc/iptables/rules.v4

dann sichern. Der iptables-save gibt die Konfiguration als Text aus, die Umleitung schreibt diese in die Datei.
Die Datei wird bei einem reboot von iptables-persistent ausgelesen und angewendet.

Am besten macht Ihr einen Reboot und prüft ob das alles geklappt hat. Nach dem Reboot wieder anmelden und mit

iptables -t nat --list

prüfen ob die Regeln da sind bzw. ob ihr euch den mit gewünschten Ports verbinden könnt.
Hinweis: Die Dienste brauchen einen Moment bis diese gestartet sind, also ggf. einfach noch mal eine Minute warten. Erst wenn es auf dem normalen Port funktioniert, funktionieren auch unsere Umleitungen.


Kommentare

Loading comments...