
Мы получаем запросы, маршрутизируемые нашим брандмауэром, пакеты имеют правильный IP и порт, но не принимаются нашим приложением.
Вот лог из 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
Пакет, который прочитан успешно, выглядит так:
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
И результат lsof прослушивания приложения:
[root@frtrans01 ~]# lsof |grep LISTEN
...
java 2301 root 63u IPv6 3556600 TCP *:emp-server2 (LISTEN)
Порт emp-server2 — это порт 6322.
Что не так с полученным пакетом?
решение1
Похоже, ваш демон слушает только IPv6, но ваши пакеты приходят с IPv4. Это может быть проблемой.
Это так? Или я что-то упускаю из виду? Если я не прав, то используйте wireshark или tcpdump, чтобы проверить, действительно ли приходят пакеты.