三台服务器
    Real server 1:  10.10.10.51
    Real server 2:  10.10.10.52
    LVS Directory:  10.10.10.53/192.168.12.53
    VIP1:           10.10.10.111        #用于测试同网段下使用LVS
    VIP2:           192.168.12.111      #用于测试跨网段下使用LVS
RS1 和 RS2 默认网关指向Directory
全部服务器关闭selinux 和 iptables


Real server 1

yum install httpd -y
echo "Real Server 1" > /var/www/html/index.html 
service httpd start

Real server 2

yum install httpd -y
echo "Real Server 2" > /var/www/html/index.html 
service httpd start

Director

测试CIP和VIP在不同网段

yum install ipvsadm -y
ifconfig eth1:0 192.168.12.111/32 up
echo "1" > /proc/sys/net/ipv4/ip_forward
ipvsadm -A -t 192.168.12.111:http -s rr
ipvsadm -a -t 192.168.12.111:http -r 10.10.10.51:http -m
ipvsadm -a -t 192.168.12.111:http -r 10.10.10.52:http -m

浏览器打开http://192.168.12.111,按CRTL+F5刷新,查看效果

 

测试CIP和VIP在相同网段

ifconfig eth0:0 10.10.10.111/32 up
ipvsadm -A -t 10.10.10.111:80 -s rr 
ipvsadm -a -t 10.10.10.111:80 -r 10.10.10.51 -m
ipvsadm -a -t 10.10.10.111:80 -r 10.10.10.52 -m

通过tcpdump tcp port 80 发现RS可以接收到请求包,但是返回数据直接通过ARP请求发送给CLIENT,造成同网段下数据无法通过Director修改IP包后在返回给CLIENT。请求失败。


real server手动指定Client路由到Director

route add -host 10.10.10.147 gw 10.10.10.111


浏览器打开http://10.10.10.111,按CRTL+F5刷新,查看效果