Daniil Sosonkin wanted us to know:
Hi all,
I'm very new to LVS but managed to configure it on Mandrake 10 (kernel
2.6.3-7mdksmp, had precompiled IP Virtual Server version 1.1.8
On the real servers, do you have the following:
/proc/sys/net/ipv4/conf/lo/arp_ignore
/proc/sys/net/ipv4/conf/lo/arp_announce
/proc/sys/net/ipv4/conf/all/arp_ignore
/proc/sys/net/ipv4/conf/all/arp_announce
Probably not, here's what's on my 2.6.3 (Mandrake 10.0) kernel:
[root@trip root]# uname -r
2.6.3-16mdk
[root@trip root]# sysctl -a | grep arp_
net.ipv4.conf.eth0.arp_filter = 0
net.ipv4.conf.tun0.arp_filter = 0
net.ipv4.conf.lo.arp_filter = 0
net.ipv4.conf.default.arp_filter = 0
net.ipv4.conf.all.arp_filter = 0
The following URL addresses the issue with your kernel version and
overall, that chapter explains the arp problem very clearly:
http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.arp_problem.html#2.6_arp
That section explains a few solutions as well, whether you think they're
clear or not will be your judgement. In summary, this fixed the problem
for me on the real servers:
smtp1 root # tail -6 /etc/sysctl.conf
# For load balanced machines
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
Caveat: I'm doing LVS-DR, not LVS-TUN. I don't know if it will do
anything for you. I've never messed with the TUN side of things.