Linux系统不响应SYN包的解决办法

Linux系统不响应SYN包的解决办法

关于syn为什么没有回应的问题真是郁闷了好久。
现象就是在客户端发出syn包的时候,服务器端对客户端的syn包不做任何回应。
在网上逛了逛,终于找到有人也发生了这样的情况,发生的原因解释如下:
当客户端发出的syn包带有时间戳的情况下,经过NAT转换后,如果使用的端口被之前使用过,而且时间戳大于本次syn包中的时间戳。系统将会直接丢弃。造成本次链接无法正常完成TCP/IP的3次握手。【该功能和rfc1323有关,后面有链接】
解决的方法很简单,分为两种:
在客户端:关闭rfc1323
在服务端:设置sysctl.conf里面tcp_timestamps=0也可以只用命令sysctl -w net.ipv4.tcp_timestamps=0

收集到的几种客户端的rfc参数位置
Linux:和服务器端的基本相同
微软为注册表方式,位置为【HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Tcp1323Opts】:
Windows XP:默认值为3
Windows 7 家庭版:默认值为1
Windows 7 旗舰版:没有找到这个键值

关于本文提到的技术解释:
Tcp1323Opts:http://technet.microsoft.com/en-us/library/cc938205.aspx
RFC1323:http://tools.ietf.org/html/rfc1323
最早看到解决这个问题的文章:http://www.spinics.net/lists/linux-net/msg17195.html

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值