DR(调度器将请求来的数据包的目标mac地址改为real server的mac地址,返回的时候也不经过调度器,直接返回给客户端)


每个real server 都要有公网ip 



配置要求三台机器

每个网卡都要配置公网ip

 LVS/DR 配置

三台机器:

director(eth0192.168.1.123, vip eth0:0: 192.168.1.128)

real server1(eth0 rip: 192.1.122, vip lo:0: 192.168.1.128)

real server2(eth0 rip: 192.168.1.124, vip lo:0: 192.168.1.128)

Director 上 vim /usr/local/sbin/lvs_dr.sh //增加


#! /bin/bash

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

ipv=/sbin/ipvsadm

vip=192.168.1.128

rs1=192.168.1.122

rs2=192.168.1.124

ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up

route add -host $vip dev eth0:0

$ipv -C

$ipv -A -t $vip:80 -s rr 增加dir -s算法

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

$ipv -a -t $vip:80 -r $rs2:80 -g -w 1 -g是dr模式 -m是net模式



两台rs上:vim /usr/local/sbin/lvs_dr_rs.sh

#! /bin/bash

vip=192.168.1.128

ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up 

route add -host $vip lo:0

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

Windows下浏览器测试访问

测试的时候要用vip 192.168.1.128

curl 192.168.1.128