记一次解决“Telnet不通”问题的经过 #
2020-03-17 10:11
有天,两台同一个网段的服务器:18和16,突然就出现18 telnet 不通16 的14267 端口的问题。
这两台服务器的网络是互通的,这是可以保证的。
在网络组同事的提示下,尝试用tcpdump抓包看下什么情况。
在16上使用命令
# tcpdump -i eno16780032 port 14267 and host 172.17.34.18
eno16780032 是16上的网口,监听18telnet 14267端口的发送过来数据包
抓包如下,发现18发送数据了,但16并没有响应18。

对比其他服务器telnet 16的14267端口,是三次握手成功的。

用关键词“telnet 服务器 tcpdump 收到请求没有回复”查了一下。发现有个靠谱的博客
linux系统收到SYN但不回SYN+ACK问题排查
对照18、16服务器的时间,发现18比16快了1秒多。 解决方案有两种
- 修正时间不准确的服务器
- 通过把16上的
/proc/sys/net/ipv4/tcp_tw_recycle的内容设置为0即可。