免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6750 | 回复: 3

通过lvs访问服务,显示connection refused,真实服务器回出现rst报文 [复制链接]

论坛徽章:
3
处女座
日期:2014-11-05 11:02:4315-16赛季CBA联赛之四川
日期:2015-12-10 14:37:4015-16赛季CBA联赛之天津
日期:2017-09-08 18:39:34
发表于 2012-05-16 16:06 |显示全部楼层
本帖最后由 godymoon 于 2012-07-03 23:05 编辑

lvs使用dr模式,通过调度节点转发的时候,客户端查看显示connection refused,调度节点运行 ipvsadm -lcn查看,state为SYN_RECV

在真实服务器对端口抓包, 显示建立三次握手连接的时候,真实服务器回的是 rst ack 报文

但是如果在客户端直接访问真实服务器的话,连接是完全正常的



求解


-------------------------------------------------------------------------------------------------------------------------------------------
最近又弄lvs,发现出现这样的问题,是真实服务器在监听端口的时候,端口上绑定了本机的IP导致的,因为DR的模式是,真实服务器的lo上面配置VIP的一个别名地址,然后DR将客户端的请求转发给真实服务器的时候,报文中的地址是VIP,而不是真实服务器的IP,这样真实服务器上面看到的请求就是 VIP : Port

而真实服务器上只对 RealIP : Port进行处理,所以,这样转发就不通了



如果真实服务器将监听的端口绑定的IP设置为0.0.0.0,问题可以有效解决,真实服务器将会对 VIP : Port请求进行应答。


如果在真实服务器上面使用iptables 做个nat地址转换,应该也能解决,仅将本机收到的 VIP : Port 请求 转换为 Real IP : Port请求,这样应该是个好方法,有没有人进行过研究 ?

论坛徽章:
3
处女座
日期:2014-11-05 11:02:4315-16赛季CBA联赛之四川
日期:2015-12-10 14:37:4015-16赛季CBA联赛之天津
日期:2017-09-08 18:39:34
发表于 2012-07-03 22:53 |显示全部楼层
本帖最后由 godymoon 于 2012-07-03 23:06 编辑

求 LVS 高手

论坛徽章:
3
处女座
日期:2014-11-05 11:02:4315-16赛季CBA联赛之四川
日期:2015-12-10 14:37:4015-16赛季CBA联赛之天津
日期:2017-09-08 18:39:34
发表于 2012-07-03 22:59 |显示全部楼层
本帖最后由 godymoon 于 2012-07-03 23:23 编辑

iptables  配置 dnat转发,没有搞定啊

论坛徽章:
0
发表于 2015-01-30 18:56 |显示全部楼层
我这样试了下:
在real机器上添加如下规则
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport  Port  -j DNAT --to VIP : Port
测试好像可以耶
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP