Eine TCP/IP-Netzwerkverbindung kann entweder blockiert, getrennt, geöffnet oder gefiltert werden. Diese Aktionen werden im Allgemeinen von der IPtables-Firewall gesteuert, die das System verwendet, und sind unabhängig von Prozessen oder Programmen, die möglicherweise an einem Netzwerkport lauschen. Dieser Beitrag beschreibt die Schritte zum Öffnen eines Ports, der von einer Anwendung benötigt wird. Für dieses Beitragsbeispiel öffnen wir den anwendungsspezifischen (Apache) Port 55555.
Serverdetails lauten wie folgt:
# uname -a Linux geeklab 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
1. Überprüfen Sie den Portstatus
Stellen Sie sicher, dass der Port nicht geöffnet ist und Apache diesen Port nicht anzeigt:
# netstat -na | grep 55555
# lsof -i -P |grep http httpd 5823 root 4u IPv6 42212 0t0 TCP *:80 (LISTEN)
2. Überprüfen Sie den Portstatus in iptables
Prüfen Sie, ob iptables diesen Port nicht offen anzeigt:
# iptables-save | grep 55555
3. Fügen Sie den Port hinzu
Fügen Sie den Testport in /etc/services hinzu -Datei und erlauben Sie dem Port, Pakete zu akzeptieren. Der Testport kann durch Bearbeiten der Datei /etc/services im folgenden Format hinzugefügt werden:
# vi /etc/services service-name port/protocol [aliases ...] [# comment]
# vi /etc/services testport 55555/tcp # Application Name
4. Firewall-Ports öffnen
Fügen Sie eine Firewall-Regel hinzu, damit der Port Pakete akzeptieren kann:
# firewall-cmd --zone=public --add-port=55555/tcp --permanent success
# firewall-cmd --reload success
# iptables-save | grep 55555 -A IN_public_allow -p tcp -m tcp --dport 55555 -m conntrack --ctstate NEW -j ACCEPT
5. Überprüfen Sie den Status des neu hinzugefügten Ports
Nachdem Sie den Port für httpd hinzugefügt und die httpd-Dienste neu geladen haben, beachten Sie, dass httpd jetzt auch den neu hinzugefügten Port 55555 überwacht:
# lsof -i -P |grep http httpd 6595 root 4u IPv6 43709 0t0 TCP *:80 (LISTEN) httpd 6595 root 6u IPv6 43713 0t0 TCP *:55555 (LISTEN)
# netstat -na |grep 55555 tcp6 0 0 :::55555 :::* LISTENCentOS / RHEL :Wie finde ich heraus, ob ein Netzwerkport offen ist oder nicht?
CentOS / RHEL 7 :Wie öffne ich einen Port in der Firewall mit Firewall-cmd?