LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Some hints

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Some hints
From: Julian Anastasov <uli@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 14 Jan 2000 16:44:59 +0200 (EET)
        Hi,

        There are some open questions in the LVS HOWTO. Here are
some answers for the Linux 2.2(.14):

ARP problem, some rules:

- ARP responses

        - all local IP addresses are replied: lo, eth,
        tunl*, dummy* but with some exceptions (see the next rules)

        - 127.0.0.0/8(LOOPBACK) and 224.0.0.0/4(MULTICAST) are
        not replied

        - there is one exception for the "lo" interface: it is
        possible the kernel to ignore the ARP request if the
        source IP is from the same net as the net used to
        configure "lo" alias. The specified network is treated
        as local.

        For example:

        real# ifconfig lo:0 192.168.0.1 netmask 255.255.255.0
                broadcast 192.168.0.255 up

        "real" treats all packets with source addr from
        192.168.0.0/24 which come from the other devices (eth0)
        as invalid, i.e. source address validation works in
        this case and the ARP request are not replied. The kernel
        thinks: "The incoming packet arrived with
        saddr=local_IP1 and daddr=local_IP2(VIP), so it is invalid".
        By this way the host from the LAN can't talk to the
        real server if its lo alias is configured with
        netmask != 255.255.255.255

ARP requests:

        - all local addresses can be used by the kernel to
        announce them as the source for the ARP request. They
        are extracted from the outgoing packet. We tell the kernel
        that these addresses are not uniq by setting
        <interface>/hidden=1 (2.2.14). By this way the kernel
        select the devices primary IP as the source of the ARP
        request. We expect it is uniq in the LAN.


So, the recommendation for using the "lo" interface in the real
servers is:

- use netmask 255.255.255.255 when configuring lo alias. By this
way source validation doesn't drop the incoming packets to
this IP. LVS users usually define the net route through the eth
interface, so we can talk to other hosts from this network,
for example to send the packets to the client through the
default gateway. It is not needed to configure the alias with
mask != 255.255.255.255


So, the interfaces which can be used in the real servers to
listen for VIP are:

- lo aliases with netmask 255.255.255.255
- tunl*
- dummy*

All these devices must be marked as hidden to solve the ARP
problem when using Linux 2.2.


In the Director: there is no problem to configure the VIP
even on lo alias or dummy interface. If the interface is
not marked as hidden this VIP is visible for all hosts on
the LAN. Is it useful to configure VIP not on eth device?


Regards,

Julian Anastasov



----------------------------------------------------------------------
LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
To unsubscribe, e-mail: lvs-users-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx
For additional commands, e-mail: lvs-users-help@xxxxxxxxxxxxxxxxxxxxxx

<Prev in Thread] Current Thread [Next in Thread>
  • Some hints, Julian Anastasov <=