那些你不知道的LVS秘密!(5)
2023-05-02 来源:飞速影视
看不懂没关系, 既然要解决, 我们肯定是要深入剖析的, 下面我们来简单的翻译一下:
arp_ignore:定义对目标地址为本地IP的ARP询问不同的应答模式0 - (默认值): 回应任何网络接口上对任何本地IP地址的arp查询请求1 - 只回答目标IP地址是来访网络接口本地地址的ARP查询请求2 -只回答目标IP地址是来访网络接口本地地址的ARP查询请求,且来访IP必须在该网络接口的子网段内3 - 不回应该网络界面的arp请求,而只对设置的唯一和连接地址做出回应4-7 - 保留未使用8 -不回应所有(本地地址)的arp查询
好了我们设置的arp_ignore内核参数是1, 就是只回答目标IP地址是来访网络接口本地地址的ARP查询请求,即: 只回答本地网卡eth0上的ARP请求。
我们就拿上面的图举例:
LVS服务器:DIP: 绑定的网卡eth0: 192.168.1.110VIP: 绑定的网卡是lo:0: 192.168.147.150RS服务器:RIP: 绑定的网卡是eth0: 192.168.1.111VIP: 绑定的网卡lo:0: 192.168.147.150其实客户端在发送ARP请求的时候, 询问的是VIP的mac地址, LVS服务器进行了正确的ARP请求回应, 而当循环RS服务器的mac地址的时候, 这个时候, 我们网卡的IP地址是: 192.168.1.111/112, RS是做过阉割的, 所以不给与回应。
当LVS服务器发起ARP请求的时候, 循环192.168.1.111或者192.168.1.112的mac地址, 这个时候, RS本地的网卡地址, 就是LVS需要访问的ip地址, 就进行ARP请求的回应. 所有LVS服务器就缓存了RS服务器的mac地址。
上面的问题是不是都迎刃而解了,快来给我疯狂打call吧!
5. RS是如何做到, 直接返回给客户端的呢?
这个问题太好, 我们一般接收的请求, 应该都是哪里来, 哪里回, 那RS是如何做到直接返回个客户端的呢?
好的, 既然我们前面提到了在RS上进行设计linux内核参数的更改, 分别是arp_ignore和arp_announce两个内核参数, 既然arp_ignore是禁止arp请求的,我们上面已经介绍过了, arp_announce内核参数是做什么的嗯? 我们下面就来讲解一下这个参数的作用吧。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号