簡介
本文描述如何解決思科自適應安全裝置(ASA)故障轉移或Firepower威脅防禦(FTD)高可用性(HA)對中遇到的常見拆分問題。
必要條件
需求
思科建議您瞭解ASA/FTD高可用性對(故障轉移)的運作方式 — 關於故障轉移。
採用元件
本文檔不限於特定軟體或硬體版本,並且適用於故障切換中所有支援的ASA/FTD部署。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
慣例
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
什麼是Split-Brain?
Split-brain是一種場景,其中ASA/FTD HA的單元無法在網路上檢測到對方,因此兩者都扮演主動角色。這會導致兩個裝置具有相同的介面IP地址和MAC地址,並且可能導致網路中的嚴重不一致而導致服務丟失。
要確定您的HA是否處於拆分腦,請在兩台裝置上運行命令show failover state,並檢查兩台裝置是否均處於活動狀態。
Split-brain示例:
主裝置:
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 address-table易於理解:
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地址表,從而導致中斷。
附註:故障轉移鏈路負責故障轉移對之間的資料通訊:裝置狀態(活動/備用)、Hello消息、網路鏈路狀態、MAC地址交換、配置複製和同步。
如何主動預防故障切換問題
要主動做好應對大腦分裂狀況的準備:
大腦分裂的可能原因
如前所述,當故障切換鏈路介面之間的通訊發生故障時(單向或雙向),將發生拆分。 最常見的原因包括:
故障排除過程 — 流程圖
若要疑難排解和解決大腦分裂的情況,請使用此流程圖,從標籤為Main的框開始。有些問題在此可能無法解決。在這些情況下,會提供指向思科技術支援的連結。若要開啟服務請求,您必須擁有有效的服務合約。
注意:在FTD部署中,必須從「system support diagnostics-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>。
注意:如果您針對Split-brain相關問題向TAC開啟支援票證,請共用本文檔中為TAC服務請求收集的資料部分中提到的資訊。
要與TAC共用的資料
如果需要開啟TAC服務請求,請共用提及的資料。
- 顯示ASA/FTD-HA及其與相鄰裝置(包括故障轉移介面)的物理連線的拓撲圖。
- ASA上的show tech-support輸出或運行FTD的平台上的故障排除檔案輸出。
- 系統日誌以及發生問題的時間戳+/- 5分鐘。
- 如果硬體是FPR裝置,則FXOS故障排除檔案。
若要產生有關FTD或FXOS的疑難排解檔案,請參閱Firepower疑難排解檔案產生程式。開啟TAC SR。