Um auf Dienste wie POP- und IMAP-Mailserver zuzugreifen, müssen Sie bestimmte Ports öffnen, damit die Dienste die Firewall passieren können. Für den Zugriff auf die meisten Dienste werden einige Standardports verwendet. Beispielsweise verwendet der Zugriff auf eine Website im Allgemeinen Port 80 für normale (HTTP) Webseiten und Port 443 für sichere (HTTPS) Seiten.
Die folgende Tabelle listet die Ports auf, die von jedem der TCP/IP-Protokolle für die E-Mail-Zustellung verwendet werden.
Server | Port |
---|---|
SMTP | 587* |
POP | 110 |
POPS | 995 |
IMAP | 143 |
IMAP3 | 993 |
* Obwohl SMTP im Allgemeinen Port 25 für Verbindungen verwendet, ist Port 587 aufgrund des weit verbreiteten Missbrauchs von Port 25 der bevorzugte Port für ausgehenden SMTP-Datenverkehr.
Firewallregeln bearbeiten
Für Centos 7 und höher:
-
Geben Sie die folgenden Befehle ein, um die vorhergehenden Ports zu öffnen:
Firewall-cmd –zone=public –add-port=25/tcp –permanent
Wiederholen Sie diesen Befehl, indem Sie die Portnummer für jeden der vorhergehenden Ports ersetzen.**
-
Listen Sie die Regeln für eine bestimmte Zone auf, indem Sie den folgenden Befehl ausführen:
firewall-cmd –query-service=
Für Debian und CentOS 6 und früher:
Bearbeiten Sie die iptables.test.rules
Datei, um den Zugriff auf diese Ports zu ermöglichen. Obwohl das Beispiel Port 25 verwendet, können Sie ihn auf den empfohlenen Wert ändern.
-
Öffnen Sie die Regeldatei mit dem folgenden Befehl:
sudo nano /etc/iptables.test.rules
-
Fügen Sie direkt vor den HTTP- und HTTPS-Einträgen die folgenden Zeilen hinzu:
# Allows SMTP access -A INPUT -p tcp --dport 25 -j ACCEPT # Allows pop and pops connections -A INPUT -p tcp --dport 110 -j ACCEPT -A INPUT -p tcp --dport 995 -j ACCEPT # Allows imap and imaps connections -A INPUT -p tcp --dport 143 -j ACCEPT -A INPUT -p tcp --dport 993 -j ACCEPT
-
Wenden Sie die neuen Regeln an:
Für Debian:
sudo iptables-restore < /etc/iptables.test.rules
Für CentOS 6 und früher:
Überspringen Sie diesen Schritt und fahren Sie mit dem nächsten Schritt fort.
-
Überprüfen Sie, ob die Regeln angewendet wurden:
sudo iptables -L
Die folgenden Informationen sollten in der Ausgabe des Befehls enthalten sein:
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp dpt:smtp ACCEPT tcp -- anywhere anywhere tcp dpt:pop3 ACCEPT tcp -- anywhere anywhere tcp dpt:pop3s ACCEPT tcp -- anywhere anywhere tcp dpt:imap2 ACCEPT tcp -- anywhere anywhere tcp dpt:imaps
-
Geben Sie die Root-Shell ein. Sie müssen vollen Root-Zugriff haben, um die iptables-Regeln zu speichern.
sudo -i
-
Speichern Sie die iptables-Regeln:Für Debian:
iptables-save > /etc/iptables.up.rules
Für CentOS 6 und früher:
iptables-save > sudo iptables-restore <
-
Beenden Sie die Root-Shell:
exit