
我們收到由防火牆路由的請求,封包具有正確的 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來查看資料包是否確實到達。