提示
X
本案例来自tskb,请前往tskb修改源内容:立即前往
'>

【AD】四层虚拟服务访问偶尔失败

|

问题描述

某客户AD设备旁路模式部署在内网,旁挂在核心交换机上,使用AD发布的四层虚拟服务,同时虚拟服务启用了自动SNAT,并且设备接口上只有一个IP地址。发现客户端访问该系统,老是出现打不开的异常现象。

处理过程

1、怀疑服务器本身存在问题,直接在客户端访问服务器是正常的,经过AD偶尔就不正常;
2、客户端经过AD访问时候,在服务器上使用wireshark抓包分析,发现经过AD转发过来的TCP握手建连接,服务器收到了SYN,却迟迟不回复SYN/ACK;

根因

1、通过在服务器上抓包发现,根本原因是服务器老是不响应来自客户端的SYN新建导致。
2、服务器为什么老是不响应?是因为来自客户端新建,源端口出现重复概率较大,对应服务器而言,一般正常断开连接后还处于time_wait状态,该状态下不会影响五元组一致的新建。
3、源端口的重复问题,四层虚拟服务而言,属于传输层面的纯转发,源端口由客户端随机来决定。

解决方案

方法一、旁路模式下尽量在snat池中添加多个IP然后被虚拟服务引用,保证虚拟服务尽量使用多个不同的IP和节点建连接,可以大大优化五元组相同导致time_wait不应答的概率。

方法二、关闭服务器的tw_recycle参数,该参数目的也是加快服务器释放的时间,由于服务器系统版本等原因,该参数路径不统一,以实际系统版本百度为准。

建议与总结

更多原理性了解,可以参考https://blog.csdn.net/secretx/article/details/69568529

我要分享
文档编号: 51340
作者: sangfor_2134
更新时间: 2018-12-13 11:39
适用版本: