LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Cluster node using itself

To: "lvs-users@xxxxxxxxxxxxxxxxxxxxxx" <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Cluster node using itself
From: Sébastien Bonnet <Sebastien.Bonnet@xxxxxxxxxxx>
Date: Thu, 20 Dec 2001 14:47:11 +0100
Hi all,

I've set up a lvs-nat cluster, with two real web servers. Works fine.

I planning to be running another service on theses two servers, which
will be used internaly, by the web servers.

From the tests I've been running, it doesn't seem to work. Here is what
I've done :

I run lynx http://VIP/ on real server 1. If the request goes to real
server 2, it's OK. But if it gets back to real server 1 (client=server),
lynx hangs.

VIP = 172.22.48.210
RIP = 172.16.0.101/102

# tcpdump -n port 80

172.16.0.101.4513 > 172.22.48.210.http: S 2382290923:2382290923(0) win
32120 <mss 1460,sackOK,timestamp 27377475 0,nop,wscale 0> (DF)
172.16.0.101.4513 > 172.16.0.101.http: S 2382290923:2382290923(0) win
32120 <mss 1460,sackOK,timestamp 27377475 0,nop,wscale 0> (DF)

And that's it ! 172.16.0.101 does not even send back a SYN !

I guess this is something related to my routing table. I've been going
many tests, none of them was successfull :(

# route -n
Destination     Gateway      Genmask         Indic Iface
172.22.49.87    0.0.0.0      255.255.255.255 UH    eth0
172.16.0.101    0.0.0.0      255.255.255.255 UH    eth0
172.16.0.111    0.0.0.0      255.255.255.255 UH    eth0
127.0.0.0       0.0.0.0      255.0.0.0       U     lo
0.0.0.0         172.16.0.1   0.0.0.0         UG    eth0

I need to be able to access this real server one directly from my LAN
(172.22.48.0/255.255.240.0), that's why I have the entry 172.22.49.87. I
don't have any network entry for the LAN, otherwise reply packets (for
request made to the virtual server) would not be masqueraded.

172.16.0.101 is the real server IP. 172.16.0.111 is another real server
IP. I don't have any network entry for 172.16.0.0/24, otherwise packets
from real server 1 (172.16.0.101) to real server 2 (172.16.0.102) would
not be masqueraded.

Finnaly, the default route to the cluster 176.16.0.1.

With this routing table, I can do almost anything wish. Real servers are
accessible from any host on the 172.22.48.0/20 network. And each real
server as access to anything on both networks.

Except for request made from one real server to itself ...

Any clues ?

-- 
Sébastien Bonnet
  Experian


<Prev in Thread] Current Thread [Next in Thread>