
Tenemos un servidor en AWS que intenta conectarse a través de TCP a una aplicación en un servidor local pero falla. Inicialmente pensamos que podrían ser problemas de enrutamiento/firewall, por lo que intentamos conectarnos a esa aplicación usando telnet en el puerto específico que se está ejecutando mientras se ejecuta tcpdump
en el servidor local.
Lo que (creemos) vemos es que recibimos la solicitud de conexión de Telenet pero no se devuelve nada:
En el servidor de AWS ejecutamos:telnet ON_PREMISE_IP PORT
En el servidor local ejecutamostcpdump -i INTERFACE -n port PORT
Y vemos:
15:02:49.785795 IP AWS_IP.RANDOM_PORT > ON_PREMISE_IP.int-rcv-cntrl: Flags [S], seq 3124225083, win 62727, options [mss 1350,sackOK,TS val 576158266 ecr 0,nop,wscale 7], length 0
Y del lado de AWS obtenemos:
telnet: Unable to connect to remote host: No route to host
Verifiqué que estamos escuchando en ese puerto ejecutando netstat:
sudo netstat -ltnp | grep PORT
tcp 0 0 ON_PREMISE_IP:PORT 0.0.0.0:* LISTEN PID/java
Además de eso, podemos establecer una conexión desde el servidor local a ese mismo servidor AWS.
El servidor local ejecuta CentOS 8 con kernel4.18.0-305.19.1.el8_4.x86_64
No tengo idea de cómo continuar desde aquí :/
Actualización-1: solía netcat
escuchar ese puerto en lugar de nuestra propia aplicación Java, pero el problema persiste.