LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

ldirectord deficiency with fwmarks+tun

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: ldirectord deficiency with fwmarks+tun
From: Jaroslav Libák <jarol1@xxxxxxxxx>
Date: Tue, 12 Dec 2006 21:56:58 +0100 (CET)
If you use ldirectord with a fwmark virtual service with TUN, then you can't do 
any reasonable checks.
Lets suppose I have 2 realservers with apache+tomcat (with ip based virtual 
hosts), 1 fwmark virtual service to bundle 80,443 and 2038 together. Then when 
I specify something like this in ldirectord.cf (this is not my actual file, but 
it shows the deficiency)

virtual=1
        real=192.168.6.4 ipip
        real=192.168.6.5 ipip
        service=http
        checkport=80
        checktype=negotiate
        request="index.html"
        receive="Test Page"
        scheduler=wrr

ldirectord will send requests to 192.168.6.4 and 192.168.6.5 where nothing is 
listening because I use ipbased virtual host and the VIP address is on the 
tunl0 interface on the real servers. From what I have read, you cannot convince 
ldirectord to encapsulate the http request to a packet that is sent to 
192.168.6.4 then decapsulated and sent to the tunl0 VIP if you use fwmark 
service. If you use tcp virtual service with port 0 then it will work, but if 
you need fmwark then there is no way to specify the VIP.

So I see only 3 possibilities:
1.) I have missed something and it is possible to monitor a certain VIP on a 
certain host with fwmark + tunneling with ldirectord.
2.) It's not possible and I have to write a patch for ldirectord to add setting 
for VIP for monitoring the service
3.) I have to use standard tcp virtual service with port 0 (so everything will 
be forwarded to realservers).

Any ideas?

Jaro

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