
Una aplicación web que se ejecuta en CentOS 7 (servidor de aplicaciones) en una LAN privada necesita realizar conexiones de base de datos a otro servidor CentOS 7 (servidor de bases de datos) que se ejecuta en la misma LAN privada.
Cuando escribo systemctl stop firewalld
en el servidor de aplicaciones, las conexiones de la base de datos al servidor de base de datos remoto funcionan perfectamente. Pero cuando escribo systemctl start firewalld
en el mismo servidor de aplicaciones, la aplicación web ya no puede conectarse al servidor de base de datos remoto.
Esto me dice que necesito crear una regla de firewall de salida en el servidor de aplicaciones. Pero eso requeriría saber qué puerto se debe utilizar para las conexiones salientes.
¿Qué comandos específicos se pueden utilizar para determinar qué puerto se utiliza en el servidor de aplicaciones para realizar conexiones remotas al servidor de la base de datos?
Respuesta1
netstat
Para ver todos los puertos de red que tienen programas escuchando, use:
sudo netstat -lpn4
- -l: Mostrar solo escuchando
- -p: muestra los nombres de los programas
- -n: mostrar siempre los números de puerto
- -4: Mostrar solo conexiones de red IPv4
Busque su programa en la PID/Program name
columna y luego observe cuál Local Address
está utilizando.
Puede leer sobre otras opciones en el manual usando man netstat
.