Introdução
Este documento descreve a correção de problemas de split brain em failover do Cisco Adaptive Security Appliance ou em pares de alta disponibilidade do Firepower Threat Defense.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento sobre como o ASA/FTD High Availability Pair (failover) funciona - Sobre o failover.
Componentes Utilizados
Este documento não se restringe a versões específicas de software ou hardware e se aplica a todas as implantações de ASA/FTD suportadas em failover.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Conventions
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
O que é o Split-Brain?
O split brain é um cenário em que as unidades de um ASA/FTD HA não conseguem detectar uma à outra na rede e, portanto, ambas assumem a função ativa. Isso faz com que ambas as unidades tenham o mesmo endereço IP e endereço MAC da interface e pode causar graves inconsistências em sua rede, resultando em perda de serviços.
Para identificar se o HA está em split brain, execute o comando show failover state nas duas unidades e verifique se ambas as caixas estão ativas.
Um exemplo de um cérebro dividido
Unidade principal:
ciscoasa1/act/pri# show failover state
State Last Failure Reason Date/Time
This host - Primary
Active None
Other host - Secondary
Failed Comm Failure 02:39:43 UTC Jan 10 2022
====Configuration State===
Sync Done - STANDBY
====Communication State==
Unidade secundária:
ciscoasa2/act/sec# show failover state
State Last Failure Reason Date/Time
This host - Secondary
Active None
Other host - Primary
Failed Comm Failure 02:39:40 UTC Jan 10 2022
====Configuration State===
Sync Done
Sync Done - STANDBY
====Communication State==
O split brain pode causar uma interrupção se o endereço MAC aprendido para os endereços IP ativos nos dispositivos conectados não forem todas as mesmas unidades. Por exemplo, considere a topologia de rede:
Topologia de laboratório
Os VMACs foram atribuídos à interface como mostrado. Isso foi feito para tornar a tabela de endereços mac fácil de entender:
Inside (G0/2) : Active MAC - 00c1.1000.aaaa
Standby MAC - 00c1.1000.bbbb
Outside (G0/4) : Active MAC - 00c1.2000.aaaa
Standby MAC - 00c1.2000.bbbb
Nota: Se os VMACs não estiverem configurados, o dispositivo Ativo sempre assumirá o MAC para a interface da unidade Primária e o standby assumirá o MAC Secundário.
Tabela de endereços MAC no switch quando o HA está íntegro:
Switch#show mac address-table
Mac Address Table
-------------------------------------------
Vlan Mac Address Type Ports
---- ----------- -------- -----
100 00c1.1000.aaaa DYNAMIC Gi1/0/5
100 00c1.1000.bbbb DYNAMIC Gi1/0/1
300 00c1.64bc.c508 DYNAMIC Gi1/0/4
300 00d7.8f38.8424 DYNAMIC Gi1/0/8
200 00c1.2000.aaaa DYNAMIC Gi1/0/7
200 00c1.2000.bbbb DYNAMIC Gi1/0/3
Se o link de failover falhar, a unidade ativa permanecerá ativa e o standby permanecerá em espera. Quando uma unidade não recebe três mensagens HELLO consecutivas no link de failover, a unidade envia mensagens LANTEST em cada interface de dados, incluindo o link de failover, para validar se o peer está respondendo ou não. A ação tomada pelo ASA depende da resposta da outra unidade.
As ações possíveis são:
- Se o ASA receber uma resposta no link de failover, ele não executará o failover.
- Se o ASA não receber uma resposta no link de failover, mas receber uma resposta em uma interface de dados, a unidade não executará o failover. O link de failover está marcado como com falha. Você pode restaurar o link de failover assim que possível, pois a unidade não pode executar failover para standby enquanto o link de failover estiver inativo.
- Se o ASA não receber uma resposta em nenhuma interface, a unidade de standby alterna para o modo ativo e classifica a outra unidade como falha. Isso leva a um cenário de split brain.
Nesse estágio, todas as interfaces de dados em ambos os firewalls atuam como se fossem a unidade ativa. Assim, as interfaces no firewall ativo e em espera usam os mesmos endereços IP e MAC. Isso leva a uma tabela de endereços MAC inconsistente devido à entrada de poison arp e, portanto, pode causar uma interrupção.
Observação: o link de failover é responsável pela comunicação desses dados entre o par de failover: Estado da Unidade (ativo/standby), mensagens de Hello, status do Link de Rede, troca de Endereço MAC, Replicação de Configuração e Sincronização.
Como se preparar proativamente contra problemas de failover
Para se preparar de forma proativa contra uma condição de split brain:
- Esteja na versão Golden recomendada pela Cisco - Sob certas condições, o split-brain também pode ser causado devido a problemas como vazamento de memória. As versões recomendadas pela Cisco reduzem significativamente a sua exposição a tais situações.
- Topologia de rede - é recomendável que as interfaces de dados e os links de failover tenham caminhos diferentes para diminuir a chance de todas as interfaces falharem ao mesmo tempo.
- Usar uma interface de canal de porta para a interface de failover - Se você tiver interfaces não utilizadas no firewall, emparelhe-as para formar um canal de porta e usá-lo como o link de failover, isso aumentará a confiabilidade do link e removerá um Ponto Único de Falha (SPOF).
- Garanta que a interface de failover não tenha muita latência - de acordo com o Guia de configuração do ASA "Para obter o melhor desempenho ao usar failover de longa distância, a latência do link de estado pode ser menor que 10 milissegundos e não mais que 250 milissegundos. Se a latência for superior a 10 milissegundos, ocorrerá alguma degradação no desempenho devido à retransmissão de mensagens de failover."
- Ajuste os valores do temporizador de polling/temporizador de espera de acordo com sua implantação - Não há uma abordagem única para todos os temporizadores de failover. Em geral, quando você baixa um temporizador, isso pode causar failovers desnecessários (especialmente se houver alguma latência), e um valor muito alto pode levar a um tempo maior para que um failover ocorra. Isso leva a failovers consideráveis. O valor do Timer de Retenção deve ser 5x o valor do Timer de Sondagem.
- Configuração de um endereço MAC virtual para interfaces - Sob uma condição em que "a unidade secundária inicializa sem detectar a unidade primária, a unidade secundária se torna a unidade ativa e usa seus próprios endereços MAC porque não conhece os endereços MAC da unidade primária. Quando a unidade primária se torna disponível, a unidade secundária (ativa) altera os endereços MAC para os da unidade primária, o que pode causar uma interrupção no tráfego da rede. Da mesma forma, se você trocar a unidade primária por um novo hardware, um novo endereço MAC será usado."
Os endereços MAC virtuais protegem contra essa interrupção, pois os endereços MAC ativos são conhecidos pela unidade secundária na inicialização e permanecem os mesmos no caso de um novo hardware de unidade primária. Se você não configurar endereços MAC virtuais, precisará limpar as tabelas ARP nos roteadores conectados para restaurar o fluxo de tráfego". Para obter mais detalhes, consulte - Endereços MAC e Endereços IP em Failover.
- Enviar registros ASA/FTD para ambas as unidades para um servidor Syslog externo - Esta etapa é mais para a facilidade de manutenção dos problemas.
Possíveis razões para a separação do cérebro
Como já mencionado, o split-brain ocorre quando a comunicação entre as interfaces de link de failover está inativa (unidirecionalmente ou bidirecionalmente). As razões mais comuns são:
Procedimento para Troubleshooting - Fluxograma
Para solucionar problemas e resolver um cenário de split brain, use este fluxograma, comece na caixa marcada como Main. Alguns problemas não podem ser resolvidos aqui. Nesses casos, são fornecidos links para o Suporte Técnico da Cisco. Para abrir uma solicitação de serviço, você deve ter um contrato de serviço válido.
Observação: em Implantações de FTD, siga as etapas deste gráfico em "system support diagnostics-cli".
Troubleshooting de Fluxograma
Recuperação de emergência do cérebro dividido
Para recuperar sua rede de um split brain, você precisa garantir que o tráfego atinja apenas um dos dois firewalls; ou seja, os endereços MAC aprendidos para os IPs ativos apontem todos para uma única unidade. Para fazer isso, você pode desativar o failover na unidade ou cortá-lo totalmente da rede.
- Desative o failover na unidade que não está passando tráfego:
- Na plataforma ASA, na CLI, navegue até o terminal de configuração e insira o comando no failover.
- Na plataforma FTD, no modo Clish, digite o comando configure high-availability suspend.
- Para o ASA, feche as interfaces de dados. Para FTD, desligue as interfaces no dispositivo conectado. Como alternativa, você também pode desconectar fisicamente as interfaces. Além disso, você pode desligar o dispositivo, mas isso limita o gerenciamento do dispositivo. Consulte o guia de configuração do dispositivo para obter as etapas necessárias.
Observação: se você observar problemas de conectividade mesmo depois de executar as etapas mencionadas, é provável que os dispositivos conectados tenham entradas arp obsoletas. Verifique as entradas arp nos dispositivos upstream e downstream. Para corrigir o problema, você pode descarregá-los ou forçar o ASA/FTD em funcionamento a enviar um pacote garp para o IP da interface que tem o problema. Para fazer isso, execute o comando no modo de habilitação (para FTD no Sistema suporta diagnostics-cli) - menu de depuração ipaddrutl 6 <endereço ip da interface>.
Cuidado: caso você abra um tíquete de suporte com o TAC para problemas relacionados a split brain, compartilhe as informações mencionadas na seção Dados a serem coletados para solicitação de serviço do TAC neste documento.
Dados a serem compartilhados com o TAC
Compartilhe os dados mencionados caso precise abrir uma solicitação de serviço do TAC.
- Diagrama de topologia que mostra o ASA/FTD-HA e suas conexões físicas com dispositivos vizinhos (incluindo interfaces de failover).
- Resultado do show tech-support no ASA ou do arquivo de solução de problemas em plataformas que executam o FTD.
- Syslogs junto com carimbos de data/hora por +/- 5 minutos quando o problema ocorreu.
- Arquivos de Troubleshooting de FXOS, se o hardware for um dispositivo FPR.
Para gerar arquivos de solução de problemas para FTD ou FXOS, consulte Procedimentos de geração de arquivos de solução de problemas do Firepower. Abra um TAC SR.