Einleitung
In diesem Dokument wird die Behebung von Problemen bei der Split-Brain-Technik bei Failover-Vorgängen für Cisco Adaptive Security Appliances oder bei Hochverfügbarkeitspaaren von Firepower Threat Defense beschrieben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie wissen, wie ASA/FTD High Availability Pair (Failover) funktioniert - Info zu Failover.
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- oder Hardwareversionen beschränkt und gilt für alle unterstützten ASA-/FTD-Bereitstellungen in Failover-Umgebungen.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konventionen
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Was ist Split-Brain?
Split-brain ist ein Szenario, in dem die Einheiten einer ASA/FTD HA sich nicht gegenseitig im Netzwerk erkennen können und daher beide die aktive Rolle übernehmen. Dies führt dazu, dass beide Geräte über dieselbe Schnittstellen-IP-Adresse und MAC-Adresse verfügen, und kann zu erheblichen Inkonsistenzen in Ihrem Netzwerk führen, die zum Verlust von Services führen können.
Um festzustellen, ob sich Ihre HA in Split-Brain befindet, führen Sie den Befehl show failover state auf beiden Geräten aus, und überprüfen Sie, ob beide Kontrollkästchen aktiviert sind.
Ein Beispiel für ein Split-Brain
Primäreinheit:
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==
Sekundäreinheit:
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==
Split-brain kann einen Ausfall verursachen, wenn die für die aktiven IP-Adressen auf den verbundenen Geräten ermittelten MAC-Adressen nicht alle dieselben Einheiten sind. Betrachten Sie beispielsweise die Netzwerktopologie:
Labortopologie
Der Schnittstelle wurden wie dargestellt VMACs zugewiesen. Dies wurde getan, um die MAC-Adresstabelle leicht verständlich zu machen:
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
Hinweis: Wenn keine VMACs konfiguriert sind, übernimmt das aktive Gerät immer die MAC für die Schnittstelle der primären Einheit, und im Standby-Modus die sekundäre MAC.
MAC-Adresstabelle auf Switch bei fehlerfreiem HA:
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
Wenn die Failover-Verbindung ausfällt, bleibt die aktive Einheit aktiv, und der Standby-Modus bleibt im Standby-Modus. Wenn eine Einheit nicht drei aufeinander folgende HELLO-Nachrichten auf der Failover-Verbindung empfängt, sendet die Einheit LANTEST-Nachrichten auf jeder Datenschnittstelle, einschließlich der Failover-Verbindung, um zu überprüfen, ob der Peer reagiert. Welche Aktion die ASA ausführt, hängt von der Antwort der anderen Einheit ab.
Mögliche Maßnahmen sind:
- Wenn die ASA eine Antwort über die Failover-Verbindung erhält, erfolgt kein Failover.
- Wenn die ASA keine Antwort über die Failover-Verbindung, aber eine Antwort über eine Datenschnittstelle erhält, führt das Gerät kein Failover aus. Die Failover-Verbindung ist als ausgefallen markiert. Sie können die Failover-Verbindung so schnell wie möglich wiederherstellen, da das Gerät nicht in den Standby-Modus versetzt werden kann, während die Failover-Verbindung ausgefallen ist.
- Wenn die ASA an keiner Schnittstelle eine Antwort erhält, schaltet das Standby-Gerät in den aktiven Modus und klassifiziert das andere Gerät als ausgefallen. Dies führt zu einem Split-Brain-Szenario.
Zu diesem Zeitpunkt verhalten sich alle Datenschnittstellen auf beiden Firewalls so, als wären sie die aktive Einheit. Schnittstellen auf der aktiven und der Standby-Firewall verwenden also dieselbe IP- und MAC-Adresse. Dies führt zu einer inkonsistenten MAC-Adresstabelle, die durch einen Gift-ARP-Eintrag verursacht wird, und kann daher zu einem Ausfall führen.
Hinweis: Die Failover-Verbindung ist für die Kommunikation dieser Daten zwischen dem Failover-Paar zuständig: Unit State (aktiv/Standby), Hello-Nachrichten, Network Link Status, MAC Address Exchange, Config Replication und Sync.
Proaktive Vorbereitung auf Failover-Probleme
So bereiten Sie sich proaktiv auf eine Split-Brain-Situation vor:
- Nehmen Sie an der von Cisco empfohlenen Golden Release teil - Unter bestimmten Bedingungen kann Split-Brain auch durch Probleme wie ein Speicherleck verursacht werden. Von Cisco empfohlene Versionen reduzieren das Risiko in solchen Situationen deutlich.
- Netzwerktopologie - Es wird empfohlen, dass die Datenschnittstellen und die Failover-Verbindungen unterschiedliche Pfade haben, um das Risiko eines gleichzeitigen Ausfalls aller Schnittstellen zu verringern.
- Verwendung einer Port-Channel-Schnittstelle für die Failover-Schnittstelle: Wenn Sie nicht verwendete Schnittstellen in Ihrer Firewall haben, diese zu einem Port-Channel koppeln und als Failover-Verbindung verwenden, erhöht dies die Zuverlässigkeit der Verbindung und entfernt einen Single Point of Failure (SPOF).
- Stellen Sie sicher, dass die Failover-Schnittstelle keine zu hohe Latenz aufweist. - Wie im ASA-Konfigurationsleitfaden beschrieben, kann die Latenz für die Statusverbindung bei Verwendung von Failover über große Entfernungen unter 10 Millisekunden und nicht über 250 Millisekunden liegen. Beträgt die Latenz mehr als 10 Millisekunden, führt dies aufgrund der erneuten Übertragung von Failover-Meldungen zu einer gewissen Leistungsminderung."
- Passen Sie die Werte für den Abfragezeitgeber/den Haltezeitgeber entsprechend Ihrer Bereitstellung an - Es gibt keinen Einheitsansatz für Failover-Timer. Im Allgemeinen kann ein niedriger Timer unnötige Failover-Ereignisse verursachen (insbesondere bei einer gewissen Latenz), und ein zu hoher Wert kann zu einer längeren Wartezeit für ein Failover führen. Dies führt zu merklichen Failovern. Der Wert für den Hold-Timer muss dem 5fachen Wert für den Poll-Timer entsprechen.
- Konfigurieren einer virtuellen MAC-Adresse für Schnittstellen: Wenn die sekundäre Einheit startet, ohne die primäre Einheit zu erkennen, wird die sekundäre Einheit zur aktiven Einheit und verwendet ihre eigenen MAC-Adressen, da sie die MAC-Adressen der primären Einheit nicht kennt. Sobald die primäre Einheit wieder verfügbar ist, ändert die sekundäre (aktive) Einheit die MAC-Adressen in die der primären Einheit, was zu einer Unterbrechung des Netzwerkverkehrs führen kann. Ebenso wird eine neue MAC-Adresse verwendet, wenn Sie die primäre Einheit durch neue Hardware ersetzen."
Virtuelle MAC-Adressen schützen vor dieser Unterbrechung, da die aktiven MAC-Adressen dem sekundären Gerät beim Start bekannt sind und bei neuer Hardware des primären Geräts gleich bleiben. Wenn Sie keine virtuellen MAC-Adressen konfigurieren, müssen Sie die ARP-Tabellen der verbundenen Router löschen, um den Datenverkehrsfluss wiederherzustellen." Weitere Informationen finden Sie unter - MAC-Adressen und IP-Adressen in Failover.
- ASA-/FTD-Protokolle für beide Einheiten an einen externen Syslog-Server senden - Dieser Schritt dient eher der Wartbarkeit von Problemen.
Mögliche Gründe für Split-Brain
Wie bereits erwähnt, tritt Split-Brain auf, wenn die Kommunikation zwischen den Schnittstellen der Failover-Verbindung unterbrochen ist (unidirektional oder bidirektional). Die häufigsten Gründe sind:
- L1-Probleme - fehlerhaftes Kabel/SFP/Schnittstelle
- Ein Problem bei einem zwischengeschalteten Gerät
- Fehlende Arbeitsspeicher- oder CPU-Ressourcen auf ASA/FTD
Hinweis: Die ASA/Lina Engine verwendet 1550-Byte-Speicherblöcke zum Speichern von Paketen für die Verarbeitung. Wenn die Anzahl der freien Blöcke dieser Größe die ASA/FTD erschöpft, kann sie keine Failover-Pakete mehr verarbeiten. Führen Sie show blocks aus, um die Blockverarmung zu überprüfen.
Fehlerbehebung - Flussdiagramm
Um ein Split-Brain-Szenario zu beheben und zu beheben, verwenden Sie dieses Flussdiagramm, beginnen Sie mit dem Feld Main. Es gibt einige Probleme, die hier nicht lösbar sind. In diesen Fällen werden Links zum technischen Support von Cisco bereitgestellt. Zum Öffnen einer Serviceanfrage benötigen Sie einen gültigen Servicevertrag.
Hinweis: Befolgen Sie bei FTD-Bereitstellungen die Schritte in diesem Diagramm unter "system support diagnostics-cli".
Fehlerbehebung - Flussdiagramm
Notfallwiederherstellung durch Split-Brain
Um Ihr Netzwerk von einem Split-Brain wiederherzustellen, müssen Sie sicherstellen, dass der Datenverkehr nur eine der beiden Firewalls erreicht, d. h. die für die aktiven IPs ermittelten MAC-Adressen verweisen alle auf eine einzige Einheit. Zu diesem Zweck können Sie Failover auf dem Gerät deaktivieren oder es vollständig vom Netzwerk trennen.
- Deaktivieren Sie Failover auf dem Gerät, das den Datenverkehr nicht weiterleitet:
- Navigieren Sie auf der ASA-Plattform über die CLI zum Konfigurationsterminal, und geben Sie den Befehl no failover (Kein Failover) ein.
- Geben Sie auf der FTD-Plattform über den Clish-Modus den Befehl configure high-availability suspend ein.
- Für ASA: Beenden Sie die Datenschnittstellen. Für FTD schließen Sie die Schnittstellen am angeschlossenen Gerät. Alternativ können Sie die Verbindungen auch physisch trennen. Sie können das Gerät auch ausschalten, was die Verwaltung des Geräts jedoch erschwert. In der Gerätekonfigurationsanleitung finden Sie die entsprechenden Schritte.
Hinweis: Wenn Sie Verbindungsprobleme bemerken, auch nachdem Sie die genannten Schritte ausgeführt haben, verfügen die verbundenen Geräte wahrscheinlich über veraltete ARP-Einträge. Überprüfen Sie ARP-Einträge auf Upstream- und Downstream-Geräten. Um das Problem zu beheben, können Sie diese entweder leeren oder die funktionsfähige ASA/FTD zwingen, ein Garp-Paket für die Schnittstellen-IP-Adresse zu senden, die das Problem verursacht. Führen Sie dazu den Befehl im privilegierten Modus aus (für FTD im System unterstützt diagnostics-cli) - debug menu ipaddrutl 6 <interface ip address>.
Achtung: Wenn Sie ein Support-Ticket mit dem TAC für Probleme im Zusammenhang mit Split-Brain eröffnen, geben Sie die in diesem Dokument unter Abschnitt Zu erfassende Daten für TAC-Serviceanfragen genannten Informationen weiter.
Mit TAC gemeinsam zu nutzende Daten
Geben Sie die genannten Daten weiter, falls Sie ein TAC-Serviceticket erstellen müssen.
- Topologiediagramm, das ASA/FTD-HA und die physischen Verbindungen mit benachbarten Geräten (einschließlich Failover-Schnittstellen) zeigt.
- Ausgabe für Show Tech-Support auf ASA oder Fehlerbehebungsdatei auf Plattformen, die FTD ausführen.
- Syslogs zusammen mit Zeitstempeln für +/- 5 Minuten, wenn das Problem auftrat.
- FXOS-Fehlerbehebungsdateien, wenn die Hardware eine FPR-Appliance ist.
Informationen zum Generieren von Fehlerbehebungsdateien für FTD oder FXOS finden Sie unter Verfahren zur Fehlerbehebung bei Firepower-Dateien. Öffnen Sie einen TAC-Serviceticket.