Keepalived定期发送免费ARP

有没有办法让keepalived定期发送免费ARP?

我们有以下情况:

  1. 交换机故障(VLAN设置)
  2. keepalived失败备份实例
  3. 备份实例发送免费ARP,但Cisco ASA设备没有得到它(因为交换机故障)
  4. 当交换机恢复时(几分钟后),VIP无法访问,因为ASA没有刷新ARP表(ARP表过期设置为4h)
  5. 因为ASA已经有来自之前活动节点的MAC,所以它没有发送ARP请求
  6. VIP直到我们重新启动新的GARP的keepalived实例才无法访问

所以我们认为我们可以用定期的GARP来避免这种情况。 这是一个很好的方法,有没有办法在keepalived内做到这一点?

任何其他的build议,以避免这种问题?

Keepalivedconfiguration:

global_defs { notification_email { [email protected] } notification_email_from SERVER_1 smtp_server smtp.server.local smtp_connect_timeout 30 router_id SERVER_1 } vrrp_instance V1 { state BACKUP nopreempt interface eth0 lvs_sync_daemon_interface eth0 virtual_router_id 150 priority 120 advert_int 1 persistence_timeout 0 smtp_alert authentication { auth_type PASS auth_pass xxx } virtual_ipaddress { 10.xxx.xxx.xxx } } 

keepalived版本1.2.20及以上版本支持关于免费ARPconfiguration设置,vrrp_garp_master_refresh是我所需要的。

  # delay for second set of gratuitous ARPs after transition to MASTER vrrp_garp_master_delay 10 # seconds, default 5, 0 for no second set # number of gratuitous ARP messages to send at a time after transition to MASTER vrrp_garp_master_repeat 1 # default 5 # delay for second set of gratuitous ARPs after lower priority advert received when MASTER vrrp_garp_lower_prio_delay 10 # number of gratuitous ARP messages to send at a time after lower priority advert received when MASTER vrrp_garp_lower_prio_repeat 1 # minimum time interval for refreshing gratuitous ARPs while MASTER vrrp_garp_master_refresh 60 # secs, default 0 (no refreshing) # number of gratuitous ARP messages to send at a time while MASTER vrrp_garp_master_refresh_repeat 2 # default 1 # Delay in ms between gratuitous ARP messages sent on an interface vrrp_garp_interval 0.001 # decimal, seconds (resolution usecs). Default 0. # Delay in ms between unsolicited NA messages sent on an interface vrrp_gna_interval 0.000001 # decimal, seconds (resolution usecs). Default 0.