Tengo dos servidores El programa en el primero necesita comunicarse con el segundo en el puerto 2194.
Sé que no funciona, porque cuando lo hago:
root@server1 [~]# telnet myserver2.com 2194
Trying 123.123.123.98...
telnet: connect to address 123.123.123.98: Connection timed out
telnet: Unable to connect to remote host: Connection timed out
server1# iptables -L -n
Chain INPUT (policy DROP)
...
...
Chain FORWARD (policy DROP)
target     prot opt source               destination
Chain OUTPUT (policy DROP)
...
Chain LOCALINPUT (1 references)
target     prot opt source               destination
...
Chain LOCALOUTPUT (1 references)
target     prot opt source               destination
...
Chain LOGDROPIN (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0
Chain LOGDROPOUT (1 references)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            0.0.0.0/0
                    
                        linux
                                iptables
                                redhat
                                connection
                                
                    
                    
                        siliconpi
fuente
                
                fuente

Respuestas:
Para permitir conexiones salientes del servidor1 al servidor2 en el puerto TCP 2194, use esto en el servidor1:
Para permitir conexiones entrantes del servidor1 al servidor2 en el puerto TCP 2194, use esto en el servidor2:
fuente
Solo algunos consejos
¿El servicio que está ejecutando escucha solo en localhost? correr
Si ves una línea como
0.0.0.0:2194entonces estás bien. Si ves127.0.0.1:2194a continuación, que está escuchando sólo en conexiones locales (o:::2194y::1:2194, respectivamente, para las direcciones IPv6, que se muestran comotcp6líneas).¿Cuáles son las reglas actuales de iptables?
¿La política es DROP / RECHAZO (si no es así, debería ser para todas las cadenas)? ¿Existe una regla específica para el puerto que necesita?
Si se trata de un problema de firewall, entonces se modifica la regla infractora o se agrega una regla como
debería hacer el truco (no probado)
=== EDITAR ===
Para probar el problema de red, una buena herramienta es
tcpdump. Ejecútelo en ambos servidores mientras intenta conectarse y vea a dónde van los paquetes. Por ejemplo, en el servidor 1, ejecute:y en el servidor 2 ejecute:
Luego intenta conectarte. Debería ver todos los paquetes TCP volcados en la pantalla, desde el origen y el destino. Con esta información, debería poder determinar dónde está el problema.
fuente