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

深入解析LVS命令参数及DR模式下的ARP抑制原理

深入解析LVS命令参数及DR模式下的ARP抑制原理


一、LVS简介

Linux Virtual Server (LVS) 是基于Linux内核的高性能负载均衡解决方案,支持NAT、DR(Direct Routing)和TUN(IP Tunneling)三种模式。其中,ipvsadm 是管理LVS配置的核心命令行工具。本文将详解 ipvsadm 的常用参数,并探讨DR模式下ARP抑制的必要性。


二、ipvsadm命令参数详解
1. 虚拟服务管理
  • 添加虚拟服务
    -A:添加虚拟服务(VIP),-t 指定TCP协议,-s 指定调度算法(如轮询rr、加权轮询wrr)。
    示例

    ipvsadm -A -t 192.168.1.100:80 -s rr
    
  • 修改/删除虚拟服务
    -E 修改,-D 删除。
    示例

    ipvsadm -E -t 192.168.1.100:80 -s wrr  # 修改调度算法
    ipvsadm -D -t 192.168.1.100:80         # 删除虚拟服务
    
2. 真实服务器管理
  • 添加真实服务器(RS)
    -a:添加RS,-r 指定RS地址,-g|i|m 指定模式(DR/NAT/TUN),-w 设置权重。
    示例

    ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2:80 -g -w 1
    
  • 修改/删除真实服务器
    -e 修改,-d 删除。
    示例

    ipvsadm -e -t 192.168.1.100:80 -r 192.168.1.2:80 -w 5  # 修改权重为5
    ipvsadm -d -t 192.168.1.100:80 -r 192.168.1.2:80       # 删除RS
    
3. 查看与清空配置
  • 查看当前规则
    -ln 以数字格式显示,--stats 显示统计信息。
    示例

    ipvsadm -ln          # 查看所有规则
    ipvsadm -ln --stats  # 查看流量统计
    
  • 清空所有配置

    ipvsadm -C
    
4. 持久化配置
  • 保存配置
    ipvsadm-save > /etc/sysconfig/ipvsadm
    
  • 恢复配置
    ipvsadm-restore < /etc/sysconfig/ipvsadm
    

三、DR模式下的ARP抑制
1. 为什么需要ARP抑制?

在DR模式下,负载均衡器(Director)和真实服务器(RS)共享同一个VIP。客户端请求首先到达Director,但响应数据由RS直接返回客户端(不经过Director)。此时若RS的网卡响应了VIP的ARP请求,会导致以下问题:

  • ARP冲突:客户端可能直接与RS通信,绕过负载均衡器。
  • 流量混乱:多台RS同时响应ARP,导致MAC地址漂移。
2. 如何配置ARP抑制?

通过修改Linux内核参数,禁止RS响应VIP的ARP请求。

  • 配置步骤
    a. 在RS上设置VIP到lo接口
    ifconfig lo:0 192.168.1.100 netmask 255.255.255.255 up
    
    b. 修改ARP参数
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    
    参数解释
    • arp_ignore=1:仅响应目标IP为本机接口的ARP请求(忽略lo接口的VIP)。
    • arp_announce=2:始终使用接口的本地IP作为ARP源地址(避免VIP暴露)。

四、完整DR模式配置示例
1. Director配置(负载均衡器)
# 添加虚拟服务
ipvsadm -A -t 192.168.1.100:80 -s rr

# 添加真实服务器
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.2:80 -g
ipvsadm -a -t 192.168.1.100:80 -r 192.168.1.3:80 -g
2. 真实服务器配置
# 配置VIP到lo接口
ifconfig lo:0 192.168.1.100 netmask 255.255.255.255 up

# 启用ARP抑制
sysctl -w net.ipv4.conf.lo.arp_ignore=1
sysctl -w net.ipv4.conf.lo.arp_announce=2
sysctl -w net.ipv4.conf.all.arp_ignore=1
sysctl -w net.ipv4.conf.all.arp_announce=2

五、总结
  • ipvsadm命令:是LVS的核心管理工具,需熟练掌握虚拟服务和真实服务器的增删改查。
  • DR模式ARP抑制:通过限制RS的ARP响应,确保流量经过负载均衡器,避免数据链路层混乱。

通过合理配置LVS,可构建高性能、高可用的负载均衡集群,而理解底层原理(如ARP抑制)是避免“坑”的关键。

相关文章:

  • rustdesk远程桌面自建服务器
  • stl里的deque 中控map 假如用完了,该如何处理
  • C# 调用 C++ 动态库接口
  • 深入指南:在IDEA中启用和使用DeepSeek
  • 花卉图片分类实战 -- 基于预训练的 Vision Transformer 实现
  • Vue3组件通信全攻略:8种传值方式详解
  • JavaScript document.write()介绍(直接将内容写入HTML文档的早期方法,已逐渐被现代DOM操作方法取代)
  • export关键字
  • boolen盲注和时间盲注
  • 链表(C语言版)
  • LeetCode541 反转字符串2
  • CAS单点登录(第7版)19.监控和统计
  • MongoDB索引介绍
  • 位图(C语言版)
  • 自己部署DeepSeek 助力 Vue 开发:打造丝滑的标签页(Tabs)
  • pdf文件的读取,基于深度学习的方法
  • 大模型WebUI:Gradio全解12——使用Agents和Tools智能代理工具构建UI(1)
  • vue3.x 的shallowReactive 与 shallowRef 详细解读
  • 深度学习之神经网络框架搭建及模型优化
  • 【C++终极篇】C++11:编程新纪元的神秘力量揭秘
  • 国家统计局:4月全国城镇调查失业率为5.1%,比上月下降0.1个百分点
  • 石家庄桥西区通报“中药液”添加安眠药问题:对医院立案调查
  • 无人机企业从科技园区搬到乡村后,村子里变得不一样了
  • 美联储官员:美国经济增速可能放缓,现行关税政策仍将导致物价上涨
  • 嫩黑线货物列车脱轨致1名路外人员死亡,3人被采取刑事强制措施
  • 梅花奖在上海|舞剧《朱鹮》,剧里剧外都是生命的赞歌