tcp_tw_recycle和tcp_timestamps导致connect失败问题

把服务里面的net.ipv4.tcp_timestamps这个参数设置为0后已经可以正常telnet通了。

具体设置方法:
在/etc/sysctl.conf  里面加入
net.ipv4.tcp_timestamps =0
让后使用sysctl -p 生效就可以了。
 
原理是主机client1和client2通过NAT网关(1个ip地址)访问serverN,由于timestamp时间为系统启动到当前的时间,因此,client1和client2的timestamp不相同;根据上述syn包处理源码,在tcp_tw_recycle和tcp_timestamps同时开启的条件下,timestamp大的主机访问serverN成功,而timestmap小的主机访问失败 

双方网络有一方关闭即可。

在NAT网络的环境下,需要关闭该内核参数。 
原文地址:https://www.cnblogs.com/itfat/p/7267736.html