1
我有一個客戶端和一個服務器。在同一臺機器上運行時,它們工作正常,但是當我嘗試從網絡外部連接客戶端時,我的服務器將不會發送SYN+ACK
數據包來響應SYN
數據包。服務器不發送SYN + ACK
使用Wireshark我可以看到來自客戶端的SYN
數據包,但我沒有看到SYN+ACK
數據包發送到客戶端。
我發現了一些解決方案,說關閉TCP窗口縮放和TCP時間戳,但沒有爲我工作。此外,與在服務器端的netstat -ln
命令,我可以看到
tcp 0 0 0.0.0.0:55000 0.0.0.0:* LISTEN
這裏是在服務器端Wireshark的輸出:
這裏是我的IP表:
檢查您的防火牆配置。 Wireshark可能會在流量進入防火牆之前捕獲流量,以便您在Wireshark中看到SYN,但應用程序永遠不會獲取它。 –
@SteffenUllrich我使用了「sudo ufw allow myport」,如果我使用「sudo ufw status」,則表示允許我的端口。我想這是完成的,對吧?但仍然沒有結果 –
考慮到netstat顯示監聽套接字,並且TCP握手在內核中完成(即沒有應用程序故障),我的猜測仍然是防火牆或您已經錯誤地解釋wireshark輸出。如果你添加* all * iptables規則和wireshark/tcpdump輸出到你的問題,你可以仔細看看。 –