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

LVS DR模式实验

ensp + vmware workstation模拟实验环境

实验拓扑

IP地址规划

接口IP地址网关虚拟IP
Client-192.168.10.20/24192.168.10.1
Virtual Server外网123.1.1.100/24123.1.1.1与物理接口相同
DIP172.16.1.101/24-
Real Server1RIP1172.16.1.21/24172.16.1.1
lo123.1.1.100/32
Real Server2RIP2172.16.1.22/24172.16.1.1
lo123.1.1.100/32
Real Server3RIP3172.16.1.23/24172.16.1.1
lo123.1.1.100/32

virtual server即调度器在收到client的请求后,更改目标MAC为实际real server的MAC,real server收到virtual server转发过来的请求后,以源IP为VIP直接响应该请求,无需像route模式一样由virtaul server中转,提高效率。

注意:本实验中模拟了公网IP地址,测试时需要把能连外网的网卡临时禁用。若不想禁用,需要添加一条路由,route add 123.1.1.0 mask 255.255.255.0 192.168.10.1

一、在windows中添加loopback网卡

打开设备管理器devmgmt.msc

添加完成后打开网络连接管理界面ncpa.cpl,可以看到刚添加的网卡,根据需要进行重命名。

loopback1的IP地址配置为192.168.10.20/24,loopback2和loopback3的IP地址暂不配置

添加完成后重启计算机,否则ensp识别不到

二、编辑vmware网络配置

在虚拟网络编辑器里将刚添加的三个loopback接口添加进来

三、设置虚拟机网卡

virtaul-server添加两块网卡,桥接到vmnet12和13

real-server添加一块网卡,桥接到vmnet13 三台real-server配置相同

四、配置ENSP,打通网络

4.1 拓扑绘制

添加三朵云,右击设置

按上面步骤依次设置三朵云

4.2 地址规划

4.3 路由配置

R1配置

#
sysname R1
#
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.252
ospf network-type p2p
#
interface GigabitEthernet0/0/1
ip address 192.168.10.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 12.1.1.1 0.0.0.0
network 192.168.10.1 0.0.0.0
#

R2配置

#
sysname R2
#
acl number 2000
rule 5 permit source 172.16.1.0 0.0.0.255
#
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.252
ospf network-type p2p
nat outbound 2000 interface LoopBack 10
#
interface GigabitEthernet0/0/1
ip address 123.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 172.16.1.1 255.255.255.0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
interface LoopBack10
ip address 10.10.10.10 255.255.255.255
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 10.10.10.10 0.0.0.0
network 12.1.1.2 0.0.0.0
network 123.1.1.1 0.0.0.0
#

五、LVS配置

5.1 virtual server设置

[root@virtserv ~]# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)

设置IP地址

注意:需要调整内网网卡不做为默认路由,否则产生无法ping通的问题。尤其在测试时执行

nmcli connection down ens160

关闭ens160网卡后,默认路由就走ens192,再启动ens160仍不会恢复,导致网络问题。

关闭防火墙

禁用selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

测试网络是否通

开启路由转发功能

echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.conf

sysctl -p

安装ipvsadm包

dnf -y install ipvsadm

ipvsadm规则配置

ipvsadm -A -t 123.1.1.100:80 -s wrr

ipvsadm -a -t 123.1.1.100:80 -r 172.16.1.21:80 -g -w 1

ipvsadm -a -t 123.1.1.100:80 -r 172.16.1.22:80 -g -w 1

ipvsadm -a -t 123.1.1.100:80 -r 172.16.1.23:80 -g -w 1

保存配置

ipvsadm-save -n > /etc/sysconfig/ipvsadm

设置开机自启动

systemctl enable --now ipvsadm

若每次重启ipvsadm就清空配置,尝试如下设置

[root@virtserv ~]# find /etc -name *ipvsadm*
/etc/sysconfig/ipvsadm-config
/etc/sysconfig/ipvsadm
/etc/systemd/system/multi-user.target.wants/ipvsadm.service

[root@virtserv ~]# vim /usr/lib/systemd/system/ipvsadm.service

把里面的stop执行动作删除

修改后

systemctl disable --now ipvsadm

systemctl enable --now ipvsadm

5.2 real server设置

显示单台配置,其余类似

关闭防火墙、禁用selinux同virtual server

nmtui界面里没有lo接口

使用命令直接为lo增加虚拟IP

nmcli connection modify lo +ipv4.addresses 123.1.1.100/32

nmcli connection up lo

上面添加的虚拟IP,在系统重启后没有自动加载,但查看配置文件里有

未发现虚拟IP,如下图

配置文件中存在该虚拟地址,但autoconnect没开启

[root@realser2 ~]# cat /etc/NetworkManager/system-connections/lo.nmconnection
[connection]
id=lo
uuid=ee6498a6-1693-4ece-bbac-0b71a2e6755c
type=loopback
autoconnect=false
interface-name=lo
timestamp=1778590005

[loopback]

[ipv4]
address1=127.0.0.1/8
address2=123.1.1.100/32
method=manual

[ipv6]
addr-gen-mode=default
address1=::1/128
method=manual

[proxy]

使用下面命令将lo设置为自动连接,正常用名字lo即可,若提示名字冲突,可改为uuid

