Keepalived envia periodicamente o ARP gratuitamente

5

Existe uma maneira de um keepalived enviar periodicamente um ARP gratuito?

Tivemos a seguinte situação:

    Falha de switch
  1. (configuração de VLAN)
  2. failovered keepalived para a instância de backup
  3. instância de backup enviou o ARP gratuito, mas o dispositivo Cisco ASA não o obteve (devido a falha do switch)
  4. quando o switch foi recuperado (poucos minutos depois) os VIPs foram inacessíveis porque o ASA não atualizou a tabela ARP (a expiração da tabela ARP está definida para 4h)
  5. como o ASA já tinha os MACs do nó anteriormente ativo, ele não enviou a solicitação ARP
  6. O VIP estava inacessível até que reiniciamos a instância de keepalived que iniciou o novo GARP

Então, pensamos que poderíamos evitar essa situação com os GARPs periódicos. Esta é uma boa abordagem e há uma maneira de fazê-lo dentro do keepalived?

Alguma outra sugestão para evitar esse tipo de problema?

Configuração com manutenção de energia:

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
    }
}
    
por user373333 20.12.2016 / 14:09

1 resposta

7

As versões mantidas com suporte 1.2.20 e acima suportam as configurações de configuração referentes ao ARP gratuito, vrrp_garp_master_refresh é o que eu preciso.

    # 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.
    
por 21.12.2016 / 11:34