LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: ipvsadm won't route requests

To: Trevor Marshall <pmarshal@xxxxxxxxxxx>
Subject: Re: ipvsadm won't route requests
Cc: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
From: Horms <horms@xxxxxxxxxxxx>
Date: Sun, 17 Sep 2000 18:51:46 -0400
On Sun, Sep 17, 2000 at 06:34:33PM -0400, Trevor Marshall wrote:
> Hello - I am new to LVS (and the list) so please forgive me if this seems
> dumb...
> I am trying to config a simple setup : one gateway with 2 cards trying to
> forward http (then https) requests back to a Real server on a private
> network. 
> There is only one Real server so far serving web pages on ports 80 and
> 443 so Scehduling methods are as yet unimportant.
> I have registered the hostname and ifconfig'd eth0:0 for my IP.
> I have config'd the ipchains to masq properly.
> Kernel 2.2.14
> Q1 - does apache on my gateway box have to listening on the same port
> as the Virtual server. I have apache on 8080 and the virtual server on 80

As per the ipvsadm man page they need to be on the same port
if you are using tunnelling or direct routing.

(If this is not correct can someone tell me so I can update
 the documentation)

       -r, -R, --real-server server-address
              Real  server that an associated request for service
              may be assigned to.  The server-address is the host
              address  of  a real server, and may plus port. Host
              can be either a plain IP  address  or  a  hostname.
              Port  can be either a plain port number or the ser<AD>
              vice name of port.  In the case of the masquerading
              method,  the  host  address is usually a private IP
              address, and the port can be different from that of
              the  associated  service. If port is not specified,
              the port specified  in the service address will  be
              used.  With  the tunneling and direct routing meth<AD>
              ods, port must be equal  to  that  of  the  service
              address.

In fact, if you give ipvsadm a port for the real server, that does
not match the port for the virutal, and you are using tunnelling
or direct routing it will change the port so that is matches
that of the virtual service and this will be reflected
by the output of "ipvsadm -L"

> Q2 - I think I have the Virtual server patch installed - how can I tell?

Run ipvsadm. The output of the comands that you sent in your
email indicate that you have a kernel patched with IPVS 0.9.11 .

> Q3 What is wrong with what I'm doing here .. ipvsadm doesn't seem to
> work:

<snip>

> [root@localhost /root]# ipvsadm -a -t 213.38.111.141:80 -r 10.0.1.90:80
> -m
> setsockopt failed: File exists
> Destination already exists
> [root@localhost /root]# ipvsadm
> IP Virtual Server version 0.9.11 (size=4096)
> Prot LocalAddress:Port Scheduler Flags
>   -> RemoteAddress:Port          Forward Weight ActiveConn InActConn
> TCP  213.38.111.141:www wlc
>   -> 0.80.0.0:0                  Masq    0      0          0  
> 
> What is 0.80.0.0:0 shouldn't this read one of my private network SErver
> hosts?

This looks like your IPVS kernel patches and ipvsadm are not
from the same version of LVS. Make sure you are using the version
of ipvsadm that shiped with IPVS 0.9.11, you can get the compete
tar ball from http://www.linuxvirtualserver.org/ and mirrors.

-- 
Horms


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