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