LVS-DR模式

本文详细介绍了如何在server1上配置IPVS进行负载均衡调度,包括修改YUM源、安装并启动IPVSADM服务、添加虚拟IP及真实服务器等步骤。同时,通过在server2和server3上配置特定IP并利用arptables隐藏MAC地址,实现了客户端请求的高效分发。

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

server4    LB调度

server5    realserver

server6   realserver

改完yum源

[rhel-source]
name=Red Hat
baseurl=http://172.25.11.250/rhel6.5/LoadBalancer/
enabled=1
gpgcheck=0

yum install ipvsadm -y

/etc/init.d/ipvsadm start

 

在server1中

ip addr add 172.25.10.100/24 dev eth0

ipvsadm -A  -t  172.25.10.100:80   -s rr   虚拟ip  ---------rr是轮询
ipvsadm -a -t 172.25.10.100:80 -r 172.25.10.5:80 -g
ipvsadm -a -t 172.25.10.100:80 -r 172.25.10.6:80 -g

保存 rule
service ipvsadm save

-g代表gateway,意思为直接路由,还可以有-i(internet)隧道模型,-m(masq)伪装,NAT模式

ipvsadm -ln  查看ip
ipvsadm -l 查看主机名
ipvsadm --help 自己查看帮助

server1本身的子网掩码 要和自身一致

server2 3也要加IP
server2   
ip addr add 172.25.10.100/32 dev eth0
server3
ip addr add 172.25.10.100/32 dev eth0

测试:

在真机中
curl 172.25.10.100

server1  curl 172.25.10.100是不通的

lient -> vs ->rs -> client  
    虚拟系统  真实系统
ipvsadm -C 清空
arp  -an|grep 100
查看100的IP  自己设置的

清缓存 arp -d 172.25.10.100
arp 将地址转换为MAC

隐藏server2 3的MAC 地址  访问之后只显示server1调度服务器的MAC 地址
在server2 3添加arptables
yum install arptables_jf -y
arptables -A IN -d 172.25.10.100 -j DROP
arptables -A OUT -s 172.25.10.100 -j mangle --mangle-ip-s 172.25.10.4
arptables -L
/etc/init.d/arptables_jf  save
清除真机缓存arp -d 172.25.10.100
再次curl 172.25.10.100就可以实现
arp -an |grep 100
只显示server1的MAC地址了

### 配置 LVS-DR 模式 LVS (Linux Virtual Server) 是一种高效的四层负载均衡解决方案,其 DR (Direct Routing) 模式通过共享虚拟 IP 地址 (VIP),使得客户端请求可以直接路由到真实服务器而无需经过负载均衡器转发数据包[^1]。 #### 1. 基本架构说明 在 LVS-DR 模式下,负载均衡器和真实服务器都需绑定同一个 VIP 地址。为了防止 ARP 广播引发冲突,仅允许负载均衡器对外部网络回应 ARP 请求,而真实服务器则不回应外部的 ARP 请求[^3]。 #### 2. 环境准备 假设环境如下: - **Director(负载均衡器)**: `192.168.1.1` (公网接口),`192.168.10.1`(私网接口) - **Real Servers(真实服务器)**: - RS1: `192.168.10.2` - RS2: `192.168.10.3` - **VIP地址**: `192.168.1.1` #### 3. Director 的配置 ##### 安装 ipvsadm 工具 ```bash yum install -y ipvsadm ``` ##### 添加服务规则 执行以下命令来设置 LVS-DR 模式的调度策略: ```bash ipvsadm -A -t 192.168.1.1:80 -s rr ``` 其中 `-A` 表示添加一条新的虚拟服务记录;`-t` 表明这是 TCP 协议的服务;`rr` 表示轮询算法。 ##### 将 Real Servers 加入集群 分别将两台真实服务器加入到该虚拟服务中: ```bash ipvsadm -a -t 192.168.1.1:80 -r 192.168.10.2:80 -m ipvsadm -a -t 192.168.1.1:80 -r 192.168.10.3:80 -m ``` 这里 `-a` 参数用于向已存在的虚拟服务添加一台真实的服务器实例;`-m` 则指定了采用 DR 方式工作[^4]。 #### 4. 实际服务器端配置 每台实际服务器都需要安装 Web 服务程序并确保能够正常运行。例如对于 Apache HTTPD 可以这样操作: ```bash yum install -y httpd && echo "This is server rs1" >> /var/www/html/index.html && systemctl start httpd ``` 同时还需要手动指定回环设备 lo 使用 VIP 来接收来自 director 发送过来的数据流: ```bash ifconfig lo:0 192.168.1.1 netmask 255.255.255.255 up route add -host 192.168.1.1 dev eth0 echo "1" > /proc/sys/net/ipv4/conf/eth0/arp_ignore echo "2" > /proc/sys/net/ipv4/conf/eth0/arp_announce sysctl -p ``` 以上步骤完成了基本的 LVS-DR 架构部署过程[^2]。 ### 注意事项 - 所有真实服务器必须位于同一物理局域网内以便能直接访问彼此。 - 如果需要持久会话等功能,则可能还需进一步调整参数或引入额外组件支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值