负载均衡集群中如何隐藏VIP-阿里云开发者社区

开发者社区> 余二五> 正文

负载均衡集群中如何隐藏VIP

简介:
+关注继续查看
负载均衡集群的试验中,需要对RealServer的VIP地址进行隐藏。
VIP地址隐藏应用于LVS-DR和LVS-TUN转发类型。
     当CIP第一次向VIP发送数据请求时,由于此前CIP并不知道VIP是由哪一台主机提供。因此CIP就需要向网段内所有主机发送寻找VIP的ARP广播。但是在该网段内有三台主机都配有VIP地址,并且这三个VIP所配的地址必须为同一个IP地址。可以想象的到,如果这三台主机都来回应CIP的ARP广播,那么CIP就会很困惑?究竟谁是VIP呢?
     为了避免出现这种情况的出现,可以对后台的RealServer主机的VIP进行隐藏。只让Director的VIP来响应CIP的ARP请求。
clip_image002
     那么如何来隐藏RealServer上的VIP呢?首先要来了解两个参数:arp_announce arp_ignore
arp_announce : INTEGER
     对网络接口上本地IP地址发出的ARP回应作出相应级别的限制.默认为0
    确定不同程度的限制,宣布对来自本地源IP地址发出Arp请求的接口
0   (默认) 在任意网络接口上的任何本地地址
1   尽量避免不在该网络接口子网段的本地地址. 当发起ARP请求的源IP地址是被设置应该经由路由达到此网络接口的时候很有用.此时会检查来访IP是否为所有接口上的子网段内ip之一.如果改来访IP不属于各个网络接口上的子网段内,那么将采用级别2的方式来进行处理.
 
2  对查询目标使用最适当的本地地址.在此模式下将忽略这个IP数据包的源地址并尝试选择与能与该地址通信的本地地址.首要是选择所有的网络接口的子网中外出访问子网中包含该目标IP地址的本地地址. 如果没有合适的地址被发现,将选择当前的发送网络接口或其他的有可能接受到该ARP回应的网络接口来进行发送
all/ 和{interface}/ 下两者同时比较,取较大一个值生效.
提高约束级别有益于从指定的目标接受应答,而降低级别可以给予更多的arp查询者以反馈信息
 
arp_ignore : INTEGER
   定义对目标地址为本地IP的ARP询问不同的应答模式 .默认为0
0  (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对10.1.1.1 的arp查询也会回应--而原本这个请求该是出现在eth1上,也该有eth1回应的).
 
1 只回答目标IP地址是来访网络接口本地地址的ARP查询请求(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,那么即使eth0收到来自10.1.1.2这样地址发起的对192.168.0.1的查询会回答,而对10.1.1.1 的arp查询不会回应).
 
2  只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内(比如eth0=192.168.0.1/24,eth1=10.1.1.1/24,eth1收到来自10.1.1.2这样地址发起的对192.168.0.1的查询不会回答,而对192.168.0.2发起的对192.168.0.1的arp查询会回应).
 
3  不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应(do not reply for local addresses configured with scope host,only resolutions for global and link addresses are replied ).
4-7  保留未使用.
8  不回应所有(本地地址)的arp查询.
all/ 和{interface}/ 下两者同时比较,取较大一个值生效.
 
 
临时修改arp_announce和arp_ignore:
echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
 
永久修改:
vim /etc/sysctl.conf
找到下面两行,修改其值为1或者2
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.eth0.arp_announce = 2









本文转自 linuxtro 51CTO博客,原文链接:http://blog.51cto.com/linuxtro/284502,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
负载均衡LVS集群详解
一、LB--负载均衡 在负载均衡集群中需要一个分发器,我们将其称之为Director,它位于多台服务器的上面的中间层,根据内部锁定义的规则或调度方式从下面的服务器群中选择一个以此来进行响应请求,而其分发的方式则是根据某个算法进行的。
779 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
8433 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8371 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
11831 0
Nginx + Shiro + Ehcache 实现负载均衡集群(成绩报告查询系统)
项目介绍 最近在做一款产品,对外提供学生成绩报告的查询,支付,查看以及下载等一系列功能,这里就简称成绩报告查询系统吧。 初步参赛人数十万左右,可能会存在相对高的并发同时在线,所以开发阶段就对负载均衡集群做了设计。
4494 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载