Назад | Перейти на главную страницу

Keepalived периодически отправляет бесплатный ARP

Есть ли способ для службы поддержки активности периодически отправлять бесплатный ARP?

У нас была следующая ситуация:

  1. отказ коммутатора (настройка VLAN)
  2. Keepalived отказался от резервного экземпляра
  3. резервный экземпляр отправил бесплатный ARP, но устройство Cisco ASA не получило его (из-за отказа коммутатора)
  4. когда коммутатор был восстановлен (несколько минут спустя) VIP-адреса были недоступны, потому что ASA не обновляла таблицу ARP (срок действия таблицы ARP установлен на 4 часа)
  5. поскольку у ASA уже были MAC-адреса от ранее активного узла, он не отправлял запрос ARP
  6. VIP были недоступны, пока мы не перезапустили экземпляр keepalived, что инициировало новый GARP

Итак, мы думаем, что могли бы избежать этой ситуации с периодическими GARP. Это хороший подход и есть ли способ сделать это с помощью keepalived?

Есть ли другие предложения, чтобы избежать подобных проблем?

Конфигурация Keepalived:

global_defs {
   notification_email {
     email@address.com
   }

   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 и выше поддерживает следующие настройки конфигурации, касающиеся бесплатного ARP, 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.