Una connessione di rete TCP/IP può essere bloccata, interrotta, aperta o filtrata. Queste azioni sono generalmente controllate dal firewall IPtables utilizzato dal sistema ed è indipendente da qualsiasi processo o programma che potrebbe essere in ascolto su una porta di rete. Questo post illustrerà i passaggi per aprire una porta richiesta da un'applicazione. Per questo esempio di post, apriremo la porta Application Specific (Apache) 55555.
I dettagli del server sono i seguenti:
# 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. Controlla lo stato della porta
Verifica che la porta non sia aperta e che Apache non mostri quella porta:
# netstat -na | grep 55555
# lsof -i -P |grep http httpd 5823 root 4u IPv6 42212 0t0 TCP *:80 (LISTEN)
2. Controlla lo stato della porta in iptables
Verifica che iptables non mostri quella porta aperta:
# iptables-save | grep 55555
3. Aggiungi la porta
Aggiungi la porta di prova in /etc/services file e consentire alla porta di accettare i pacchetti. La porta di prova può essere aggiunta modificando il file /etc/services nel formato seguente:
# vi /etc/services service-name port/protocol [aliases ...] [# comment]
# vi /etc/services testport 55555/tcp # Application Name
4. Apri le porte del firewall
Aggiungi la regola Firewall per consentire alla porta di accettare i pacchetti:
# 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. Controlla lo stato della porta appena aggiunta
Dopo aver aggiunto la porta per httpd e aver ricaricato i servizi httpd, nota che ora httpd sta ascoltando anche la porta 55555 appena aggiunta:
# 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:come scoprire se una porta di rete è aperta o meno?
CentOS / RHEL 7:come aprire una porta nel firewall con firewall-cmd?