关于LVS DR配置问题,谢谢。
我有两台机器 都是Suse linux9系统,内核是:2.6.5-7.244 因为查资料显示不需要打IPVS的补丁,只是下载了一个ipvsadm v1.24.
一台做DR(10.71.155.72,VIP:10.71.155.7,GW:10.71.155.1) 一台做真实服务器(10.71.155.71,GW:10.71.155.1)
在DR上的配置为:
/etc/sysctl.config
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.eth1.send_redirects = 1
LVS配置脚本:
# description: start LVS of Directorserver
VIP=10.71.155.7
RIP1=10.71.155.71
case "$1" in
start)
echo " start LVS of DirectorServer"
# set the Virtual IP Address
/sbin/ifconfig eth1:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth1:0
#Clear IPVS table
/sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -A -t $VIP:23 -s rr
/sbin/ipvsadm -a -t $VIP:23 -r $RIP1:23 -g
#Run LVS
/sbin/ipvsadm
#end
;;
stop)
echo "close LVS Directorserver"
/sbin/ipvsadm -C
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
在REAL的服务器上的配置为:
/etc/sysctl.config
net.ipv4.ip_forward = 0
LVS配置脚本:
#!/bin/bash
#description : start realserver
VIP=10.71.155.7
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
sysctl -p
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
设置完成后,我在10.155.71.5 telnet 10.71.155.7(VIP)可以成功连接到10.71.155.71(Real Server);
但是在我的PC机10.70.149.198 telnet 10.71.155.7(VIP)失败,我在10.71.155.71(Real Server)抓包分析,
发现10.70.149.198 telnet 10.71.155.7(VIP)的网络包已经转发到了10.71.155.71(Real Server),但
10.71.155.71(Real Server)的ACK包到也到了10.71.155.71(Real Server)的GW:10.71.155.1,但我的PC机
没收到这个包?请问是什么原因?谢谢