首页 技术 正文
技术 2022年11月19日
0 收藏 626 点赞 2,443 浏览 1153 个字

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。这是没有问题的。

抓包分析LVS-NAT中出现的SYN_RECV

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

抓包分析LVS-NAT中出现的SYN_RECV

所以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

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,557
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898