`
kusix
  • 浏览: 68501 次
社区版块
存档分类
最新评论

如何让同一网段客户端访问LVS-NAT主机

阅读更多
今天在继续redis的压力测试时,发现一个“奇怪”的现象,我本机可以访问的通LVS主机,但测试服务器却不行。在请教运维部的同事之后才知道,原来LVS-NAT模式下,客户端是不能和RS在一个网段的( 知识欠缺啊,以前只耍过DR模式)。

但是真的不能么?google一番,发现一个童鞋提过一句话:不是不可以,但是要修改路由表。

这一下就醍醐灌顶了,LVS-NAT模式通常用于衔接不同网段之间的请求,如果客户端与RS主机在同一网段的话,会由于RS主机在响应请求时将响应直接发给client而不经过LVS主机,导致client认为这是个错误而丢弃这个响应,表现出来的就是timeout。而修改RS的路由表,则可以指定它该如何响应。

[root@esb ~]# route add -host 10.10.224.191 gw 10.10.224.251
[root@esb ~]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.10.224.191   10.10.224.251   255.255.255.255 UGH       0 0          0 eth0
10.10.224.0     *               255.255.255.0   U         0 0          0 eth0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth1
169.254.0.0     *               255.255.0.0     U         0 0          0 eth1
default         10.10.224.251   0.0.0.0         UG        0 0          0 eth0


191就是客户端,251是VIP,我们指定RS在响应191的请求时,使用LVS主机作为网关,这样就使得即使它们在同一个网段,响应时也必须经过LVS主机。
测试一下,果然成功。
分享到:
评论
1 楼 benwugao 2011-12-13  
10.10.224.0

192.168.1.0

这两个,哪一个是模拟的外网?

相关推荐

Global site tag (gtag.js) - Google Analytics