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

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

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

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

[code="java"]
# route add -host 10.10.224.191 gw 10.10.224.251
# 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
[/code]

191就是客户端,251是VIP,我们指定RS在响应191的请求时,使用LVS主机作为网关,这样就使得即使它们在同一个网段,响应时也必须经过LVS主机。
测试一下,果然成功。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值