LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: RE: My setting of LVS/DR...Still had problem

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: RE: My setting of LVS/DR...Still had problem
From: Mog <mogwai@xxxxxxxxxxxxxx>
Date: Sun, 01 Aug 2004 06:47:34 -0400
On Sun, 2004-08-01 at 06:52, Leo wrote:
> Dear All,
> 
> I post my tcpdump data here to help analyse. Your advice is appreciated.
> 
> BTW:I had try to ping VIP(192.168.0.11) from client,But I got response, it's 
> not normal?
> 
> C:\Documents and Settings\Administrator>ping 192.168.0.11
> 
> Pinging 192.168.0.11 with 32 bytes of data:
> 
> Reply from 192.168.0.11: bytes=32 time<10ms TTL=64
> Reply from 192.168.0.11: bytes=32 time<10ms TTL=64
> Reply from 192.168.0.11: bytes=32 time<10ms TTL=64
> Reply from 192.168.0.11: bytes=32 time<10ms TTL=64
> 
> Ping statistics for 192.168.0.11:
>     Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
> Approximate round trip times in milli-seconds:
>     Minimum = 0ms, Maximum =  0ms, Average =  0ms
> 
I'ts normal and mandatory. Director VIP must reply to pings and ARP
freely. Realservers however must NOT. Assure you that the replies really
come from the director. 



