LVS的DR模式

LVS的DR模式html

(1)环境说明nginx

三台机器:vim

director(eth0192.168.71.100, vip eth0:0: 192.168.71.110)浏览器

real server1(eth0 rip: 192.168. 71.111, vip lo:0: 192.168.71.110)bash

real server2(eth0 rip: 192.168.71.166, vip lo:0: 192.168.71.110)服务器

三台机器及vip必须在一个网段测试

(2)编写脚本.net

Director 上执行server

# vim /usr/local/sbin/lvs_dr.shhtm

增长以下内容:

#! /bin/bash

# director 服务器上开启路由转发功能:

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

ipv=/sbin/ipvsadm

vip=192.168.71.110

rs1=192.168.71.111

rs2=192.168.71.166

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

#给eth0:0绑定一个vip地址 子网是255.255.255.255#

route add -host $vip dev ens33:2

#增长一条路由#

$ipv -C

$ipv -A -t $vip:80 -s rr 

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

#-g是DR模式#

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

两台rs上也编写脚本 vim /usr/local/sbin/lvs_rs.sh//内容以下

#/bin/bash

vip=192.168.71.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

而后 director 上执行

# bash /usr/local/sbin/lvs_dr.sh

两台 rs 上执行

# bash /usr/local/sbin/lvs_dr_rs.sh

两台rs要把nginx启动

(3)测试

Windows 下浏览器测试访问 http://192.168.71.110

在打开一台虚拟机用crul 192.168.71.110 测试

查看LVS的执行过程

[root@master ~]# ipvsadm -ln

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.71.110:80 wrr

-> 192.168.71.111:80 Route 1 0 1

-> 192.168.71.166:80 Route 1 0 4

相关文章
相关标签/搜索