Hello,
On Tue, 6 Nov 2001, Tao Zhao wrote:
> Thanks for your help, Julian.
>
> I followed your instruction. But it still did not work. Here is what I
> did (VIP=x.y.z.180, RIP=x.y.z.230) on the real server:
>
> $ifconfig tunl0 up
> $ifconfig dummy0 0.0.0.0 up
> $echo 1 > /proc/sys/net/ipv4/conf/all/hidden
> $echo 1 > /proc/sys/net/ipv4/conf/dummy0/hidden
> $ip addr add x.y.z.180 dev dummy0
>
> But I still cannot ping the real server (with RIP=x.y.z.230) from
> director (with VIP=x.y.z.180). Of course, RIP and VIP are on the same
> subnet (mask 255.255.255.128).
>
> What shows from "tcpdump -ln arp" on host x.y.z.230:
> 15:28:43.945249 eth0 < arp who-has x.y.z.230 tell x.y.z.180
> 15:28:44.945246 eth0 < arp who-has x.y.z.230 tell x.y.z.180
> 15:28:45.945246 eth0 < arp who-has x.y.z.230 tell x.y.z.180
> 15:28:46.945248 eth0 B arp who-has x.y.z.230 tell x.y.z.180
> 15:28:47.945247 eth0 B arp who-has x.y.z.230 tell x.y.z.180
> ...
The problem is that DIP==VIP. The real server does
not like packets with saddr=local_ip (VIP) from other hosts. You
have to add additional IP(DIP) in your director and when you execute
ip route get x.y.z.230 you have to see that x.y.z.180 is not
your preferred source. The usual way to achieve this is to
configure VIP on another device (eg. lo) or to configure them
after the DIP is configured. By this way DIP will become your
preferred source when talking to your subnet.
Adding DIP is not mandatory for any LVS setup to work
but you will not be able to send non-LVS traffic between the
director and the real servers (ping in you case).
> -Tao
Regards
--
Julian Anastasov <ja@xxxxxx>
|