NAT内部用户无法访问互联网

本文介绍了开启net.ipv4.tcp_tw_recycle参数后,如何引发部分NAT环境下的用户无法正常访问微软云服务器的故障。问题关键在于tcp_tw_recycle依赖tcp_timestamps,在NAT环境中可能导致服务器误判并丢弃客户端SYN包,从而造成访问不稳定。解决方案是避免在NAT环境中启用此参数。
摘要由CSDN通过智能技术生成

记一次开启net.ipv4.tcp_tw_recycle = 1参数后导致部分NAT用户无法访问微软云服务器的故障
开启tcp_tw_recycle会启用tcp time_wait的快速回收,这个参数不建议在NAT环境中启用,它会引起相关问题。
故障原理:
tcp_tw_recycle是依赖tcp_timestamps参数的,在一般网络环境中,可能不会有问题,但是在NAT环境中,问题就来了。一般办公室的外网地址只有一个,所有人访问后台都会通过路由器做SNAT将内网地址映射为公网IP,由于服务端和客户端都默认启用了tcp_timestamps,因此TCP头部中增加时间戳信息,而在服务器看来,同一客户端的时间戳必然是线性增长的,但是,由于客户端网络环境是NAT,因此每台主机的时间戳都是有差异的,在启用tcp_tw_recycle后,一旦有客户端断开连接,服务器可能就会丢弃那些时间戳较小的客户端的SYN包,这也就导致了网站访问极不稳定。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值