LVS DR模式搭建

目录

一、DR模式概述

一、与NET模式的区别

二、操作命令图

 三、搭建流程

一、首先配置三台虚拟机并配置环境(关闭防火墙,宽容模式)

二、ping通百度

三、在115.3的(lvs)虚拟机上安装 ipvsadm

四、调整ARP参数

五、配置虚拟IP地址

 六、加载 ip_vs模块

 七、启动 ipvsadm服务

八、在虚服务器添加真实服务器

 九、配置两个节点

十、调整从节点的ARP参数

 十一、配置虚拟IP地址

 十二、添加回环路由

 四、验证结果

五、验证抓包结果


一、DR模式概述

LVS(Linux Virtual Server)中的DR模式(Direct Routing)是其负载均衡的一种工作模式。在DR模式中,LVS通过修改目标服务器的网络配置,将来自客户端的请求直接发送到后端服务器,而不经过负载均衡器。

下面是DR模式的工作原理及其特点:

1. 工作原理:
   - 当客户端发送请求到负载均衡器时,负载均衡器会检查后端服务器的状态和负载情况,并选择一个合适的后端服务器。
   - 负载均衡器会将请求的目标地址修改为后端服务器的IP地址,并转发请求给客户端。
   - 后端服务器接收到请求后,响应数据直接返回给客户端,绕过了负载均衡器。

2. 特点:
   - 负载均衡器只在请求开始和响应结束时参与通信,不会对请求的数据进行修改,减少了负载均衡器的开销。
   - 后端服务器拥有自己的真实IP地址,可以直接与客户端进行通信,提高了系统性能和传输效率。
   - 负载均衡器不需要对请求进行NAT(Network Address Translation)转换,减少了网络转发的开销。

需要注意的是,DR模式要求负载均衡器和后端服务器在同一子网内,并且后端服务器需要配置回应ARP请求的能力。此外,负载均衡器通常会通过一些其他技术,如IP路由表、链路层技术等,将从后端服务器返回的响应数据正确地路由回给客户端。

总之,LVS的DR模式在负载均衡中提供了一种高效的、直接路由到后端服务器的解决方案,可以提高系统的性能和扩展性。

一、与NET模式的区别

LVS(Linux Virtual Server)中的DR模式(Direct Routing)和NET模式是其负载均衡的两种常见工作模式,它们在负载均衡的实现方式和一些技术细节上存在区别。

以下是LVS DR模式和NET模式的主要区别:

1. 工作方式:
   - DR模式:在DR模式中,LVS将客户端请求的目标IP地址修改为后端服务器的真实IP地址,并直接将请求转发给后端服务器。后端服务器直接与客户端进行通信,绕过负载均衡器。
   - NET模式:在NET模式中,LVS会将客户端请求的目标IP地址修改为负载均衡器的虚拟IP地址,然后通过IP转发技术(如IP Masquerading或IP Tunneling)将数据转发给后端服务器。后端服务器经过负载均衡器将响应数据返回给客户端。

2. 网络配置:
   - DR模式:在DR模式下,后端服务器必须要配置回应ARP请求的能力,并且负载均衡器和后端服务器需要在同一子网内,以确保请求可以正确路由到后端服务器。
   - NET模式:在NET模式下,后端服务器无需配置回应ARP请求的能力,并且负载均衡器和后端服务器可以处于不同的网络子网中。

3. 性能和效率:
   - DR模式:由于负载均衡器不需要主动转发请求和响应数据,DR模式在性能和效率上通常更高。后端服务器直接用自己的IP地址与客户端通信,减少了负载均衡器的开销。
   - NET模式:NET模式需要负载均衡器主动参与请求和响应的转发,因此相比DR模式,可能会在性能和效率上略有损失。

需要根据具体的应用场景和需求来选择DR模式还是NET模式。DR模式适用于后端服务器和负载均衡器在同一子网内的情况,同时对性能要求较高的场景。而NET模式更适用于后端服务器和负载均衡器位于不同网络子网的场景,或者需要使用特定的转发技术的情况。

二、操作命令图

 三、搭建流程

一、首先配置三台虚拟机并配置环境(关闭防火墙,宽容模式)

主lvs安装ipvsadm、两台从节点需要安装epel源和nginx

三台虚拟机的ip分别为  192.168.115.3

                                     192.168.115.4

                                      192.168.115.5

二、ping通百度

 

三、在115.3的(lvs)虚拟机上安装 ipvsadm

四、调整ARP参数

 

安装成功后,在115.3的(lvs)虚拟机上 调整ARP参数

 

五、配置虚拟IP地址

 更改ens33:0

