为了账号安全,请及时绑定邮箱和手机立即绑定

[幕客技术]负载均衡架构采用LVS中的nat和dr模式缺陷

继续上一篇关于“原理上搞懂LVS的DR和NAT模式缺陷,不看小心踩坑”,有很多人和幕客反应,希望了解更多这块的知识,幕客今天再继续介绍下更多的关于基于LVS+Nginx构建:

负载均衡的内容,大家如果有想法欢迎和我交流。

[幕客技术]负载均衡架构采用LVS中的nat和dr模式缺陷(续篇2)

一、nat模式架构缺陷补充

clientserver不能和nat模式的realserver在同一个网段。

什么意思呢?采用lvs的nat模式,可以支持realserver和lvs调度器同一个网段,但是客户端clientserver不能在同一个网段。
图片描述

这样的情况是不能的,如图:

[幕客技术]负载均衡架构采用LVS中的nat和dr模式缺陷(续篇2)

原因:nat模式,vip是放在lvs调度器上的,所以数据库从realserver返回给用户,必须得通过lvs调度器,
图片描述
但由于client端,和realserver在同一网络下,导致数据包直接通过mac地址表得二层交换就可以直接给用户端,从而响应得数据包不会通过lvs调度器了。

二、DR模式补充

需要防止arp抢夺,那么什么原理呢?

1、为什么会发生arp抢夺

说白了,就是交换机的arp列表mac记录信息被不同的机器发生争抢。

2、具体为什么呢

有两种情况会发生如下的情况:

1、当数据包通过lvs转发

我们都知道数据包,通过lvs会进行改写,如下:

clientip 222.112.12.2 --> Server 121.212.111.4

通过Server端的lvs将会作如下改下,如下:

(Client IP)222.112.12.2 (Client MAC) 6c:40:08:9f:64:c2 (Destination IP)222.112.12.2 (Real Server MAC) 6c:41:01:91:61:12

优先通过mac-address表记录了mac与port的信息,所以直接将包进行转发。

那么问题来了,这样就不会发生vip在交换机arp表中的抢夺了,其实不是,原因如下:

交换机,的arp表会记录vip和mac地址关系,当发生arp广播的时候,就会发生抢夺占用。

如果这个时候连接他们的同一个交换机下的一台业务服务器需要通过这个vip请求,这个时候,就会交换机的arp信息表就起作用了,把包转发到

了抢占的服务器上,而服务器并不能服务的。

大家明白了吗,后续4层、7层负载均衡将不断推出更多内容,

欢迎关注,幕客将分享更多技术内容!

点击查看更多内容
5人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
Python工程师
手记
粉丝
2万
获赞与收藏
3370

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消