_ignore),可以设定相应的级别来规避上述问题中的 1、2 两点;
2)对于问题 3,我们可以在数据报封装后指定路由经 lo 别名上的接口发送出去然
后再通过 eth0 网卡转发出去;
3)对于问题 4,我们只需要设定 vip 的广播地址为它自己即可;
arp_ignore 参数解释:响应 ARP 请求
设定请求的目标地址为本地 ip 时,对其 arp 的查询作不同的应答模式。默认有 8 个值,
我们只使用 2 个。
arp_ignore 为 0 时,表示无论哪块网卡收到 arp 查询请求,只要本机有此 mac 地址的网
卡,就给予回应。
arp_ignore 为 1 时,表示只有请求的 mac 地址是自己的网卡给予回应。比如一台服务
器有两块网卡,其中的一块网卡 eth0 收 arp 请求,但是请求的 mac 是本机的另一块网卡
eth1,那么这块网卡 eth1 就一定不会作出应答。
arp_announce 参数:向外通告 ARP
设定了网卡在向外部宣告自己 IP-MAC 时的级别。有 3 个值。
arp_announce 为 0 时,表示无论哪块网卡收到了 arp 的请求,只要发现本机有请求的
mac,就会响应。
arp_announce 为 1 时,表示尽量避免响应 ARP 请求中 MAC 不是本网卡的。如一个主机
有多块网卡,其中一块网卡接收到了 ARP 请求,发现所请求的 MAC 是本机另一块网卡的,
这个时候接收到 ARP 请求的这块网卡就尽量避免响应。
arp_announce 为 2 时,表示总是使用最合适的网卡来响应。一个主机有多块网卡,其
中一块网卡 eth0 接收到了 ARP 请求,发现所请求的 MAC 是本机另一块网卡 eth1 的,这个
时候接收到 ARP 请求的这块网卡就一定不响应,只有发现请求的 MAC 是自己的才给与响应。
(3)VS-DR 模式的特点:
1.保证前端路由将目标地址为 VIP 的报文全部发送给 DS,而不是 RS。
解决方案:
1)在前端路由做静态地址路由绑定,将对于 VIP 的地址仅路由到 DS 上。
存在问题:用户未必有权限操作路由,
2)arptables:在 arp 层次上实现 arp 解析时做防火墙规则,过滤 RS 响应 arp 请求,由
iptables 提供。
3)修改 RS 上内核参数(arp_ignore 和 arp_announce)将 RS 上的 VIP 配置在 lo 接口的
别名上,并限制不能响应对 VIP 地址的解析请求。(最常用)
2.RS 可以使用私有地址,也可以使用公网地址,如果使用公网地址,可以直接对 RIP 进行
直接访问。
3.RS 和 DS 必须在同一物理网络中(即必须是同一物理网络)。
4.所有的请求报文经由 DS,但响应报文必须不能经过 DS。
5.不支持地址转换,即整个过程和不转换 IP 地址,只转换 MAC 地址。也不支持端口映射。
6.RS 可以使大多数操作系统