1. 给realserver绑定vip地址,并设置网络接口帮兄弟接口收发IP包,且忽略arp广播包。
web30,web40 绑定虚拟IP地址192.168.4.60
[root@web30 ~]# ifconfig lo:1 192.168.4.60/32
[root@web30 ~]# ifconfig lo:1
lo:1: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 192.168.4.60 netmask 0.0.0.0
loop txqueuelen 0 (Local Loopback)
[root@web40 ~]# ifconfig lo:1 192.168.4.60/32
[root@web40 ~]# ifconfig lo:1
lo:1: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 192.168.4.60 netmask 0.0.0.0
loop txqueuelen 0 (Local Loopback)
设置arp参数
[root@web40 ~]# ls /proc/sys/net/ipv4/conf/
all default eth0 eth1 eth2 eth3 lo virbr0 virbr0-nic
[root@web40 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@web40 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@web40 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@web40 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@web30 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@web30 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
[root@web30 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@web30 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
2.给分发器绑定vip地址
[root@lvs20 ~]# ifconfig eth0:1 192.168.4.60
[root@lvs20 ~]# ifconfig eth0:1
eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.4.60 netmask 255.255.255.0 broadcast 192.168.4.255
ether 54:52:04:09:20:01 txqueuelen 1000 (Ethernet)
3.添加虚拟 服务
[root@lvs20 ~]# 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.4.60:80 wrr
4.添加realserver
[root@lvs20 ~]# ipvsadm -a -t 192.168.4.60:80 -r 192.168.4.30:80 -w 3 -g
[root@lvs20 ~]# ipvsadm -a -t 192.168.4.60:80 -r 192.168.4.40:80
[root@lvs20 ~]# 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.4.60:80 wrr
-> 192.168.4.30:80 Route 3 0 0
-> 192.168.4.40:80 Route 1 0 0
[root@lvs20 ~]# ipvsadm-save
-A -t 192.168.4.60:http -s wrr
-a -t 192.168.4.60:http -r 192.168.4.30:http -g -w 3
-a -t 192.168.4.60:http -r 192.168.4.40:http -g -w 1
5.测试
[root@pc10 ~]# elinks --dump http://192.168.4.60/test.html
web40
[root@pc10 ~]# elinks --dump http://192.168.4.60/test.html
web30
[root@pc10 ~]# elinks --dump http://192.168.4.60/test.html
web30
[root@pc10 ~]# elinks --dump http://192.168.4.60/test.html
web30
[root@pc10 ~]# elinks --dump http://192.168.4.60/test.html
[root@lvs20 ~]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 192.168.4.60:80 5 30 0 2375 0
-> 192.168.4.30:80 3 18 0 1425 0
-> 192.168.4.40:80 2 12 0 950 0