可以有以下解决方法:
在MS NT/2K/XP中,网络界面(interfaces)在:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces找到适当的网络界面IP地址,修改subnetMask子网掩码,(注意修改方式)
或者通过在注册表中搜索你所设置的子网掩码,更改成255.255.255.255不需要重启,只需重新激活该网络界面即可。
在LVS-DR模型中因为director和realserver在同一个网段中,且都配置的有VIP地址,为了使realserver上不响应vip当然arp广播请求,我们要在realserver上配置arp_ignore和arp_announce两个参数。在内核2.4.26和2.6.4的版本以后,附带了这两个设备标志。
arp_announce;用于定义本地主机,在向外通告本机所配置ip地址的限定级别的。
0:表示把本地主机上所有网卡的所有ip地址都通告给所练网络
1:表示尽量避免要不在同网络的ip地址告诉不是同网络的主机。
2:表示避免把不在同网络的ip地址告诉不是本网络的主机。
arp_ignore:用于定义收到广播通知时的动作
0:表示收到arp请求中ip地址在本主机上时机响应该arp请求。
1:表示只有收到arp请求的网卡是该arp请求的ip地址才响应。
2.表示只用收到的arp请求的网卡是该arp请求的ip地址且发起该arp的ip地址和请求的地址在同一个网络,才响应。
准备工作。一台客户机,一台director,两台realserver。配置好yum源。
1.建立集群模型
因为LVS-DR模型。director和realserver在同一个网段内,设置其在192.168.10.0/24网段。为了减少复杂性,将客户端也配置到同一个网段
客户端ip:192.168.10.1
direcotr ip:192.168.10.10
realserver ip :192.168.10.11 和192.168.10.12/
VIP:192.168.10.2
2.配置realserve
a.配置内核参数
#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
b.在lo别名上配置VIP
#ifconfig lo:0 192.168.10.2 broadcast 192.168.10.2 netmask 255.255.255.255 up
c.向主机添加特殊的路由信息。
#route add -host 192.168.10.2 dev lo:0
表示到目标主机VIP的请求通过lo:0进来,并通过lo:0出去,保证客户端请求的VIP和realserver项目的VIP相同。
d.安装web服务。
#yum install httpd
#echo '<h1> web1</h1> > /var/www/html/index.html
3.设置director
a。配置别名地址
#ifconfig eth0:0 192.168.10.2 broadcast 192.168.10.2 netmask 255.255.255.255 up
b。添加路由
#route add -host 192.168.10.2 dev eth0:0
在客户机上ping 192.168.10.2 看是否响应。
c打开路由转发
# echo 1 > /proc/sys/net/ipv4/ip_forward
d配置ipvs
#ipvsadm -A -t 192.168.10.2:80 -s rr
#ipvsadm -a -t 192.168.10.2:80 -r 192.168.10.11 -g -w 10
#ipvsadm -a -t 192.168.10.2:80 -r 192.168.10.12 -g -w 10
4.测试:
访问:http://192.168.10.2