Problem solved! I thought the hidden patch would have solved this problem
so that the real server would not care saddr=local_ip and still sends arp
reply. I added DIP and could ping real server from director now. Thanks!
Though I had another question. Can a client on the same network access the
virtual service? I just tried add a telnet service on the director and
real server. VIP=x.y.z.185 RIP=x.y.z.230 DIP=x.y.z.180
$ipvsadm
IP Virtual Server version 0.8.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP x.y.z.185:telnet rr
-> x.y.z.230:telnet Tunnel 1 0 1
When I telnet the VIP from a client (x.y.z.211), it hung at
trying x.y.z.185... forever.
$tcpdump -n dst host RIP and src host DIP gave me following:
17:31:04.291623 eth0 < x.y.z.211.32790 > VIP.telnet: S
3346632997:3346632997(0) win 5840 <mss 1460,sackOK,timestamp 9307976
0,nop,wscale 0> (DF) (ipip)
17:31:07.284334 eth0 < x.y.z.211.32790 > VIP.telnet: S
3346632997:3346632997(0) win 5840 <mss 1460,sackOK,timestamp 9308276
0,nop,wscale 0> (DF) (ipip)
17:31:09.285636 eth0 < arp who-has RIP tell DIP
17:31:13.284349 eth0 < x.y.z.211.32790 > VIP.telnet: S
3346632997:3346632997(0) win 5840 <mss 1460,sackOK,timestamp 9308876
0,nop,wscale 0> (DF) (ipip)
Any idea?
Thanks so much for help,
-Tao
|