LVS DR模式详解

本文详细介绍了如何在LVS中配置DR模式,包括工作原理、实验环境搭建、配置步骤及测试过程。通过实例演示了如何实现负载均衡,确保客户端请求能够均匀分配到多个真实服务器上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.工作原理

在vs(虚拟服务器–也是模型中的调度器lvs)和rs(真实的服务器–apache)上都设置有同一个vip(虚拟ip),vs和rs都有两个ip地址,除了vip之外的ip,他们是统一个网段的能够相互通信,在vs上设置轮询策略,在rs设置上丢掉访问vip的请求的策略,那么在client访问vip的时候,就只能唯一经过vs的vip,也就是只能通过vs请求资源,因为他们处于同一个网段,所以使用MAC地址进行通信,在vs上修改请求的源MAC和目的MAC,不改变源cip和目的ip(vip),所以rs处理完请求后,所以rs直接通过网关直接返回数据包(源vip,目的cip)给客户端,不经过vs。

拓扑结构:
在这里插入图片描述

2.实验环境

redhat 7.5

server1(lvs)172.25.60.1/24
server2(apache)172.25.60.2/24
server3(apache)172.25.60.3/24

网关都为:172.25.60.250/24(物理机ip)
三台虚拟机上再添加一个ip做vip(172.25.60.100/24)

ip addr add 172.25.60.100/24 dev eth0

注: lvs上的vip是用于接收客户端请求的,真实服务器上的vip是用于给各户端回数据包的。

3.配置DR模式

(1)lvs(server1)配置规则:

ipvsadm -A -t 172.25.60.100:80 -s rr	//rr:轮询
ipvsadm -a -t 172.25.60.100:80 -r 172.25.60.2:80 -g	//-g:DR模式
ipvsadm -a -t 172.25.60.100:80 -r 172.25.60.3:80 -g
systemctl restart ipvsadm	##重启服务后会将规则写进文件/etc/sysconfig/ipvsadm
##不重启规则未写进文件中,只能临时生效,重启系统后就没有了

##ipvsadm的常用命令:
ipvsadm -l	//解析查看规则
ipvsadm -ln	//不解析查看
ipvsadm -C	//清空ipvsadm

此时lvs就配置好了。但三台虚拟机上都有vip(172.25.60.100),现在用物理机直接测试,会出现两种情况:
a.如果访问的lvs(server1)上的vip,将实现轮询访问后端apache
b.如果访问的apache(server2/server3)上的vip,将不能实现轮询访问

因此,为实现轮询访问,还需对server2和server3做第二步(2)操作。

注: 如果此时访问,可用以下命令查看访问主机的mac地址,以确定自己访问的是那一台虚拟机

arp -an | grep 100	//查看刚才访问主机的mac地址
arp -d 172.25.60.100	//清理缓存

在这里插入图片描述

(2)在server2和server3上安装arptables,并配置规则:

server2:
arptables -A INPUT -d 172.25.60.100 -j DROP	//目的地址是172.25.60.100 的DROP掉
arptables -A OUTPUT -s 172.25.60.100 -j mangle --mangle-ip-s 172.25.60.2
server3:
arptables -A INPUT -d 172.25.60.100 -j DROP	
arptables -A OUTPUT -s 172.25.60.100 -j mangle --mangle-ip-s 172.25.60.3

arptables的常用命令:

arptables -nL	//查看规则
arptables -F	//刷新规则(其他命令与iptables相似)
/etc/sysconfig/arptables	//arptables规则配置文件
arptables-save > /etc/sysconfig/arptables	//将规则保存到配置文件
#不保存编写的规则只能临时生效,重启系统后就没有了

(3)测试:

curl 172.25.60.100		//访问
curl -I 172.25.60.100
arp -d 172.25.60.100	//清理缓存

在这里插入图片描述
此时测试就ok了,可以清理缓存多试几次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值