简介
本文档介绍如何解决思科自适应安全设备故障切换或Firepower威胁防御高可用性对中的裂脑问题。
先决条件
要求
Cisco建议您了解ASA/FTD高可用性对(故障转移)如何工作 - 关于故障转移。
使用的组件
本文档不限于特定软件或硬件版本,适用于故障切换中支持的所有ASA/FTD部署。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
规则
有关文件规则的更多信息请参见“ Cisco技术提示规则”。
什么是Split-Brain?
Split-brain的情况是,ASA/FTD HA的单元无法在网络上检测到对方,因此两个单元都扮演主动角色。这会导致两台设备具有相同的接口IP地址和MAC地址,并且可能导致网络中的严重不一致,从而导致服务丢失。
要确定HA是否处于分割大脑中,请在两个单元上运行命令show failover state,并检查两个框是否都处于活动状态。
裂脑示例
主要单元:
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==
辅助单元:
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==
如果为相连设备上的活动IP地址学习的MAC地址不是所有设备都相同,则裂脑可能会导致故障。例如,考虑网络拓扑:
实验室拓扑结构
VMAC已分配给接口,如下所示。这样做可以使mac地址表易于理解:
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
注意:如果未配置VMAC,则主用设备始终采用主设备接口的MAC,备用设备始终采用辅助MAC。
当HA正常时,交换机上的MAC地址表:
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
如果故障转移链路发生故障,主用设备将保持主用状态,备用设备将保持备用状态。当单元未在故障切换链路上收到三个连续的HELLO消息时,单元会在每个数据接口(包括故障切换链路)上发送LANTEST消息,以验证对等体是否响应。ASA采取的操作取决于来自其他设备的响应。
可能的操作包括:
- 如果ASA在故障切换链路上收到响应,则它不进行故障切换。
- 如果ASA在故障切换链路上未收到响应,但在数据接口上收到响应,则设备不会故障切换。故障转移链路被标记为发生故障。您可以尽快恢复故障切换链路,因为当故障切换链路关闭时,设备无法故障切换至备用设备。
- 如果ASA在任何接口上都未收到响应,则备用设备会切换到活动模式并将另一设备分类为故障设备。这导致了脑部分裂的情形。
在此阶段,两个防火墙上的所有数据接口都充当活动单元。因此,主用和备用防火墙上的接口使用相同的IP和MAC地址。由于毒药arp条目,这会导致MAC地址表不一致,从而可能导致中断。
注意:故障切换链路负责故障切换对之间的数据通信:设备状态(主用/备用)、问候消息、网络链路状态、MAC地址交换、配置复制和同步。
如何主动防范故障切换问题
要主动防范裂脑状态,请执行以下操作:
脑部分裂的可能原因
如前所述,当故障切换链路接口之间的通信断开(单向或双向)时,会发生裂脑。最常见的原因是:
故障排除过程-流程图
为了对裂脑方案进行故障排除和解决,请使用以下流程图(从标记为Main的框开始)。有些问题在这里是无法解决的。在这些情况下,文档提供指向 Cisco 技术支持的链接。要打开服务请求,必须有有效的服务合同。
注意:在FTD部署中,请按照“系统支持诊断-cli”中的以下图表步骤操作。
故障排除流程图
从裂脑紧急恢复
要从拆分头脑中恢复网络,您需要确保流量仅到达两个防火墙中的一个;即,为活动IP获取的MAC地址全部指向单个设备。为此,您可以禁用设备上的故障切换,或将其完全切断网络。
- 在不传递流量的设备上禁用故障转移:
- 在ASA平台上,通过CLI导航到配置终端并输入no failover命令。
- 在FTD平台上,在Clish模式下输入configure high-availability suspend命令。
- 对于ASA,关闭数据接口。对于FTD,请关闭相连设备上的接口。或者,您也可以断开接口的物理连接。此外,您可以关闭设备电源,但这会限制您对设备的管理。有关执行此操作的步骤,请参阅设备配置指南。
注意:如果您发现即使在执行上述步骤后仍存在连接问题,所连接设备的ARP条目很可能已过时。检查上游和下游设备上的arp条目。要解决此问题,您可以刷新这些文件或强制正在运行的ASA/FTD向存在问题的接口IP发送garp数据包。要执行此操作,请在启用模式下运行命令(对于系统支持诊断CLI中的FTD)- debug menu ipaddrutl 6 <interface ip address>。
注意:如果您向TAC提交支持票证以解决与裂脑相关的问题,请共享本文档为TAC服务请求收集的数据部分中提到的信息。
要与TAC共享的数据
如果您需要提交TAC服务请求,请共享所提及的数据。
- 显示ASA/FTD-HA及其与相邻设备(包括故障切换接口)的物理连接的拓扑图。
- ASA上的show tech-support或运行FTD的平台上的故障排除文件的输出。
- 出现问题时,系统日志和时间戳将持续+/- 5分钟。
- FXOS故障排除文件(如果硬件是FPR设备)。
要生成FTD或FXOS的故障排除文件,请参阅Firepower故障排除文件生成过程。 打开TAC服务请求