当前位置: 首页 > news >正文

【负载均衡】LVS DR模式详解

LVS-DR 模式

1. DR 模式核心概念

DR = Direct Routing(直接路由)

2. DR 模式工作原理

2.1 数据流向对比
- 传统模式(NAT)
客户端请求 → 负载均衡器 → 真实服务器 → 负载均衡器 → 客户端响应
- DR 模式
客户端请求 → 负载均衡器 → 真实服务器 → 直接返回客户端(接收所有请求)(处理请求) (响应不经过负载均衡器)

3. 技术实现原理

1. 客户端发送请求到 VIP
2. 负载均衡器接收请求,选择一台真实服务器
3. 负载均衡器将请求转发给真实服务器(MAC地址改写)
4. 真实服务器直接响应客户端(源IP仍是VIP)
5. 客户端收到响应,认为来自VIP

4. 为什么响应能直接返回?

  • 真实服务器配置 VIP 在 lo 接口
  • 通过 ARP 抑制避免 IP 冲突
  • 响应数据包源 IP 为 VIP,客户端接受

5. 配置负载均衡器

- 环境信息
  • Director IP: 192.168.65.131
  • VIP: 192.168.65.100
- 系统基础配置
# 关闭防火墙
systemctl disable firewalld --now# 关闭 SELinux(临时)
setenforce 0# 加载 IPVS 内核模块
modprobe ip_vs# 安装 IPVS 管理工具
yum -y install ipvsadm
- 配置虚拟 IP (VIP)
# 进入网络配置目录
cd /etc/sysconfig/network-scripts/# 复制 ens33 配置创建虚拟接口
cp ifcfg-ens33 ifcfg-ens33:0# 编辑虚拟接口配置
vi ifcfg-ens33:0

ifcfg-ens33:0 内容:

DEVICE=ens33:0        # 设备名称
ONBOOT=yes            # 开机启动
IPADDR=192.168.65.100 # 虚拟IP地址
NETMASK=255.255.255.255 # 子网掩码(32位,单机地址)
# 注意:不配置 GATEWAY 和 DNS

激活虚拟接口:

# 启用虚拟接口
ifup ens33:0# 检查配置
ifconfig ens33:0
# 应该显示: inet 192.168.65.100 netmask 255.255.255.255
- 调整内核参数
# 编辑内核参数文件
vi /etc/sysctl.conf
# 添加以下内容:
# 启用 IP 转发(负载调度器需要)
net.ipv4.ip_forward = 0# 禁用 ICMP 重定向,避免网络混乱
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

应用配置:

# 重新加载内核参数
sysctl -p# 验证 IP 转发是否启用
cat /proc/sys/net/ipv4/ip_forward
# 应该显示: 1
- 配置 LVS 服务及调度
# 清空现有 IPVS 规则
ipvsadm -C# 添加虚拟服务
# -A: 添加虚拟服务
# -t: TCP 协议
# 192.168.65.131:80: 虚拟服务的IP和端口
# -s rr: 调度算法为轮询 (Round Robin)
ipvsadm -A -t 192.168.10.180:80 -s rr# 添加真实服务器
# -a: 添加真实服务器
# -t: TCP 协议  
# -r: 真实服务器地址
# -g: 使用 DR 模式 (Gateway, 即直接路由)
ipvsadm -a -t 192.168.10.180:80 -r 192.168.10.16:80 -g
ipvsadm -a -t 192.168.10.180:80 -r 192.168.10.17:80 -g# 查看配置状态
ipvsadm -ln

预期输出:

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.65.131:80 rr-> 192.168.65.128:80             Route   1      0          0-> 192.168.65.133:80             Route   1      0          0

注意: Route 表示 DR 模式配置正确。

配置节点服务器 (Real Server)

环境信息

  • Real Server 1: 192.168.65.128
  • Real Server 2: 192.168.65.133
  • VIP: 192.168.65.100

(1) 配置 VIP 到 lo 接口

# 进入网络配置目录
cd /etc/sysconfig/network-scripts/# 复制 lo 配置创建虚拟接口
cp ifcfg-lo ifcfg-lo:0# 编辑虚拟接口配置
vi ifcfg-lo:0

ifcfg-lo:0 内容:

DEVICE=lo:0           # 设备名称(环回接口虚拟设备)
ONBOOT=yes            # 开机启动  
IPADDR=192.168.65.100 # 虚拟IP地址
NETMASK=255.255.255.255 # 子网掩码(32位)

激活虚拟接口:

# 启用虚拟接口
ifup lo:0# 检查配置
ifconfig lo:0
# 应该显示: inet 192.168.65.100 netmask 255.255.255.255# 添加路由,确保发往VIP的包通过lo:0接口
route add -host 192.168.65.100 dev lo:0

(2) ARP 参数调整(关键步骤)

# 编辑内核参数文件
vi /etc/sysctl.conf

添加以下内容:

# ARP 抑制配置 - 核心配置!
# 只响应目标IP地址为本地接口IP的ARP请求
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2# 环回接口的ARP抑制  
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2

应用配置:

# 重新加载内核参数
sysctl -p# 验证 ARP 抑制配置
sysctl -a | grep arp_ignore
sysctl -a | grep arp_announce

(3) 安装和配置 Web 服务

# 安装 Apache
yum -y install httpd# 启动服务
systemctl start httpd# 为每台真实服务器创建不同的测试页面
# 在 192.168.10.16 上执行:
echo "Web Server 1 - 192.168.10.16" > /var/www/html/index.html# 在 192.168.10.17 上执行:  
echo "Web Server 2 - 192.168.10.17" > /var/www/html/index.html# 测试本地访问
http://192.168.65.100

在这里插入图片描述

http://www.dtcms.com/a/596346.html

相关文章:

  • 从零搭建 ASP.NET 单文件 Web 项目:一个能真用的 BookShop 管理页实战
  • 安徽专业网站建设长春能开发网站的公司
  • hadoop-3.4.1 单机伪部署
  • Nginx(4)--Nginx与tomcat反向代理和负载均衡
  • 37负载均衡介绍和nginx模块编译安装
  • 网站开发成本都有哪几项北京app建设 网站开发公司
  • 01-总结
  • VR党建赛车模拟系统:让党史学习“开“出沉浸式新体验
  • Logstash 从 MySQL 同步数据到 Kafka
  • 通过 HelloWorld 深入剖析 JVM 启动过程
  • css-文字背景渐变色
  • Tailwind CSS的grid布局
  • LangGraph基础教程(4)---LangGraph的核心能力
  • 百度网站推广费用多少物流网站前端模板下载
  • Docker-镜像存储机制-网络
  • 线性代数 - 从方程组到行列式
  • 景德镇做网站公司中国邮政做特产的网站
  • 【Linux】进程间通信(三)System V 共享内存完全指南:原理、系统调用与 C++ 封装实现
  • 记一次cssd无法启动故障处理
  • 开源 Objective-C IOS 应用开发(一)macOS 的使用
  • ElasticSearch详解(篇一)
  • flash网站价格网站推广的特点
  • 【C++ 面试题】内存对齐
  • busybox:启动阶段的静态 IP 配置过程
  • k8s 中遇到Calico CrashLoopBackOff 的解决方法
  • zookeeper单机版安装
  • 【Excel导入】读取WPS格式嵌入单元格内的图片
  • 福清建设银行网站网红营销的作用
  • 34节点配电网牛顿-拉夫逊潮流计算 + 分布式电源(DG)多场景分析的 MATLAB
  • 分布式专题——53 ElasticSearch高可用集群架构实战