
Recibimos solicitudes enrutadas por nuestro firewall, los paquetes tienen la IP y el puerto correctos pero nuestra aplicación no los recibe.
Aquí está el registro de iptables:
Sep 18 15:53:42 frtrans01 kernel: INPUT TCP IN=eth0 OUT= MAC=00:0c:29:13:2a:dc:58:49:3b:00:5c:11:08:00 SRC=109.1.186.112 DST=x.x.x.x LEN=52 TOS=0x00 PREC=0x00 TTL=117 ID=1616 DF PROTO=TCP SPT=3766 DPT=6322 WINDOW=65535 RES=0x00 SYN URGP=0
Un paquete que se lee bien es como:
Oct 6 15:41:50 frtrans01 kernel: INPUT TCP IN=eth0 OUT= MAC=00:0c:29:13:2a:dc:58:49:3b:00:5c:11:08:00 SRC=170.118.98.33 DST=x.x.x.x LEN=60 TOS=0x10 PREC=0x00 TTL=62 ID=45368 DF PROTO=TCP SPT=41638 DPT=6322 WINDOW=5840 RES=0x00 SYN URGP=0
Y el resultado lsof de la aplicación escuchando:
[root@frtrans01 ~]# lsof |grep LISTEN
...
java 2301 root 63u IPv6 3556600 TCP *:emp-server2 (LISTEN)
El puerto emp-server2 es el puerto 6322.
¿Qué problema tiene el paquete recibido?
Respuesta1
Parece que su demonio está escuchando solo con IPv6, pero sus paquetes llegan con IPv4. Eso podría ser un problema.
¿Está bien? ¿O estoy pasando por alto algo? Si me equivoco, utilice Wirehark o tcpdump para ver si los paquetes realmente llegan.