LVS四种模式之DR(直接路由)模式

本文详细介绍了如何在LVS环境下搭建基于DR模式的负载均衡系统,包括配置yum源、安装和配置ipvsadm、设置HTTP服务、编辑调度策略、添加虚拟IP及防火墙策略等步骤。通过实际操作演示了轮询机制、ARP缓存处理和内核参数调整,确保服务器群稳定运行。

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

一、实验环境搭建

1. 配置yum源

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.60.250/iso/LoadBalancer
gpgcheck=0

2. 安装ipvsadm  #编辑调度策略

yum install ipvsadm -y
/etc/init.d/ipvsadm start

3. 在server2和3 安装http,并打开

/etc/init.d/httpd start

vim /var/www/html/index.html

4. 编辑调度策略,写完后保存

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
ipvsadm -a -t 172.25.60.100:80 -r 172.25.60.3:80 -g
ipvsadm -l   # -l 列出当前策略
/etc/init.d/ipvsadm save #保存策略.
cat /etc/sysconfig/ipvsadm  #可通过修改文件修改策略

-A :添加目标策略(向一个记录中添加真实主机)
-t :tcp连接
-s :调度器,接负载均衡的算法

-g:dr模式

-r真实主机ip

5. 添加虚拟ip,server1/2/3 上都需要添加

ip addr add 172.25.60.100/24 dev eth0 #server1
ip addr add 172.25.60.100/32 dev eth0 #server2/3

server2/3------> 172.25.50.100/32
设置子网为32的原因:   数据包发现没有100,就会丢弃,不接收外部请求,只进行内部通信

二、测试

在物理机上:

[root@foundation60 ~]#  curl 172.25.60.100
<h1>server3 - www.westos.org</h1>
[root@foundation60 ~]#  curl 172.25.60.100
<h1>server2,example.com</h1>
[root@foundation60 ~]#  curl 172.25.60.100
<h1>server3 - www.westos.org</h1>
[root@foundation60 ~]#  curl 172.25.60.100
<h1>server2,example.com</h1>

通过mac地址查看缓存是来自哪个服务器的:

[root@foundation60 ~]# arp -an | grep 100
? (172.25.60.100) at 52:54:00:d1:b7:77 [ether] on br0

删除存储的真实服务器硬件地址:

[root@foundation60 ~]# arp -d 172.25.60.100
[root@foundation60 ~]# arp -an | grep 100
? (172.25.60.100) at <incomplete> on br0

 无法轮询 ,是因为客户端存储了真实服务器的地址

[root@foundation60 ~]# curl 172.25.60.100
<h1>server3 - www.westos.org</h1>
[root@foundation60 ~]# curl 172.25.60.100
<h1>server3 - www.westos.org</h1>
[root@foundation60 ~]# curl 172.25.60.100
<h1>server3 - www.westos.org</h1>
[root@foundation60 ~]# arp -an | grep 100
? (172.25.60.100) at 52:54:00:5d:2d:45 [ether] on br0

缓存是来自server3的

三、问题:访问时会访问真实主机(server2/3),会使服务器压力过大。

解决办法:修改内核参数,添加arp,阻止外部的172.25.60.100的访问

具体做法:使用防火墙策略限制用户访问服务器

1. 在server2和3上安装:arptables_jf

yum install arptables_jf -y

2.编辑策略:在server2/3上

arptables -nL
arptables -A IN -d 172.25.60.100 -j DROP
##-A添加策略 在IN -d 目的地址IP -j 处理方式 DROP 拒绝访问不回应

arptables -A OUT -s 172.25.60.100 -j mangle --mangle-ip-s 172.25.60.2
##管理输出来自38.100的请求 以38.2输出

测试:在物理机上

[root@foundation60 ~]# arp -d 172.25.60.100  #清除缓存的mac地址
[root@foundation60 ~]# curl 172.25.60.100
<h1>server2,example.com</h1>
[root@foundation60 ~]# curl 172.25.60.100
<h1>server3 - www.westos.org</h1>
[root@foundation60 ~]# curl 172.25.60.100
<h1>server2,example.com</h1>
[root@foundation60 ~]# curl 172.25.60.100
<h1>server3 - www.westos.org</h1>
[root@foundation60 ~]# arp -an | grep 100  
? (172.25.60.100) at 52:54:00:d1:b7:77 [ether] on br0
[root@foundation60 ~]# 

缓存的是调度器的mac地址

注意:

  • DR模式下,ds和rs在同一网段内。
  • LVS和后端服务器上都要有vip,并且后端真实服务器上的vip不能对外进行广播。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马克图布s

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值