测试keepalived在DR模式下VIP转发数据到RIP的过程

简介:

测试keepalived在DR模式下VIP转发数据到RIP的过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
此处测试环境约定:
【Client】                            CIP = 10.0.200.22       MAC = 8c:89:a5:96:4c:b2(假设为11:11:11:11:11:11)
【Director】      VIP = 10.0.205.100  DIP = 10.0.200.21       MAC = 8c:89:a5:96:51:cf(假设为22:22:22:22:22:22)
【RealServer】                        RIP = 10.0.205.2        MAC = 08:00:27:3b:62:f5(假设为33:33:33:33:33:33)
 
1)【Client】 ARP Request  who  has 10.0.205.100 tell 10.0.200.22
CIP = 10.0.200.22
MAC = 11:11:11:11:11:11
 
2)【Director】响应1,ARP Reply 10.0.205.100 is-at 22:22:22:22:22:22
VIP = 10.0.205.100
DIP = 10.0.200.21
MAC = 22:22:22:22:22:22
 
3)【Client】发送TCP SYN
CIP = 10.0.200.22   MAC = 11:11:11:11:11:11
->
VIP = 10.0.205.100  MAC = 22:22:22:22:22:22
 
4)【Director】选一个【RealServer】,改数据包里的MAC为RIP的MAC,转发给RIP
CIP = 10.0.200.22   MAC = 11:11:11:11:11:11
->
VIP = 10.0.205.100  MAC = 33:33:33:33:33:33
 
 
5)【RealServer】收包,发ARP,Request  who  has 10.0.200.22 tell 10.0.205.2
6)【Client】响应5)ARP Reply 10.0.200.22 is-at 11:11:11:11:11:11
7)【RealServer】使用VIP回应3
 
 
实测抓包内容:
[root@svr200-22 ~] # tcpdump -nn host 10.0.200.22 and \(10.0.200.21 or 10.0.205.100 or 10.0.205.2\)
tcpdump: verbose output suppressed, use - v  or -vv  for  full protocol decode
listening on eth0, link- type  EN10MB (Ethernet), capture size 65535 bytes
18:08:31.342062 ARP, Request  who -has 10.0.205.100 tell 10.0.200.22, length 28
18:08:31.342627 ARP, Reply 10.0.205.100 is-at 8c:89:a5:96:51:cf, length 46
18:08:31.342637 IP 10.0.200.22.58914 > 10.0.205.100.80: Flags [S],  seq  3567838243, win 14600, options [mss 1460,sackOK,TS val 373309346 ecr 0,nop,wscale 7], length 0
18:08:31.343842 ARP, Request  who -has 10.0.200.22 tell 10.0.205.2, length 46
18:08:31.343854 ARP, Reply 10.0.200.22 is-at 8c:89:a5:96:4c:b2, length 28
18:08:31.344629 IP 10.0.205.100.80 > 10.0.200.22.58914: Flags [S.],  seq  4193479915, ack 3567838244, win 14480, options [mss 1460,sackOK,TS val 27450580 ecr 373309346,nop,wscale 6], length 0
18:08:31.344649 IP 10.0.200.22.58914 > 10.0.205.100.80: Flags [.], ack 1, win 115, options [nop,nop,TS val 373309348 ecr 27450580], length 0
18:08:39.260264 IP 10.0.200.22.58914 > 10.0.205.100.80: Flags [P.],  seq  1:6, ack 1, win 115, options [nop,nop,TS val 373317264 ecr 27450580], length 5
18:08:39.261438 IP 10.0.205.100.80 > 10.0.200.22.58914: Flags [.], ack 6, win 227, options [nop,nop,TS val 27458498 ecr 373317264], length 0
18:08:39.261637 IP 10.0.205.100.80 > 10.0.200.22.58914: Flags [P.],  seq  1:174, ack 6, win 227, options [nop,nop,TS val 27458498 ecr 373317264], length 173
18:08:39.261663 IP 10.0.200.22.58914 > 10.0.205.100.80: Flags [.], ack 174, win 123, options [nop,nop,TS val 373317265 ecr 27458498], length 0
18:08:39.261670 IP 10.0.205.100.80 > 10.0.200.22.58914: Flags [F.],  seq  174, ack 6, win 227, options [nop,nop,TS val 27458498 ecr 373317264], length 0


wKioL1UY63TA2L9sAAS3btzknNo352.jpg


本文转自 pcnk 51CTO博客,原文链接:http://blog.51cto.com/nosmoking/1626394,如需转载请自行联系原作者

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1天前
|
分布式计算 Shell MaxCompute
odps测试表及大量数据构建测试
odps测试表及大量数据构建测试
|
7天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
27 11
|
9天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
38 10
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
40 6
|
2月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
31 1
|
3月前
|
存储 测试技术 数据库
数据驱动测试和关键词驱动测试的区别
数据驱动测试 数据驱动测试或 DDT 也被称为参数化测试。
43 1
|
3月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
683 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
195 0
|
3月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
73 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
3月前
|
机器学习/深度学习 XML 并行计算
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用YOLOX完成图像目标检测任务的完整流程,包括数据准备、模型训练、验证和测试。
273 0
目标检测实战(七): 使用YOLOX完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)