Julian Anastasov wanted us to know:
>> To try and avoid the arp problem:
>> echo '2' > /proc/sys/net/ipv4/conf/lo/arp_announce
>> echo '1' > /proc/sys/net/ipv4/conf/lo/arp_ignore
>> ifconfig lo -arp
> You can not use these flags on "lo", only on ARP devices, see:
>http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.arp_problem.html#2.6_arp
Ok, the final sentence is very clear:
"if eth0/arp_ignore=1 then all IPs on eth0 are replied, all others (on
lo) are not."
In my muddled state, I didn't pick up that we needed to set
eth0/arp_ignore instead of lo. Actually, your sysctl.conf settings are
the most illuminating:
/etc/sysctl.conf
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
Thank you for your help! :-)
In the absence of other comments on our system construction, I'll assume
that we are doing something that is common place and we're doing
everything right.
I'll also assume that once we set arp_announce and arp_ignore options
for the correct interfaces (adding "all") then I should be able to
remove the specific host routes I set on each of the load balanced
machines.
--
Regards... Todd
They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety. --Benjamin Franklin
Linux kernel 2.6.3-8mdkenterprise 2 users, load average: 0.02, 0.01, 0.00
|