根据 tcp_fin_timeout,Linux 上处于 FIN-WAIT-2 状态的 TCP 连接不会超时

根据 tcp_fin_timeout,Linux 上处于 FIN-WAIT-2 状态的 TCP 连接不会超时

我们在现场运行一个包含大量嵌入式设备的服务,它们的 TCP 堆栈有点问题,有时不能正确关闭连接,导致某些连接在服务器上卡在 FIN-WAIT-2 状态。

通常情况下,这些连接会根据 超时/proc/sys/net/ipv4/tcp_fin_timeout,但我们的连接在 中一分钟后仍然可见ss。即使重新启动该过程也无法摆脱它们,唯一的方法似乎是重新启动。

当然,长期解决方案是修复客户端以正确关闭连接,但我担心连接没有超时,即使它们应该超时。是什么原因造成的?我该如何摆脱无用的连接?

相关内容