Síťové připojení TCP/IP může být blokováno, přerušeno, otevřeno nebo filtrováno. Tyto akce jsou obecně řízeny firewallem IPtables, který systém používá, a jsou nezávislé na jakémkoli procesu nebo programu, který může naslouchat na síťovém portu. Tento příspěvek nastíní kroky k otevření portu vyžadovaného aplikací. Pro tento příklad příspěvku otevřeme port 55555 specifický pro aplikaci (Apache).
Podrobnosti o serveru jsou uvedeny níže:
# 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. Zkontrolujte stav portu
Zkontrolujte, zda port není otevřený a Apache tento port nezobrazuje:
# netstat -na | grep 55555
# lsof -i -P |grep http httpd 5823 root 4u IPv6 42212 0t0 TCP *:80 (LISTEN)
2. Zkontrolujte stav portu v iptables
Zkontrolujte, zda iptables nezobrazují otevřený port:
# iptables-save | grep 55555
3. Přidejte port
Přidejte testovací port do /etc/services a umožnit portu přijímat pakety. Testovací port lze přidat úpravou souboru /etc/services v níže uvedeném formátu:
# vi /etc/services service-name port/protocol [aliases ...] [# comment]
# vi /etc/services testport 55555/tcp # Application Name
4. Otevřete porty brány firewall
Přidejte pravidlo brány firewall, aby port mohl přijímat pakety:
# 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. Zkontrolujte stav nově přidaného portu
Po přidání portu pro httpd a opětovném načtení služeb httpd, nyní httpd také naslouchá nově přidanému portu 55555:
# 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 :Jak zjistit, zda je síťový port otevřený nebo ne?
CentOS / RHEL 7 :Jak otevřít port ve firewallu pomocí firewall-cmd?