重启并查看地址 ip a 查看 (在两个节点上配置子网掩码是32,在lvs上配置子网掩码是24

 六、加载 ip_vs模块

 七、启动 ipvsadm服务

要注意直接输入 systemctl start ipvsadm 启动会报错。

 错误原因是缺少文件或目录

 创建文件和目录 

再次启动,则成功

八、在虚服务器添加真实服务器

 提示这个界面说明 LVS 配置完成

保存策略并查看

 

 九、配置两个节点

vim /etc/sysconfig/network-scripts/ifcfg-ens33

十、调整从节点的ARP参数

 

 

 

 十一、配置虚拟IP地址

 

 验证  (从节点子网掩码变成了32,两台从节点都要这么显示) 

 十二、添加回环路由

这是一个用于添加路由的命令。具体来说,它添加了一个到主机(host)地址192.168.115.200/32的路由,使用了一个名为lo:0的虚拟网络接口设备来传送数据。这条路由指示任何发送到192.168.115.200/32的数据包都应通过虚拟网络接口设备lo:0发送。这通常用于创建本地环回或回环接口

 

 route -n

 四、验证结果

进入网站输入 192.168.115.200 测试

 再次刷新

 会 1 2 来回切换

五、验证抓包结果

 成功 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/80618.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

outlook等客户端报错:-ERR Login fail. Please using weixin token to login

使用outlook配置腾讯邮箱后,无法收取邮件,点击接收/发送所有文件夹, 提示报错: 任务“testqq.com - 正在接收”报告了错误(0x800CCC92):“电子邮件服务器拒绝您登录。请在“帐户设置”中验证此帐户的用户名及密码。 响应服务器:…

安装Node(脚手架)

目录 一,安装node(脚手架)1.1, 配置vue.config.js1.2, vue-cli3x的目录介绍1.3, package.json 最后 一,安装node(脚手架) 从官网直接下载安装即可,自带npm包管…

内网安全:WMI协议与SMB协议横向移动

目录 网络拓扑图 网络环境说明 WMI协议 SMB协议 域内信息收集 WMI协议 - 横向移动 利用方式一:wmic命令 利用方式一:cscript 利用方式一:impacket SMB协议 - 横向移动 利用方式一:psexec 利用方式二:psexe…

Java在线OJ项目(三)、前后端交互API模块

Java在线OJ项目(三)、前后端交互API模块 1. 客户端向服务器请求所有题目 或者 单个题目前端获取所有题目获取一个题目 后端 2. 后端读取前端提交的代码,进行编译运行,返回结果前端提交代码后端处理 1. 客户端向服务器请求所有题目…

[bug日志]springboot多模块启动,在yml配置启动端口8081,但还是启动了8080

【问题描述】 配置的启动端口是8081,实际启动端口是8080 【解决方法】 1.检查application.yml的配置是否有错误(配置项中,显示白色就错,橙色无措) 2.检查pom.xml的打包方式配置项配置,主pom.xml中的配置项一般为:&l…

简述docker映射(Mapping)和挂载(Mounting)

映射的概念: 将容器内的端口映射到主机的端口上,这样就可以通过主机的网络接口与容器内部进行通信。主机上对应端口的请求会被转发到容器内部,从而实现对容器内部程序的通信访问(注意!这里提到的容器内部的端口并不一定…

UE学习记录03----UE5.2 使用拖拽生成模型

0.创建蓝图控件,自己想要展示的样子 1.侦测鼠标拖动 2.创建拖动操作 3.拖动结束时生成模型 3.1创建actor , 创建变量EntityMesh设为可编辑 生成Actor,创建变量EntityMesh设为可编辑 屏幕鼠标位置转化为3D场景位置 4.将texture设置为变量并设为可编辑&am…

【1267. 统计参与通信的服务器】

来源:力扣(LeetCode) 描述: 这里有一幅服务器分布图,服务器的位置标识在 m * n 的整数矩阵网格 grid 中,1 表示单元格上有服务器,0 表示没有。 如果两台服务器位于同一行或者同一列&#xff…

kali linux查看局域网下所有IP,并对指定IP攻击

kali linux查看局域网下所有IP,并对指定IP实施局域网内攻击 首先我们打开我们熟悉的kali linux操作系统,利用指令: ifconfig来确认本机的ip地址 确认了本机的ip地址之后,利用一下的指令查看局域网下所有ip: fping -g 本机IP地址…

Visual Studio 2022离线源码编译onnxruntime

1. 首先参考前述文章《Visual Studio 2019源码编译cpu版本onnxruntime_xunan003的博客-CSDN博客》第1~3步,将anaconda python3.8虚拟环境copy至内网离线环境envs中。 并将下载的onnxruntime包迁移至内网固定位置; 2.查看onnxruntime/cmake/external所依…

第一讲使用IDEA创建Java工程——HelloWorld

一、前言导读 为了能够让初学者更快上手Java,不会像其他书籍或者视频一样,介绍一大堆历史背景,默认大家已经知道Java这么编程语言了。本专栏只会讲解干货,直接从HelloWord入手,慢慢由浅入深,讲个各个知识点,这些知识点也是目前工作中项目使用的,而不是讲一些老的知识点…

wangeditor 富文本的使用

版本 4.7.8基本实现展示&#xff1a; 官网地址 https://www.wangeditor.com/ 1.封装好组件 <template><div ref"editorEl" class"editor-wrapper"></div> </template><script> import E from "wangeditor"; imp…