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

相關文章
相關標籤/搜索