> 
> I make sure the real server's setting is fellow the HOWTO, here is the route
>  table in realserver:
> (RIP:192.168.0.103  VIP:192.168.0.11)  You can see VIP:192.168.0.11 's 
> netmask is 255.255.255.255
> 
> ***************************************************************************
> C:\Documents and Settings\Administrator>route print
> ===========================================================================
> Interface List
> 0x1 ........................... MS TCP Loopback interface
> 0x9000002 ...02 00 4c 4f 4f 50 ...... MS LoopBack Driver
> 0xa000004 ...00 b0 d0 5f 5b c2 ...... 3Com EtherLink PCI
> ===========================================================================
> ===========================================================================
> Active Routes:
> Network Destination        Netmask          Gateway       Interface  Metric
>           0.0.0.0          0.0.0.0      192.168.0.1   192.168.0.103       1
>         127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
>       192.168.0.0    255.255.255.0    192.168.0.103   192.168.0.103       1
>      192.168.0.11  255.255.255.255        127.0.0.1       127.0.0.1       1
>     192.168.0.103  255.255.255.255        127.0.0.1       127.0.0.1       1
>     192.168.0.255  255.255.255.255     192.168.0.11    192.168.0.11       1
>     192.168.0.255  255.255.255.255    192.168.0.103   192.168.0.103       1
>         224.0.0.0        224.0.0.0     192.168.0.11    192.168.0.11       1
>         224.0.0.0        224.0.0.0    192.168.0.103   192.168.0.103       1
>   255.255.255.255  255.255.255.255     192.168.0.11    192.168.0.11       1
> Default Gateway:       192.168.0.1
> ===========================================================================
> Persistent Routes:
>   None
> 
> C:\Documents and Settings\Administrator>route delete 192.168.0.255 MASK 
> 255.255
> 255.255 192.168.0.11
> The route specified was not found.
> ***************************************************************************
> 
> 
> 
> =====================================
> Dump from Realserver(RIP:192.168.0.103):
> 
> C:\Leo>windump -i 2 -i 3 -n "host not 192.168.0.1"
> windump: listening on \Device\NPF_{E6BEC283-CD36-4B9B-9152-0D7B0CEB519F}
> 05:23:47.035132 arp who-has 192.168.0.104 tell 192.168.0.102
> 05:23:51.097654 IP 192.168.0.102 > 192.168.0.103: icmp 64: echo request seq 
> 769
> 05:23:51.097732 IP 192.168.0.103 > 192.168.0.102: icmp 64: echo reply seq 769
> 05:23:51.097747 IP 192.168.0.102.1526 > 192.168.0.103.80: S 
> 1350087924:135008792
> 4(0) win 5840 <mss 1460,sackOK,timestamp 615866 0,nop,wscale 0>
> 05:23:51.097805 IP 192.168.0.103.80 > 192.168.0.102.1526: S 
> 396197602:396197602(0) ack 1350087925 win 65535 <mss 1460,nop,wscale 
> 0,nop,nop,timestamp 0 0,nop,nop,sackOK>
> 05:23:51.097941 IP 192.168.0.102.1526 > 192.168.0.103.80: . ack 1 win 5840 
> <nop,nop,timestamp 615866 0>
> 05:23:51.098374 IP 192.168.0.102.1526 > 192.168.0.103.80: P 1:19(18) ack 1 
> win 5840 <nop,nop,timestamp 615866 0>
> 05:23:51.110770 IP 192.168.0.103.80 > 192.168.0.102.1526: . 1:1449(1448) ack 
> 19 win 65517 <nop,nop,timestamp 3863684 615866>
> 05:23:51.110797 IP 192.168.0.103.80 > 192.168.0.102.1526: . 1449:2897(1448) 
> ack 19 win 65517 <nop,nop,timestamp 3863684 615866>
> 05:23:51.110921 IP 192.168.0.103.80 > 192.168.0.102.1526: . 2897:2921(24) ack 
> 19 win 65517 <nop,nop,timestamp 3863684 615866>
> 05:23:51.111200 IP 192.168.0.102.1526 > 192.168.0.103.80: . ack 1449 win 8688 
> <nop,nop,timestamp 615867 3863684>
> 05:23:51.111251 IP 192.168.0.103.80 > 192.168.0.102.1526: FP 2921:3991(1070) 
> ack 19 win 65517 <nop,nop,timestamp 3863684 615867>
> 05:23:51.111363 IP 192.168.0.102.1526 > 192.168.0.103.80: . ack 2897 win 
> 11584 <nop,nop,timestamp 615867 3863684>
> 05:23:51.111376 IP 192.168.0.102.1526 > 192.168.0.103.80: . ack 2921 win 
> 11584 <nop,nop,timestamp 615867 3863684>
> 05:23:51.111787 IP 192.168.0.102.1526 > 192.168.0.103.80: R 19:19(0) ack 3992 
> win 14480 <nop,nop,timestamp 615867 3863684>
> 05:24:00.708132 arp who-has 192.168.0.108 tell 192.168.0.102
> 05:24:01.707845 arp who-has 192.168.0.108 tell 192.168.0.102
> 05:24:02.707894 arp who-has 192.168.0.108 tell 192.168.0.102
> 
> 18 packets captured
> 18 packets received by filter
> 0 packets dropped by kernel
> 
> C:\Leo>
> 
> =================================================================
> Dump from director(RIP:192.168.0.102)
> 
> [root@localhost root]# tcpdump -n -i eth0 -i eth0:0 "host not 192.168.0.1 and 
> host not 192.168.0.111"
> tcpdump: listening on eth0:0
> 05:23:38.223182 arp who-has 192.168.0.108 tell 192.168.0.102
> 05:23:39.222925 arp who-has 192.168.0.108 tell 192.168.0.102
> 05:23:40.222983 arp who-has 192.168.0.108 tell 192.168.0.102
> 05:23:47.551300 192.168.0.104.3558 > 192.168.0.102.http: S 
> 2122540016:2122540016(0) win 65535 <mss 1460,nop,nop,sackOK> (DF)
> 05:23:47.551419 arp who-has 192.168.0.104 tell 192.168.0.102
> 05:23:47.551589 arp reply 192.168.0.104 is-at 0:a0:c9:72:ab:e9
> 05:23:47.551609 192.168.0.102.http > 192.168.0.104.3558: R 0:0(0) ack 
> 2122540017 win 0 (DF)
> 05:23:47.961655 192.168.0.104.3558 > 192.168.0.102.http: S 
> 2122540016:2122540016(0) win 65535 <mss 1460,nop,nop,sackOK> (DF)
> 05:23:47.961728 192.168.0.102.http > 192.168.0.104.3558: R 0:0(0) ack 1 win 0 
> (DF)
> 05:23:48.464586 192.168.0.104.3558 > 192.168.0.102.http: S 
> 2122540016:2122540016(0) win 65535 <mss 1460,nop,nop,sackOK> (DF)
> 05:23:48.464665 192.168.0.102.http > 192.168.0.104.3558: R 0:0(0) ack 1 win 0 
> (DF)
> 05:23:51.613950 192.168.0.102 > 192.168.0.103: icmp: echo request (DF)
> 05:23:51.614066 192.168.0.102.1526 > 192.168.0.103.http: S 
> 1350087924:1350087924(0) win 5840 <mss 1460,sackOK,timestamp 615866 
> 0,nop,wscale 0> (DF)
> 05:23:51.614182 192.168.0.103 > 192.168.0.102: icmp: echo reply (DF)
> 05:23:51.614234 192.168.0.103.http > 192.168.0.102.1526: S 
> 396197602:396197602(0) ack 1350087925 win 65535 <mss 1460,nop,wscale 
> 0,nop,nop,timestamp 0 0,nop,nop,sackOK> (DF)
> 05:23:51.614282 192.168.0.102.1526 > 192.168.0.103.http: . ack 1 win 5840 
> <nop,nop,timestamp 615866 0> (DF)
> 05:23:51.614700 192.168.0.102.1526 > 192.168.0.103.http: P 1:19(18) ack 1 win 
> 5840 <nop,nop,timestamp 615866 0> (DF)
> 05:23:51.627468 192.168.0.103.http > 192.168.0.102.1526: . 1:1449(1448) ack 
> 19 win 65517 <nop,nop,timestamp 3863684 615866> (DF)
> 05:23:51.627517 192.168.0.102.1526 > 192.168.0.103.http: . ack 1449 win 8688 
> <nop,nop,timestamp 615867 3863684> (DF)
> 05:23:51.627675 192.168.0.103.http > 192.168.0.102.1526: . 1449:2897(1448) 
> ack 19 win 65517 <nop,nop,timestamp 3863684 615866> (DF)
> 05:23:51.627701 192.168.0.102.1526 > 192.168.0.103.http: . ack 2897 win 11584 
> <nop,nop,timestamp 615867 3863684> (DF)
> 05:23:51.627678 192.168.0.103.http > 192.168.0.102.1526: . 2897:2921(24) ack 
> 19 win 65517 <nop,nop,timestamp 3863684 615866> (DF)
> 05:23:51.627728 192.168.0.102.1526 > 192.168.0.103.http: . ack 2921 win 11584 
> <nop,nop,timestamp 615867 3863684> (DF)
> 05:23:51.627868 192.168.0.103.http > 192.168.0.102.1526: FP 2921:3991(1070) 
> ack 19 win 65517 <nop,nop,timestamp 3863684 615867> (DF)
> 05:23:51.628124 192.168.0.102.1526 > 192.168.0.103.http: R 19:19(0) ack 3992 
> win 14480 <nop,nop,timestamp 615867 3863684> (DF)
> 05:24:01.224509 arp who-has 192.168.0.108 tell 192.168.0.102
> 05:24:02.224224 arp who-has 192.168.0.108 tell 192.168.0.102
> 05:24:03.224281 arp who-has 192.168.0.108 tell 192.168.0.102
> 
> 28 packets received by filter
> 0 packets dropped by kernel
> ==================================================
> (I closed another realserver<192.168.0.10> when I make capture)

What is the IP of the client ? 192.168.0.104 ??

You must type "http://192.168.0.11"; in the client browser to reach the
VIP on the director. It's what you've done ? The director will then
forward through 192.168.0.102 to 192.168.0.103.

The Apache server must only listen on 192.168.0.11/VIP. Here we dont see
any requests made on the VIPs. Post a dump of both of the 192.168.0.11
VIPs interfaces too.

Gaétan

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