keepalived实现的VIP高可用当VIP发生漂移后跨网段的节点无法ping通VIP通过keepalived配置文件如何解决这个问题?
要解决跨网段节点无法ping通VIP的问题,可以通过在keepalived配置文件中添加以下两个参数来实现:
-
arp_ignore:这个参数用于控制是否忽略ARP请求。默认情况下,Linux会忽略来自于其他网络的ARP请求,因此当VIP发生漂移到其他网络时,跨网段的节点无法ping通VIP。通过设置arp_ignore为2,可以使节点响应来自其他网络的ARP请求。 -
arp_announce:这个参数用于控制ARP请求中的源IP地址。默认情况下,Linux会将ARP请求中的源IP地址设置为节点的实际IP地址,而不是VIP。通过设置arp_announce为2,可以使节点将ARP请求中的源IP地址设置为VIP。
下面是一个示例的keepalived配置文件,演示了如何使用这两个参数:
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass password
}
virtual_ipaddress {
192.168.1.100/24
}
track_interface {
eth0
}
notify /etc/keepalived/notify.sh
arp_ignore 2
arp_announce 2
}
在上述配置中,arp_ignore和arp_announce参数被设置为2,以确保节点可以响应来自其他网络的ARP请求,并将ARP请求中的源IP地址设置为VIP。这样,当VIP发生漂移到其他网络时,跨网段的节点就可以ping通VIP了
原文地址: https://www.cveoy.top/t/topic/it0O 著作权归作者所有。请勿转载和采集!