I am trying to use Linux-IPVS. It's almost working except one problem. I
have following network configuration:
-------- eth0 eth0 ------- eth1
eth0 -------------
| Client |---------------------| IPVS |-------------------| Real Server |
-------- --------
-------------
I have the Client connected to IPVS eth0 interface and Real Server connected
to IPVS eth1 interface. I want to use direct routing, but Real Server does
not have direct connection to Client and sends packets to Client via IPVS. I
have following configurations:
1. Client
IP Address Interface eth0 107.108.2.5/24
Route 107.108.3.0/24 Gateway 107.108.2.6 Interface eth0
2. IPVS
IP Address Interface eth0 107.108.2.6/24
IP Address Interface eth0:0 107.108.2.10/24
IP Address Interface eth1 107.108.3.6/24
Route 107.108.3.0/24 Interface eth1
Route 107.108.2.0/24 Interface eth0
ipvsadm -A -t 107.108.2.10:23 -s wlc
ipvsadm -a -t 107.108.2.10 -r 107.108.3.5 -g
3. Real Server
IP Address Interface eth0 107.108.3.5/24
IP Address Interface eth0:0 107.108.2.10/32
Route 107.108.2.0/24 Gateway 107.108.3.6 Interface eth0
When I issue "telnet 107.108.2.10" from Client, I see a SYN packet arriving
at IPVS-eth0, IPVS-eth1 and Real-Server-eth0 respectively. Then I see a
SYN-ACK packet on Real-Server-eth0 and IPVS-eth1 but packet doesn't arrive
on IPVS-eth0. Can someone give me some clue, on this? IP forwarding is
working perfectly, since I am able to ping 107.108.3.5 from 107.108.2.5 and
vice-versa.
Another observations is that if I configure, Real Server Interface eth0:0 as
107.108.2.10/24; above network configuration doesn't work because Real
Server assumes the Client to be reachable and starts ARP, which doesn't
succeed. But if all the machines (client, IPVS and Real-Server) are on same
LAN, the ARP succeeds and telnet at client succeeds as expected (LVS
working!!!). This is confirmed by ARPcache at Client, which have hardware
address of IPVS for IP address 107.108.2.10 and ipvsadm showing one active
connection. But if I configure Real-Server Interface eth0:0
107.108.2.10/32, it doesn't work regardless of all the machines are on same
LAN or configured as shown in above diagram.
Any pointers will be appreciated.
Regards
Mohanlal
|