nmcli connection modify ee6498a6-1693-4ece-bbac-0b71a2e6755c autoconnect yes

设置非必要不响应arp请求,也不主动发

echo 'net.ipv4.conf.all.arp_ignore = 1' >> /etc/sysctl.conf

echo 'net.ipv4.conf.all.arp_announce = 2' >> /etc/sysctl.conf

echo 'net.ipv4.conf.lo.arp_ignore = 1' >> /etc/sysctl.conf

echo 'net.ipv4.conf.lo.arp_announce = 2' >> /etc/sysctl.conf

sysctl -p

安装nginx

dnf -y install nginx

echo 'real server 11111' > /etc/sysctl.conf

systemctl enable --now nginx

六、效果验证

七、存在问题

lvs不具备检测后端real server的服务是否正常的功能

当后端某一real server服务异常后

需要编写脚本进行检测

[root@virtserv ~]# cat check.sh
#!/bin/bash

rip1=172.16.1.21
rip2=172.16.1.22
rip3=172.16.1.23

while true; do

curl http://$rip1 &> /dev/null
if [ $? -eq 0 ]; then
ipvsadm -a -t 123.1.1.100:80 -r $rip1 -g &> /dev/null
else
ipvsadm -d -t 123.1.1.100:80 -r $rip1 &> /dev/null
fi

curl http://$rip2 &> /dev/null
if [ $? -eq 0 ]; then
ipvsadm -a -t 123.1.1.100:80 -r $rip2 -g &> /dev/null
else
ipvsadm -d -t 123.1.1.100:80 -r $rip2 &> /dev/null
fi

curl http://$rip3 &> /dev/null
if [ $? -eq 0 ]; then
ipvsadm -a -t 123.1.1.100:80 -r $rip3 -g &> /dev/null
else
ipvsadm -d -t 123.1.1.100:80 -r $rip3 &> /dev/null
fi

sleep 2

done

[root@virtserv ~]# chmod +x check.sh

[root@virtserv ~]# nohup sh /root/check.sh &

当后端real server服务连接不上时,自动删除,恢复后自动添加进来

http://www.jsqmd.com/news/816813/

相关文章:

  • 微信读书笔记同步终极指南:5分钟打造你的Obsidian知识库
  • 2026年加宽防漏卫生巾选购指南:3款高口碑产品核心特性深度解析 - 产业观察网
  • 2026年5月环境试验设备厂家最新推荐:恒温恒湿 / 冷热冲击 / 盐雾淋雨试验箱优选指南 - 海棠依旧大
  • 2026年高空测报灯采购指南与源头厂家深度测评——以迁飞性害虫监测为视角的行业观察 - 深度智识库
  • 基于Supabase与React 19的全栈开发模板:集成AI辅助与实时功能
  • 【从零搭建C#开发环境】实战指南:一站式搞定.NET Core与IDE配置
  • 微信PC客户端自动化实践:逆向工程与wechat-skill项目深度解析
  • 养生壶选购指南:3款高安全性型号直接抄作业 - 资讯焦点
  • 从零构建单级交流放大电路:核心原理与设计实践【电子技术】
  • 2026生物医药检测用气相色谱柱,应对食品检测复杂污染,国产哪品牌好? - 品牌种草官
  • 基于多智能体架构的AI内容工厂:从Claude到Telegram Bot的自动化实践
  • 代码生成器与脚手架工具:原理、价值与sumleo/xungen实践
  • 别再手动框了!LabelImg快捷键全解析,让你的VOC/YOLO数据集标注效率翻倍
  • 手把手教你用FPGA实现1Gsps采样率:从高速FIFO到LED显示的完整Verilog代码解析
  • 实测TaotokenAPI调用的响应延迟与稳定性观感分享
  • STM32F407的CAN过滤器到底怎么配?手把手教你用HAL库搞定列表和掩码两种模式
  • 2026年环境可靠性试验设备厂家推荐:广东安普瑞科技,专注环境试验设备研发制造 - 海棠依旧大
  • 沈阳铁西区开锁哪家靠谱?铁西区上门开锁避坑全攻略|公安备案正规开锁测评 - 资讯速览
  • 纯前端任务清单开发实战:LocalStorage与Tailwind CSS构建极简应用
  • 免费开源!5分钟掌握B站视频数据批量爬取终极方案
  • 别再只画磁力线了!用Ansoft Maxwell 3D静磁场仿真,手把手教你量化永磁体表面磁场
  • 对比直接使用厂商API我在Taotoken上看到的计费透明度
  • 金水32051编译器下的AI8051U单片机入门:从点亮LED到“你好,世界,我来了!”
  • 数据向下 (Props)传递
  • GitHub与ClawHub技能发布自动化:Launch Manifest驱动的一键发布流水线
  • Python全栈异步框架Tenere:一站式开发工具深度解析与实践指南
  • AI智能体技能生态解析:Agent Skill Exchange实战指南
  • 2026常规分析用气相色谱柱:替代进口,国产哪个品牌性能强且重复性高? - 品牌种草官
  • UX Audit:为AI编码助手注入UI/UX设计原则,提升前端代码质量
  • 2026 南京新街口纹眉深度测评:本土直营标杆,纹绣世家四大门店实力解析 - 小艾信息发布