抓包分析LVS-NAT中出现的SYN_RECV
CIP:192.168.10.193
VIP:192.168.10.152:8000
DIP:100.10.8.152:8000
RIP:100.10.8.101:8000 和 100.10.8.102:8000
从CIP到RIP的TCP连接,总是超时。
在Director上看到,lvs已经把来着client的消息转发,但状态是SYN_RECV
===================
# ipvsadm -lnc
IPVS connection entries
pro expire state source virtual destination
TCP 00:58 SYN_RECV 192.168.10.193:45346 192.168.10.152:8000 100.10.8.102:8000
==================
抓包分析一下:
在realserver抓包,看到realserver已经收到了director转发的syn,而且在第一时间返回了syn ack。这是没有问题的。

在client抓包,看到client收到了syn ack,但是地址却是RIP。按照LVS-NAT的原理,在经过director之后,应该把RIP转换为VIP才对。

所以clinet虽然收到了syn ack,但无法和之前发送给VIP的syn配对起来,因此client一直处在等待VIP回复syn ack的状态。
之后检查了网络,发现从RIP到CIP存在多条路由,syn ack没有经过director就路由到了CIP。
解决方案:删除多条路由,将dip作为realserver的网关。
完成上述操作之后,发现lvs状态仍然是SYN_RECV。抓包后的pcap文件中,没有syn ack。于是想到是不是在什么地方丢掉了。
看到官方文档中有描述要设置re_ filter。
查了一下这个参数的解释
======================================
rp_filter参数有三个值,0、1、2,具体含义:
- 0:不开启源地址校验。
- 1:开启严格的反向路径校验。对每个进来的数据包,校验其反向路径是否是最佳路径。如果反向路径不是最佳路径,则直接丢弃该数据包。
- 2:开启松散的反向路径校验。对每个进来的数据包,校验其源地址是否可达,即反向路径是否能通(通过任意网口),如果反向路径不同,则直接丢弃该数据包。
=======================================
default的值是1,这里改为2
echo 2 > /proc/sys/net/ipv4/conf/ 网卡名/rp_filter
echo 2 > /proc/sys/net/ipv4/conf/ 网卡名/rp_filter
systemctl restart network.service
再次尝试,succeed
抓包分析LVS-NAT中出现的SYN_RECV的更多相关文章
- [日常] 使用TCPDUMP和Ethereal抓包分析HTTP请求中的异常情况
在测试功能的过程中,出现这样一种现象.前端js发起ajax请求后,在浏览器的审查元素网络状态中可以看到status为pending,等15秒以后js会把当前超时的请求取消掉,变成了红色的cancel. ...
- LVS 负载均衡器理论基础及抓包分析
LVS 是 Linux Virtual Server 的简写,即 Linux 虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.(百 ...
- 聊聊tcpdump与Wireshark抓包分析
1 起因# 前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况.这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了.在排查 ...
- Wireshark抓包分析/TCP/Http/Https及代理IP的识别
前言 坦白讲,没想好怎样的开头.辗转三年过去了.一切已经变化了许多,一切似乎从没有改变. 前段时间调研了一次代理相关的知识,简单整理一下分享之.如有错误,欢迎指正. 涉及 Proxy IP应用 原理/ ...
- HTTP2特性预览和抓包分析
背景 近年来,http网络请求量日益添加,以下是httparchive统计,从2012-11-01到2016-09-01的请求数量和传输大小的趋势图: 当前大部份客户端&服务端架构的应用程序, ...
- 抓包分析SSL/TLS连接建立过程【总结】
1.前言 最近在倒腾SSL方面的项目,之前只是虽然对SSL了解过,但是不够深入,正好有机会,认真学习一下.开始了解SSL的是从https开始的,自从百度支持https以后,如今全站https的趋势越来 ...
- 实战录 | 基于openflow协议的抓包分析
<实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全SDN工程师宋飞虎,将带来基于 ...
- 云计算之路-阿里云上:Wireshark抓包分析一个耗时20秒的请求
这篇博文分享的是我们针对一个耗时20秒的请求,用Wireshark进行抓包分析的过程. 请求的流程是这样的:客户端浏览器 -> SLB(负载均衡) -> ECS(云服务器) -> S ...
- 用Wireshark抓包分析超过70秒的请求
超过70秒的请求是通过分析IIS日志发现的: 10.159.63.104是SLB的内网IP. 通过Wireshark抓包分析请求是9:22:21收到的(tcp.stream eq 23080): 09 ...
随机推荐
- vee-validate
http://vee-validate.logaretm.com/ 表单校验,配合VUE使用
- 排序构造 GYM 101149 F - The Weakest Sith
题目链接:http://codeforces.com/gym/101149/my 题目大意:给你n个人,他们有成绩a,b,c.一个人如果两门课比另外一个人高,那么这个人就比那个人厉害.问,是否存在一个 ...
- 重构改善既有代码设计--重构手法07:Remove Assignments to Parameters (移除对参数的赋值)
代码对一个 参数赋值.以一个临时变量取代该参数的位置. int Discount(int inputVal, int quantity, int yearTodate) { if (input ...
- Django之前端插件定制之表头
什么是插件? 插件只是辅助,是开发过程中的一个阶段.一般项目一期会用各种插件,迅速将功能.界面搭出来,二期时就改成自己的代码了.大点的公司都有自己的js库,自己开发类似jquery的库. 那接下来就写 ...
- P2622 关灯问题II (状态压缩入门)
题目链接: https://www.luogu.org/problemnew/show/P2622 具体思路:暴力,尝试每个开关,然后看所有的情况中存不存在灯全部关闭的情况,在储存所有灯的情况的时候, ...
- tp修改的写法
- thinkphp 漂亮的分页样式
---恢复内容开始--- 首先:需要两个文件 page.class.php page.css 1.在TP原有的 page.class.php 文件稍作修改几条代码就可以了, 修改过的地方我会注释, 2 ...
- 设计模式之Adapter
设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则) 介绍: 将两个不兼容的类纠合在一起使用,属于结构型模式,也有人称它为wrapper(包装类). 包装类 ...
- python简单爬虫(二)
上一篇简单的实现了获取url返回的内容,在这一篇就要第返回的内容进行提取,并将结果保存到html中. 一 . 需求: 抓取主页面:百度百科Python词条 https://baike.baidu. ...
- Wireshark抓包保存文件(图片,视频,音频等)
1.首先选择一个图片的分组 如图的9801 就是JPG 2.对下面的窗口里面选中JPEG File Interchange Format 右键选择 导出分组字节流 3.文件输入XXX.jpg,注意保存 ...