DR模式和NAT模式有点小区别。首先看下拓扑图吧
下面的lo请替换成lo:0
这次可以用指网关的,因为模拟的实验他们都是在一个网段内
real server 1
1、在配置文件中添加
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore= 1
sysctl -p
内核参数说明
arp_announce
�C 0 (默认):在任意网络接口上的任何本地地址
�C 1:尽量避免不在该网络接口子网段的本地地址做出arp回应。当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用。此时会检查来访IP是否为所有接口上的子网段内ip之一。如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理
�C 2:对查询目标使用最适当的本地地址。在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址。首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址。如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送
arp_ignore
�C 0(默认值):回应任何网络接口上对任何本地IP地址的arp查询请求
�C 1:只回答目标IP地址是来访网络接口本地地址的ARP查询请求
�C 2:只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内
�C 3:不回应该网络接口的arp请求,而只对设置的唯一和连接地址做出回应
�C 4-7:保留未使用
�C 8:不回应所有(本地地址)的arp查询
2、配置real server 1的lo:0(此处必须把NETMASK=255.255.255.255。记住)
cp /etc/sysconfig/network-scripts/ifcfg-lo/ /etc/sysconfig/network-scripts/ifcfg-lo:0
vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.30.1
NETMASK=255.255.255.255
BROADCAST=192.168.30.255
ONBOOT=yes
3、real 2的配置与real1完全一样
4、director配置
[root@caserver ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
[root@caserver ~]#vim/etc/sysconfig/network-scripts/ifcfg-eth0:0(其uuid要删掉)
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.30.1
PREFIX=24(或者 NETMASK=255.255.255.0)
5,把ipvsadm安装完成,把所需要的服务重新启动下
ipvsadm -A -t 192.168.30.1:80 -s wlc
ipvsadm -a -t 192.168.30.1:80 -r 192.168.20.3 -g -w 1
ipvsadm -a -t 192.168.30.1:80 -r 192.168.20.4 -g -w 2
6、客户端访问
http://192.168.30.1