DR模式LVS搭建

DR模式LVS搭建

DR模式需要三台虚拟机,三台虚拟机只需要有“公网”IP,但在这种模式下又多了一个VIP。对应的机器和IP如下:

调度器dir:192.168.200.130

真实服务器rs1:192.168.200.131

真实服务器rs2:192.168.200.132

VIP:192.168.200.110 (虚拟IP 仅主机IP)

首先把两台rs的网关改成原始网关,不能继续设置为dir的IP地址了。然后我们需要在dir上编写一个shell脚本,脚本内容如下:


[root@dir ~]# vim /usr/local/sbin/lvs_dr.sh

#! /bin/bash

echo 1 > /proc/sys/net/ipv4/ip_forward

ipv=/usr/sbin/ipvsadm

vip=192.168.200.110

rs1=192.168.200.131

rs2=192.168.200.132

#注意这里的网卡名字

ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up

route add -host $vip dev ens33:2

$ipv -C

$ipv -A -t $vip:80 -s wrr:iL:

$ipv -a -t $vip:80 -r $rs1:80 -g -w 1

$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

两台rs上也需要编写脚本,脚本内容如下:

[root@rs1 ~]# vim /usr/local/sbin/lvs_rs.sh  //两台rs上添加的内容一致
#/bin/bash
vip=192.168.200.110
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
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

分别在三台机器上执行各自脚本;

[root@dir ~]# bash /usr/local/sbin/lvs_dr.sh
[root@rs1 ~]# bash /usr/local/sbin/lvs_rs.sh
[root@rs2 ~]# bash /usr/local/sbin/lvs_rs.sh

执行完三个脚本后,就可以测试了。但这次不可以直接在dir上用curl命令直接测试了,因为VIP在三台机器上都有设置。所以只能用浏览器来测试结果

IP:192.168.233.84     测试结果:rs1

IP:192.168.233.85     测试结果:rs2

IP:192.168.133.100    测试结果:rs2

 

 

 

 

posted @ 2022-03-03 14:59  蜡笔小新๑  阅读(59)  评论(0编辑  收藏  举报