No puedo conectarme a un puerto que ya está abierto en mi firewall

0

He intentado abrir el puerto 80

[root@rhel7 docker]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[root@rhel7 docker]# firewall-cmd --reload
success
[root@rhel7 docker]# iptables-save | grep 80
-A POSTROUTING_ZONES -o eno16780032 -g POST_public
-A PREROUTING_ZONES -i eno16780032 -g PRE_public
-A PREROUTING_ZONES -i eno16780032 -g PRE_public
-A FORWARD_IN_ZONES -i eno16780032 -g FWDI_public
-A FORWARD_OUT_ZONES -o eno16780032 -g FWDO_public
-A INPUT_ZONES -i eno16780032 -g IN_public
-A IN_public_allow -p tcp -m tcp --dport 80 -m conntrack --ctstate NEW -j ACCEPT

pero cuando trato de usar

netstat -an

No apareció el puerto 80 está escuchando. Cuando intento telnet el puerto, muestra lo siguiente

[root@rhel7 docker]# telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

De todos modos para resolver?

Gracias.

kan1207
fuente
¿Ejecutas algún programa que realmente escuche en ese puerto?
Kamil Maciorowski
no ... acabo de configurar esta nueva máquina, ¿alguna configuración que deba hacer?
kan1207
¿Qué esperas responder en este puerto? Servidor HTTP tal vez?
Kamil Maciorowski
1
Debe ejecutar cualquier aplicación que ocupe el puerto 80, por ejemplo, un servidor web. Si se inicia el servidor web, puede ver listen on netstat -an command.
Vembutech
El firewall no afecta la netstatsalida (es decir, si los programas pueden escuchar). Simplemente controla si alguien puede conectarse al oyente.
Daniel B

Respuestas:

1

Tener un puerto abierto en el firewall y tener un programa escuchando en ese puerto son dos cosas diferentes.

Creo que netstatmuestra los puertos que se escuchan independientemente de la configuración del firewall. No hay nada escuchando en el 80/tcppuerto, por lo tanto, telnetno puede conectarse.

EDITAR, NOTA: Realmente dudo de tu cortafuegos bloquea la conexión de localhosta localhostpor defecto. Si estoy en lo cierto y usted tenía algún programa escuchando, entonces telnet localhost 80tendría éxito incluso sin su firewall-cmdinvocación inicial .


En mi Debian sudo nestat -anmuestra algunos puertos en estado de escucha, pero no dice qué programas escuchan. Puedo enumerar todos los programas de escucha por

sudo lsof -i TCP -s TCP:LISTEN

Sin saber (todavía) qué tipo de servicio espera responder en el 80/tcppuerto, supongo que es un servidor http. O no hay ninguno instalado o el que tiene no se ha iniciado. Hay varios de ellos para elegir. Por ejemplo, puede o no ser httpd. Tratar

sudo service httpd status

Puede ver esta guía para comenzar con httpdRHEL7.

Kamil Maciorowski
fuente