Problema
Sulle piattaforme Cisco Secure Firewall Firepower (versioni 7.6.4, 7.7 e 10.0.0), quando più sessioni SSH sono attive sullo stesso dispositivo, l'esecuzione di un comando di lunga durata (ad esempio, un ping continuo) in una sessione usando CLISH CLI impedisce il completamento di altri comandi CLI in altre sessioni o CLISH. Ad esempio, se un amministratore avvia un ping continuo in una sessione CLISH e tenta di eseguire i comandi show in un'altra sessione CLISH, i comandi successivi si interrompono finché il comando di lunga durata non viene completato o interrotto. In alcune versioni, il ping di lunga durata non può essere interrotto da CLISH, a un blocco di CLISH o di distribuzione. L'utilizzo diretto della modalità Expert o del motore LINA (tramite supporto di sistema diagnostic-cli) consente il funzionamento senza questo comportamento di blocco.
Ambiente
- Piattaforme hardware Cisco Secure Firewall Firepower: serie 1000, 1200 e 4200
- Versioni software: 7.6.4, 7.7, 10.0.0
- Sessioni SSH multiple (stesso utente o utenti diversi) sullo stesso dispositivo
- Interfaccia CLI di CLISH
- Modalità Expert e utilizzo CLI LINA Diagnostic
- Testato con i comandi:
ping, traceroute, show sip, show ip, show conn, show xlate
- Problema riprodotto sugli accessori FPR1010, FPR1200 e FPR4200
- Difetti correlati: CSCws82823, CSCwb84748
Risoluzione
Il problema mostra i seguenti sintomi:
- Stabilire due sessioni SSH per il dispositivo usando credenziali utente diverse o identiche.
- Nella sessione 1, eseguire un ping di lunga durata con un numero elevato di ripetizioni dal prompt FTD CLISH.
> ping 1.1.1.1 repeat 2000
ATTENZIONE: se si esegue il test, provare con numeri inferiori, ad esempio 2000 potrebbe richiedere ore per il completamento.
NOTA: un comando ping/traceroute in CLISH non mostra caratteri di avanzamento come avviene normalmente nella CLI di LINA.
- Nella sessione 2, tentare di eseguire un altro comando LINA in CLISH, ad esempio "show sip".
> show sip
- Il comando nella sessione 2 non viene completato finché il ping nella sessione 1 non viene completato o non viene interrotto.
La risoluzione è disponibile al seguente indirizzo:
- Interrompere il comando iniziale prolungato con CTRL+C per evitare il blocco di CLISH e lo stallo della distribuzione.
- Nelle versioni interessate, i ping di lunga durata in CLISH non possono essere interrotti da Ctrl+C o chiudendo la sessione SSH.
- Se si tenta di eseguire questa operazione, il processo back-end continua e CLISH rimane bloccato per altri comandi LINA.
- Se l'FTD si trova in tale stato, o se si sospetta che l'FTD sia entrato in tale stato con un ping bloccato e prolungato, è necessario riavviare l'FTD per recuperare.
- Per evitare il blocco di CLISH/distribuzione, eseguire i comandi LINA utilizzando direttamente il motore LINA. Questo metodo non presenta il comportamento difettoso.
> system support diagnostic-cli
firepower# ping 1.1.1.1 repeat 2000
- I comandi eseguiti tramite l'interfaccia CLI di diagnostica LINA non bloccano i processi di distribuzione o CLISH in altre sessioni. Tuttavia, il supporto di diagnostic-cli da parte del sistema consente un solo utente CLI per sessione.
Ulteriori considerazioni e osservazioni:
- I comandi traceroute in genere possono essere interrotti in CLISH, ma possono causare un arresto temporaneo (~3 minuti) dei nuovi comandi LINA in altre sessioni.
- Le operazioni di distribuzione avviate da Centro gestione firewall protetto o Gestione dispositivi possono essere ritardate o bloccate se in CLISH è attivo un ping con esecuzione prolungata, in quanto entrambi i processi utilizzano metodi sincroni e attendono il completamento (fino a 10 minuti).
- Questo comportamento di blocco è progettato per le operazioni di processo sincrone; tuttavia, l'impossibilità di interrompere è stata introdotta dal difetto.
Causa
La causa principale è un difetto (ID bug Cisco CSCws82823) che ha rimosso inavvertitamente il codice richiesto da alcuni comandi CLI in CLISH, impedendo al motore LINA di riconoscere e gestire correttamente i comandi con esecuzione prolungata. Ciò ha causato la perdita della funzionalità di interruzione Ctrl+C e il blocco di CLISH, bloccando altri comandi e operazioni di distribuzione fino al completamento del comando con esecuzione prolungata. Il blocco è dovuto alla natura sincrona dell'elaborazione dei comandi CLISH.
Contenuto correlato