Problem
Wenn auf Cisco Secure Firewall Firepower-Plattformen (Versionen 7.6.4, 7.7 und 10.0.0) mehrere SSH-Sitzungen auf demselben Gerät aktiv sind, wird durch Ausführen eines lang laufenden Befehls (z. B. eines kontinuierlichen Pings) in einer Sitzung mithilfe der CLISH-CLI verhindert, dass andere CLI-Befehle in anderen Sitzungen oder CLISH ausgeführt werden. Beispiel: Wenn ein Administrator einen kontinuierlichen Ping in einer SSH-CLISH-Sitzung startet und versucht, show-Befehle in einer anderen CLISH-Sitzung auszuführen, hängen die nachfolgenden Befehle, bis der lang ausgeführte Befehl beendet oder abgebrochen wird. In bestimmten Versionen kann der lang ausgeführte Ping nicht von CLISH abgebrochen werden, was zu einem CLISH- oder Bereitstellungsabsturz führt. Die direkte Verwendung des Expertenmodus oder des LINA-Moduls (über den Systemsupport diagnose-CLI) ermöglicht den Betrieb ohne dieses Blockierungsverhalten.
Umwelt
- Hardwareplattformen für die Cisco Secure Firewall FirePOWER: Serien 1000, 1200 und 4200
- Softwareversionen: 7.6.4, 7.7, 10.0.0
- Mehrere SSH-Sitzungen (gleiche oder verschiedene Benutzer) mit demselben Gerät
- CLISH CLI-Schnittstelle
- Nutzung des Expertenmodus und der LINA-Diagnose-CLI
- Getestet mit Befehlen:
ping, traceroute, show sip, show ip, show conn, show xlate
- Ausgabe reproduziert auf den Appliances FPR1010, FPR1200 und FPR4200
- Verwandte Mängel: CSCws82823, CSCwb84748
Auflösung
Das Problem zeigt folgende Symptome:
- Richten Sie zwei SSH-Sitzungen mit dem Gerät unter Verwendung unterschiedlicher oder identischer Benutzeranmeldeinformationen ein.
- Führen Sie in Sitzung 1 einen lang laufenden Ping mit einer hohen Anzahl von Wiederholungen aus der FTD CLISH-Eingabeaufforderung aus.
> ping 1.1.1.1 repeat 2000
ACHTUNG: Wenn Sie Tests mit einer geringeren Anzahl von Nummern durchführen, kann es Stunden dauern, bis eine Zahl wie 2000 erreicht ist.
HINWEIS: Ein Ping/eine Traceroute in CLISH zeigt keine Fortschrittszeichen an, wie sie normalerweise direkt in der LINA-CLI angezeigt werden.
- Versuchen Sie in Sitzung 2, einen anderen LINA-Befehl in CLISH auszuführen, z. B. "show sip".
> show sip
- Der Befehl in Sitzung 2 wird erst abgeschlossen, wenn der Ping in Sitzung 1 beendet ist oder abgebrochen wurde.
Diese Auflösung ist verfügbar:
- Brechen Sie den verlängerten Befehl mit Strg+C ab, um zu verhindern, dass CLISH nicht mehr reagiert und die Bereitstellung gestoppt wird.
- In betroffenen Versionen können lang laufende Pings in CLISH nicht durch Strg+C oder durch Schließen der SSH-Sitzung abgebrochen werden.
- Wenn versucht wird, wird der Backend-Prozess fortgesetzt, und CLISH bleibt für andere LINA-Befehle gesperrt.
- Wenn sich die FTD in einem solchen Zustand befindet oder vermutet wird, dass die FTD in einen solchen Zustand mit einem angehaltenen, verlängerten Ping eingetreten ist, ist ein Neustart der FTD erforderlich, um sich zu erholen.
- Führen Sie LINA-Befehle direkt mit dem LINA-Modul aus, um ein CLISH-/Bereitstellungsabstürzen zu vermeiden. Diese Methode zeigt nicht das fehlerhafte Verhalten.
> system support diagnostic-cli
firepower# ping 1.1.1.1 repeat 2000
- Befehle, die über die LINA-Diagnose-CLI ausgeführt werden, blockieren CLISH oder Bereitstellungsprozesse in anderen Sitzungen nicht. Die Systemunterstützung "diagnostic-CLI" lässt jedoch nur einen CLI-Benutzer pro Sitzung zu.
Weitere Überlegungen und Anmerkungen:
- Traceroute-Befehle können in der Regel in CLISH abgebrochen werden. Sie können jedoch auch in anderen Sitzungen zu einer vorübergehenden Unterbrechung (~3 Minuten) neuer LINA-Befehle führen.
- Bereitstellungsvorgänge, die vom Secure Firewall Management Center oder vom Gerätemanager initiiert werden, können verzögert oder blockiert werden, wenn in CLISH ein lang ausgeführter Ping aktiv ist, da beide Prozesse synchrone Methoden verwenden und auf den Abschluss warten (bis zu 10 Minuten).
- Dieses Blockierverhalten ist konstruktiv für synchrone Prozessabläufe ausgelegt, die Unmöglichkeit des Abbruchs wurde jedoch durch den Defekt bedingt.
Ursache
Die Ursache hierfür ist ein Fehler (Cisco Bug-ID CSCws82823), der versehentlich erforderlichen Code aus bestimmten CLI-Befehlen in CLISH entfernt hat, sodass die LINA-Engine Befehle nicht richtig erkennen und verwalten konnte. Dies führte zum Verlust der Abbruchfunktion Strg+C und verursachte, dass CLISH blockiert wurde, wodurch andere Befehle und Bereitstellungsvorgänge blockiert wurden, bis der lang ausgeführte Befehl abgeschlossen war. Das Blockierungsverhalten beruht auf der synchronen CLISH-Befehlsverarbeitung.
Verwandte Inhalte