Intentando abrir un puerto usando CentOS

Intentando abrir un puerto usando CentOS

(¡Soy nuevo en esto!) Estoy ejecutando un servidor virtual que ejecuta CentOS. Estoy intentando ejecutar un servidor que escucha en el puerto 37760. El código que estoy ejecutando se ejecuta correctamente, así que ejecuto

netstat -lptu

Para mostrar una lista de puertos escuchando, y

tcp        0      0 localhost.localdomain:37760 *:*      LISTEN      15006/node

es una de las entradas. Sin embargo, cuando voy a ip:37760 en mi navegador, ¡la conexión se agota!

¡Estoy seguro de que es muy obvio, pero un poco de ayuda sería de gran ayuda!

Gracias

Respuesta1

El netstatresultado muestra que nodesolo está escuchando en localhost, por lo que debe usar un navegador en esa consola virtual y navegar localhost:37760o actualizar la configuración de lo que sea nodeque vaya a escuchar en todas las direcciones.

Respuesta2

Existe una excelente posibilidad de que su firewall local esté bloqueando la conexión.

Verifique su iptablesfirewall local. Puede ver el estado actual ejecutando algo como:

iptables -vnL

Esto producirá un resultado similar a:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
9192K 3593M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
   18   740 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           
1763K  180M ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
 6124  367K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22

Estas cuatro reglas se leen así:

  • Permitir el tráfico asociado con una conexión existente
  • Permitir el tráfico ICMP.
  • Permitir todo el tráfico a través de la interfaz loopback
  • Permitir nuevas conexiones en el puerto TCP 22 (ssh)

Puedes ver el estado persistente en /etc/sysconfig/iptables. Puede utilizar la system-config-firewallherramienta si desea un mecanismo de configuración GUI, o puede aprovechar esta oportunidad para obtener más información sobre cómo funciona la configuración del firewall desde la línea de comandos.

Respuesta3

CentOS, por defecto, giraIPTablesy aplica una política de seguridad bastante estricta con SELinux. Si intenta acceder al puerto desde otra computadora, la configuración predeterminada de IPTables descarta todas las conexiones entrantes excepto SSH. Si no le preocupa la seguridad, simplemente puede ejecutar

sudo service iptables stop 

para desactivar IPTables por completo.

La otra cosa que podría estar deteniéndote, en CentOs, esSELinux. Esto actúa como una segunda capa de seguridad en los procesos y el sistema de archivos y evita que algunos servidores tengan permiso para servir archivos de forma predeterminada, ya que no tienen acceso al directorio desde el cual servir archivos. Tienes un par de opciones aquí.

1) Apague SELinux cambiando la configuración /etc/selinux/configcomo se ve a continuación:

SELINUX=disabled in /etc/selinux/config

2) Más preferible, use audit2allowpara verificar si SELinux bloquea su servidor y, de ser así, genere una nueva política de seguridad para permitir el servidor. Mira estoCentOSEntrada Wiki así comoesteEntrada de blog.

Finalmente, si está ejecutando una máquina virtual, asegúrese de que su máquina virtual tenga acceso a la red y permisos para usar la configuración de NIC del hardware subyacente.

información relacionada