arp_announce和arp_ignore 明白解说
2015-08-12 14:45
363 查看
LVS realserver lo端口配置中涉及到调整两个网络参数 arp_announce=2 和 arp_ignore=1,忽略官方文档复杂晦涩的表述,其实我们可以这样理解:
arp_ignore=2 表示对于网络上发来的arp广播包,realserver的lo端口将会丢弃,因为如果做出应答,根据arp协议,相当于通告网络上其它主机VIP对应的Mac地址是realserver的Mac地址,而不是lvs的Mac地址,这样客户端上就会绕过lvs,直接与后端的realserver通信,负载调度就失去了意义;
arp_announce:
realserver 一般至少两个端口 两个ip,eth0 有ip,lo:0也绑定了一个vip,根据arp协议,
arp请求包中必须包含源主机的ip地址和Mac地址,对方收到请求包后,记录下该源地址和Mac地址,建立一对一的映射,那么对于这种多IP的情况,realserver发送arp请求报的时候该如何取舍,将哪个ip作为源地址?
参数arp_anonunce 正好是用来解决这个问题的,arp_announce=2 官方表述为使用最适当的本地地址,其实就是将eth0上的ip作为源地址,如果将vip作为源地址,对方就会将vip与realserver的mac地址映射起来,导致请求包都发给realserver,而不经过lvs.
arp_ignore=2 表示对于网络上发来的arp广播包,realserver的lo端口将会丢弃,因为如果做出应答,根据arp协议,相当于通告网络上其它主机VIP对应的Mac地址是realserver的Mac地址,而不是lvs的Mac地址,这样客户端上就会绕过lvs,直接与后端的realserver通信,负载调度就失去了意义;
arp_announce:
realserver 一般至少两个端口 两个ip,eth0 有ip,lo:0也绑定了一个vip,根据arp协议,
arp请求包中必须包含源主机的ip地址和Mac地址,对方收到请求包后,记录下该源地址和Mac地址,建立一对一的映射,那么对于这种多IP的情况,realserver发送arp请求报的时候该如何取舍,将哪个ip作为源地址?
参数arp_anonunce 正好是用来解决这个问题的,arp_announce=2 官方表述为使用最适当的本地地址,其实就是将eth0上的ip作为源地址,如果将vip作为源地址,对方就会将vip与realserver的mac地址映射起来,导致请求包都发给realserver,而不经过lvs.
相关文章推荐
- LVS+Keepalived构建高可用负载均衡(测试篇)
- LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)
- linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结
- LVS+Keepalived构建高可用负载均衡配置方法(配置篇)
- LVS 负载均衡概念篇
- linux技术应用
- LVS+keepalived
- CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
- keepalived原理使用和配置
- 如何用DNS+GeoIP+Nginx+Varnish做世界级的CDN
- LVS
- LVS+keepalived配置
- LVS负载均衡
- Keepalived+LVS+Mysql-Cluster(7.1.10)架构方案
- 直接路由模式lvs
- 关于lvs的activeconn超级大的问题
- IPvsadm的命令参数详解
- LVS、HAProxy、Nginx的特点及区别
- nginx LVS Haproxy对比
- LVS集群中的IP负载均衡技术