
Ich richte einen neuen Postifx-Server auf Debian 12 ein. Ich habe das Debian-Paket installiert und bestätigt, dass Postfix läuft und auf den Ports 25
, 465
, und lauscht 587
.
Postfix läuft und es gibt keine Fehler im Protokoll. Ich habe die Jails deaktiviert master.cf
und auf diesem Server läuft keine Software-Firewall.
Postifx ist an alle Schnittstellen gebunden, und zwar netstat
:
netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 8417/master
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 8417/master
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 8417/master
tcp6 0 0 :::587 :::* LISTEN 8417/master
tcp6 0 0 :::465 :::* LISTEN 8417/master
tcp6 0 0 :::25 :::* LISTEN 8417/master
Ich kann auf dem Server selbst per Telnet eine Verbindung zu Postfix über seine öffentliche IP herstellen:
telnet xx.xx.xx.xx 587
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix
Wenn ich dies jedoch von außerhalb des Servers versuche, wird keine Verbindung hergestellt:
telnet mydomain.com 587
Trying xx.xx.xx.xx...
Trying xxxx:xxxx::xxxx:xxxx:xxxx:xxxx...
telnet: Unable to connect to remote host: Network is unreachable
Ich habe bestätigt, dass DNS aus Sicht des Clients korrekt zum Server aufgelöst wird.
Der ISP bei mir zu Hause/auf der Arbeit blockiert keine ausgehenden Ports, da ich von zu Hause aus per Telnet auf den SMTP-Server von Gmail zugreifen und dort auf zugreifen kann EHLO
.
Das Server-Hosting-Unternehmen behauptet, dass keine Ports blockiert werden.
Ich kann den Server von meinem Heimclient aus mit, traceroute -I
aber nicht ohne diese -I
Option erreichen.
Ich weiß ehrlich gesagt nicht, was ich sonst noch versuchen soll. Ich sollte etwas von Postfix bekommen, wenn ich versuche, mich per Telnet anzumelden. Die meisten Optionen zum Blockieren von E-Mails kommen nach dem EHLO
, und so weit sind wir noch nicht gekommen.
Welche möglichen Einstellungen auf dem Server würden Postfix daran hindern, auf der externen Schnittstelle zu lauschen oder darauf zu antworten, wenn netstat
angezeigt wird, dass es gebunden ist, keine Fehler im Protokoll vorhanden sind und Postfix auf Telnet auf der externen IP des Servers antwortet, wenn vom Server selbst aus ein Telnet durchgeführt wird?
inet_interfaces = all
ist eingestellt.
inet_protocols = all
ist eingestellt.
Gibt es Konfigurationseinstellungen, die dazu führen würden, dass Postfix eine Verbindungsanforderung stillschweigend und ohne jegliche Ausgabe verwirft?
Was kann ich sonst noch prüfen oder versuchen? Welche Einstellungen in Postfix würden eine anfängliche Verbindungsanforderung ablehnen oder nicht akzeptieren?
Antwort1
Hoffentlich hilft das jemand anderem: Anscheinend gibt es neben iptables
und noch viele andere Firewalls ucf
.
Ich fand diesen hilfreichen Beitrag:https://surgemail.com/knowledge-base/disable-your-firewall/, in dem alle zu suchenden Möglichkeiten aufgelistet sind. In meinem Fall war es nft
.
Hier ist die vollständige Liste der zu deaktivierenden oder zu überprüfenden Firewalls:
nft flush ruleset
systemctl mask nftables.service
systemctl stop firewalld
systemctl disable firewalld
service iptables stop
service iptables disable
service ipchains disable
service ipchains stop
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X
cfx -x