vs/dr模式,数据包已经转发给rs了,但rs无法返回数据包给请求者。

很奇怪的现象 lvs/dr模式
隧道已经建立好了,而且rs可以接收到来自lvs转发过来的请求数据包,rs为windows,也已经建立好了环回网卡,并设置好了ip及255.255.255.255的子网掩码解决了arp的问题,可奇怪的是,rs接收到了来自lvs的数据包,但好象不主动返回数据包给访问者?
这是什么原因?

lvs为公网环境 2个公网ip
rs为nat环境,但可以连接外网。

期望哪位高手能给予解答。

Forums:

一直等待。。。

会不会是isp不允许伪造源IP的包返回?

应该不是ISP的问题,VS/DR需要必须满足有一块网卡在同一个网段内,也就是说,这个时候,数据流还在局域网内,根本就没有经过ISP的设备。除非你是通过VPN的方式组建了一个专网,可能在专网内不允许。但是根据该用户的情况,不可能是VPN组建局域网的方式。

realserver的路由是怎么设置的呀?

把你的配置贴出来看看,包括IPVS的配置,rs的配置。看看如果客户端直接连接rs,会不会出问题,如果直连有问题的话,那是你rs的业务配置问题。

我觉得你的rs的环境有问题,一般来说VS/DR, VS/TUN的rs需要有公网的ip地址,不然的话,你还是配置成VS/NAT吧。

求一份LVS/DR+keepalived配置成功的文档,请发wang.hy8166@gmail.com邮箱,多谢。

也遇到同样的问题
http://zh.linuxvirtualserver.org/node/2671
一起加油!
已在我的贴子追加了你问题。

我也碰到这个问题keepalived + lvs + dr (rserver上设置了lo的vip192.168.1.230)
我测试的服务器都在内网,
client: 192.168.1.39
dr server:192.168.1.165 192.168.1.166 (vip:192.168.1.230)
rserver: 192.168.1.151 192.168.1.152
端口都设置了80
当从39的IE上单独访问151或152都可以可以打开页面
但是从192.168.1.230上访问就打不开,dr server是落在192.168.1.165上,也就是它是master服务器
从165上tcpdump抓包,发现数据包确实分发到rserver的151上,但ipvsadm -lcn显示的是 tcp状态未syn_recv
后来在通过tcpdump抓取151上的返回给39的包时,发现返回的数据包的指令为RST而不是syn+ack
我估猜是rserver上的lo设备上的192.168.1.230没有绑定80端口,造成的无此端口业务的想rst响应,
于是就尝试在reserver上192.168.1.230(lo)上绑定业务的80端口,分发果然可以。
从39上就可以正常打开页面,也就是分发正常

-- 希望上面会对大家有点帮助,可能各自的情况不同

但现在我们的问题是,我们使用的web容器最好在一张网卡绑定端口,也就是那个实际的网卡上,而lo上的vip只是为dr的使用的
如何再能实现有lvs分发至rserver上就直接访问到etho上的绑定的端口,而不是所有设备都绑定相同端口,例如:在realserver上0.0.0.0上绑定80

在reserver上192.168.1.230(lo)上绑定业务的80端口 怎么实现的啊?有详细的命令吗?

TCP 00:47 FIN_WAIT 192.168.2.102:23400 192.168.2.200:80 192.168.2.105:80
TCP 00:52 FIN_WAIT 192.168.2.102:23553 192.168.2.200:80 192.168.2.105:80
我的数据包一直是这个状态一直没有建立连接
受到跟帖网友绑定端口的启发
在iis的网站上把vip:80绑在网站上就可以访问了

我的分析:内部实体网卡端口和虚拟回环网卡的端口不能互访导致不能回包