Cisco IOS: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Funzionalità collegamenti suggeriti: 2 collegamenti inseriti.
 
(62 versioni intermedie di 33 utenti non mostrate)
Riga 1:
In [[informatica]] '''Cisco IOS''' (originariamente '''Internetwork Operating System''') è un [[sistema operativo]] per [[dispositivi di rete]] [[Router|instradatori (router)]] e [[Switch|commutatori (switch)]] della dittadell'azienda [[Cisco Systems]], [[installazione (informatica)|installato]] attualmente su tutti igli commutatoriswitch e sulla maggior parte deglidel instradatorirouter della stessaazienda dittastessa, che costituiscono circa l'80% dei router della [[Internet|rete mondiale]]. Si tratta di un sistema molto semplice senza [[interfaccia grafica]] bensì a [[riga di comando]].
 
Si tratta di un sistema molto semplice senza [[interfaccia grafica]] bensì a [[riga di comando]]. A seconda dei diritti di lettura, scrittura ed esecuzione dell'operatore e della modalità con cui egli ha avuto accesso (permessi), il sistema mette a disposizione una serie di [[istruzione (informatica)|comandi]] predefiniti: nella modalità di [[configurazione (informatica)|configurazione]] globale si può configurare l'intero sistema, mentre per configurare una singola [[interfaccia (informatica)|interfaccia]] di rete si accede con la modalità di configurazione d'interfaccia; per quanto riguarda invece i diritti ci sono 16 livelli – dallo 0 al 15  – che garantiscono una certa protezione del sistema.
 
== Storia ==
La prima versione del sistema operativo fu pubblicata nel [[1984]] anno della fondazione stessa della Cisco, ma il suo sviluppo iniziò nel [[1980]] ad opera di un impiegato della Scuola di Medicina di [[Università di Stanford|Standford]], tale Bill Yaeger che aveva scritto un programma per collegare instradatori di diversi tipi di rete. In seguito lavorò fino al 1984 assieme ai fondatori della Cisco, Sandra Lerner e Len Boseck per migliorare il programma stesso. L’ultimaL'ultima versione del sistema operativo è del 20112019 ed è indicizzata come la 15.19.
 
== GeneralitàDescrizione ==
All'accensione dei dispositivi di rete più moderni lo IOS viene caricato nella memoria [[RAM]] da una [[memoria non volatile]] e decompresso, mentre neglinei instradatorirouter più datati come il Cisco 2500 esso viene eseguito direttamente nella memoria non volatile.
Dopo l'avvio mette subito a disposizione le funzioni fondamentali di [[instradamento]] e commutazione.
A seconda delle prestazioni supporta protocolli di instradamento vari come il [[Border Gateway Protocol|BGP]], [[Open Shortest Path First|OSPF]], [[Enhanced Interior Gateway Routing Protocol|EIGRP]] e [[Routing Information Protocol|RIP]], ma anche [[protocolli di rete]] come [[IPv4]], [[IPv6]], [[Internetwork Packet Exchange|IPX]] e l'[[AppleTalk]].
Inoltre mette a disposizione varie funzioni di filtro dei pacchetti in base ad una lista di controllo (access-list) e dei diritti nella modalità con cui si accede al sistema operativo. Si distingue fra la configurazione base d’avvio (startup-config), conservata nella memoria non volatile e caricata automaticamente all’accensione e la configurazione corrente (running-config).
Le immagini del sistema operativo hanno una denominazione normalizzata per esempio ''c3000-js-l_121-3.bin'', in cui ''3000'' si riferisce al modello dell'instradatore.
 
Inoltre mette a disposizione varie funzioni di filtro dei pacchetti in base a una [[Lista di controllo degli accessi|lista di controllo]] (''access-list'') e dei diritti nella modalità con cui si accede al sistema operativo. Si distingue fra la configurazione base d'avvio (''startup-config''), conservata nella memoria non volatile e caricata automaticamente all'accensione e la configurazione corrente (''running-config''). Le immagini del sistema operativo hanno una denominazione normalizzata per esempio ''c3000-js-l_121-3.bin'', in cui ''3000'' si riferisce al modello dell'instradatore.
Per operare con il sistema e configurarlo si usa la semplice riga di comando attraverso i programmi di comunicazione [[Telnet]] e/o [[Secure shell|SSH]], oppure tramite console, ovvero connettendosi direttamente alla porta seriale del dispositivo. I parametri di default per la comunicazione via console sono 96008N1.
 
Per operare con il sistema e configurarlo si usa la semplice riga di comando attraverso i programmi/protocolli di comunicazione da remoto [[Telnet]] e/o [[Secure Shell|SSH]], oppure tramite console, ovvero connettendosi direttamente alla [[porta (informatica)|porta]] seriale del dispositivo. I parametri di [[default (informatica)|default]] per la comunicazione via console sono 96008N1. Attualmente ci sono anche delle interfacce grafiche e la possibilità di configurazione e monitoraggio del sistema tramite il [[protocollo di rete]] [[Simple Network Management Protocol|SNMP]], per quanto limitato ad alcune funzioni.
Esiste anche un programma clone dello IOS per normali calcolatori, che gira su linux, ne imita l’interfaccia a riga di comando e svolge funzioni di instradamento.
 
Esiste anche un programma clone dello IOS per normali calcolatori, [[Quagga (software)|Quagga]], che gira su [[Linux]], ne imita l'interfaccia a riga di comando e svolge funzioni di instradamento.
== Sistema di allocazione dati ==
Il sistema di allocazione dati viene chiamato brevemente IFS (IOS File System) e può sia accedere che allocare vari tipi di dati con varie modalità:
* Bootflash
* Flash: si usa per allocare immagini complete del sistema ovvero per farne una copia
* Flh
* Nvram: è uno dei componenti di configurazione interna dei dispositivi e si usa per allocare la configurazione base d’avvio
* RCP
* Disk0
* Disk1
* System
* TFTP
 
=== ComandiArchitettura ===
In tutte le versioni di IOS le funzioni di instradamento e commutazione sono nettamente separate. I protocolli di instradamento ed altri protocolli sono processi specifici del sistema operativo e integrano la tabella di instradamento per quanto riguarda la topologia della rete di prossimità (RIB, ''Routing Information Base''). Questa tabella viene elaborata per generare la tabella finale di inoltramento (FIB, ''Forwarding Information Base'').
L'[[interfaccia a riga di comando]] è simile a quella di altri sistemi operativi quali [[MS-DOS]] e [[Unix]] e come questi ha una funzione che completa il comando riconosciuto durante la digitazione.
Una notevole semplificazione delle operazioni si deve ai suggerimenti automatici e contestualizzati che si ottengono digitando il punto interrogativo.
Tipici comandi base sono i seguenti
* Indicazione della configurazione attuale:
show running-config
* Indicazione della versione del sistema, del modello di instradatore, delle sue potenzialità etc.:
show version
* Indicazione di informazioni dettagliate sull’interfaccia dell'instradatore:
show interface
* Breve panoramica degli indirizzi di rete (IP) e dello stato delle interfacce del dispositivo:
show ip interface brief
* Indicazione della tabella di instradamento a seconda del protocollo di rete:
show ip route
show ipv6 route
show ipx route
show appletalk route
* Cambiamento della modalità di accesso in quella cosiddetta privilegiata:
enable
* Cambiamento della modalità privilegiata in quella di configurazione globale:
configure terminal
* Messaggio base (“pronto al commando”):
Router>
(per la modalità utente)
Router#
(per la modalità privilegiata)
Router(config)#
(per la modalità di configurazione globale)
Router(config-if)#
(per la modalità di configurazione di inferaccia speciale)
Nella modalità utente si possono eseguire solo facili richieste di informazione (comandi "show", per esempio "show interface gi0/48"), mentre nella modalità privilegiata ed in quella di configurazione globale si può proprio configurare il dispositivo.
 
Su instradatori tipo il Cisco 7200 che hanno funzioni di inoltro basate solo su programmi e non su un instradamento “fisico” (elettronico, non informatico), la gestione del traffico, compreso il filtraggio della lista di controllo degli accessi ma anche la funzione di inoltro, viene eseguita con segnali di interruzione ([[interrupt]]) usando una funzione di inoltro rapido (CEF, ''Cisco Express Forwarding'') o distribuito (dCEF, ''distributed CEF''). Questo significa che lo IOS per inoltrare un pacchetto non ha bisogno di iniziare un processo fisico di commutazione. I protocolli di routing come OSPF o BGP girano a livello di processo utente.
Per passare alla modalità privilegiata può essere necessaria una parola (chiave) d'accesso, ed in seguito si può passare alla modalità di configurazione globale.
 
Per configurare invece singole interfacce si deve invece passare nella modalità di configurazione interfaccia particolare del dispositivo (interfaccia) cui si vuole accedere.
Su instradatori con inoltro elettronico invece, tipo quelli della serie Cisco 12000, lo IOS calcola via hardware la tabella di inoltro FIB grazie ai circuiti elettronici dell'instradatore stesso e la trasmette alla parte del dispositivo preposta all'inoltro vero e proprio dei pacchetti, quale un processore di rete o un ASIC.
 
Lo IOS ha un'architettura monolitica, ossia basata su una singola immagine dello stesso, contenuta nella memoria, nella quale operano tutti i processi. La memoria è quindi condivisa fra i processi e non c'è alcuna forma di protezione dei loro singoli campi di memoria; se per un errore di programmazione un processo sconfina nel campo di memoria dell'altro, si può avere un'alterazione dei dati da trasmettere.
 
La memoria viene inoltre usata fin quando non viene occupata completamente, dato che il kernel non la svuota prima dell'inizio dell'esecuzione di un nuovo processo: il singolo processo deve effettuare una chiamata al kernel stesso prima che altri processi possano avere la possibilità di venir eseguiti.
 
Per i prodotti Cisco che offrivano una grossa disponibilità di tempo macchina, tipo il Cisco CRS-1, queste limitazioni erano inaccettabili e che mancava nei sistemi operativi della concorrenza emersi dalla metà degli anni novanta ad oggi, tipo lo JunOS della [[Juniper Networks|Juniper]]. La risposta della Cisco fu quella di sviluppare una nuova versione dello IOS chiamata IOS-XR, che offriva sia modularità che protezione di memoria fra i processi, istruzioni alleggerite, presvuotamento della memoria prima di ogni processo e capacità di riavvio indipendente dei singoli processi bloccatisi. Lo IOS-XR usa un microsistema operativo di base a risposta immediata (in tempo “reale”, ossia in brevissimo tempo utile) importato da un'altra ditta ([[QNX]]) cui si è dovuto riadattare gran parte del codice attuale dello IOS con un'opera massiccia di riprogrammazione. Questo microsistema operativo di base rimuove tutti i processi base che non siano effettivamente fondamentali, primari (e quindi non degni di girare sul microsistema operativo di base) e li esegue come semplici processi secondari (applicativi).
 
Grazie a queste caratteristiche lo IOS-XR è capace di raggiungere i livelli di disponibilità di tempo-macchina necessari per la nuova piattaforma di instradatori. Per questi motivi lo IOS e lo IOS-XR sono sistemi molto differenti, sebbene si abbia una certa correlazione fra le loro funzionalità ed il progetto complessivo.
 
Nel 2005 la Cisco ha introdotto lo IOS-XR sulla piattaforma per la serie Cisco 12000, estendendo l'architettura a microsistema degli instradatori CRS-1 a quelli maggiormente diffusi. Ancora più recentemente (nel 2006) la Cisco ha messo a disposizione una certa modularità di programmazione dello IOS, estendendo il microsistema QNX in un ambiente operativo più tradizionale pur rimanendo inalterata la possibilità di aggiornamento richieste dal mercato; il commutatore per grandi aziende Catalyst 6500 ne fa uso.
 
=== Distribuzioni e potenzialità ===
Le differenti potenzialità si riferiscono a protocolli di rete aggiuntivi, funzioni di criptazione, protocolli di instradamento, funzioni supplementari (per esempio funzioni di telefonia), ecc. Lo IOS non è molto strutturato in moduli ma a seconda delle potenzialità disponibili può essere tagliato sulle varie esigenze. Il costo della licenza per la singola versione del sistema operativo rispecchia la varietà delle funzionalità.
 
Per la maggior parte dei dispositivi di rete Cisco su cui gira lo IOS sono disponibili vari pacchetti di funzionalità, di solito 8 per gli instradatori e 5 per i commutatori. Per esempio varie sono le versioni dello IOS destinate a commutatori della Catalyst disponibili: quella base che fornisce solo funzioni di instradamento base di protocollo di rete IP; la versione migliorata, che supporta pienamente il protocollo di instradamento IPv4; la versione avanzata che supporta anche il protocollo IPv6.
 
I pacchetti di funzionalità sono suddivisi in varie categorie quali
* pacchetti solo dati
* pacchetti di convergenza fra funzioni dati e voce
* sicurezza e reti private (''[[Virtual Private Network]]'', VPN)
 
=== Versioni ===
Le versioni sono denominate secondo lo schema A.B.(C.D.) E in cui
* A è il numero principale della versione
* B è il numero secondario
* C è il numero dell'edizione particolare della serie ed: inizia con 1 e viene incrementato di edizione in edizione
* D è il numero di compilazione provvisoria, che viene di solito omesso nell'indicazione dell'edizione generale
* E può essere una combinazione di zero, una o due lettere ede identifica il proposito della versione, per esempio T per la cosiddetta serie tecnologica, E per grandi aziende, S per fornitori di accesso alla rete, XA per un gruppo di funzionalità speciali, XB per altre funzionalità etcecc. mentre la mancanza di lettere indica la versione generale della serie. Le compilazioni provvisorie sono spesso destinate a divenire le future versioni stabili e vengono messe a disposizione perché contengono soluzioni provvisorie ad errori o mancanze delle precedenti versioni: per eseempioesempio 12.3(1.2) T è la seconda compilazione provvisoria della serie 12.3(1) T.
 
Ricompilazioni - Spesso una ricompilazione viene messa a disposizione per risolvere un singolo problema odo una falla di vulnerabilità. Per esempio la versione 12.1(8) E14 è la quattordicesima ricompilazione della serie 12.1(8) E. Le ricompilazioni sono distribuite per correggere velocemente degli errori o per venire incontro a quei clienti che gestiscono reti strategiche e per ridurre il rischio di interruzione non aggiornano il sistema a una versione successiva.
per venire incontro a qui clienti che gestiscono reti strategiche e per ridurre il rischio di interruzione non aggiornano il sistema ad una versione successiva.
 
Versioni provvisorie - Sono di solito pubblicate con frequenza settimanale e tengono conto degli sviluppi attualmente in atto. Il sito della Cisco in cui vengono annunciate può ne metteremetterne a disposizione più uscite per singolisingole corretturecorrezioni.
 
Versioni di manutenzione - Si tratta di versioni di provata correttezza che contengono sviluppi sostanziali ed emendate da errori di programmazione. La Cisco consiglia di aggiornare il sistema a tali versioni ove possibile.
 
=== Serie ===
Le varie serie del sistema operativeoperativo si distinguono per le loro potenzialità e rispecchiano necessità, possibilità e prospettive di sviluppo dei sistemi di rete locali e geografici per come le vede la ditta Cisco a livello di mercato.
 
La serie principale è progettata per essere la più stabile ed avanzata che la Cisco può offrire in un certo momento e le sue potenzialità non vengono estese per tutto il suo ciclo di vita. I relativi aggiornamenti rappresentano semplici correzioni degli eventuali errori presenti. L’ultimaL'ultima serie più avanzata, cosiddetta tecnologica (serie T) viene presa come base di partenza per la realizzazione della versione principale successiva: per esempio la versione tecnologica 12.1T è la base per la 12.2 principale. Per questo per determinare le potenzialità di una certa versione basta guardare alla serie T precedente.
 
La serie T è invece quella in cui vengono aggiunte sempre nuove potenzialità ed è parimenti la più esposta a falle, le cui correzioni vengono aggiunte durante tutto il ciclo di vita della versione. Prima della versione 12.0 la serie avanzata veniva indicata con una P.
Riga 91 ⟶ 68:
 
La serie E è destinata alle imprese (Enterprise).
La serie B è pensata per dispositivi di una rete per [[banda larga]] (Broadband).
La serie X* (XA, XB, …) si riferisce a funzioni speciali (Xpecial) ed è progettata per usi specifici, come per esempio la 12.0AA che conteneva nuove linee di codice necessarie per il dispositivo AS5800.
 
=== Sistema di allocazione dati ===
== Distribuzioni e potenzialità ==
Il sistema di allocazione dati viene chiamato brevemente IFS (IOS [[File System]]) e può sia accedere che allocare vari tipi di dati con varie modalità:
Le differenti potenzialità si riferiscono a protocolli di rete aggiuntivi, funzioni di criptazione, protocolli di instradamento, funzioni supplementari (per esempio funzioni di telefonia), etc. Lo IOS non è molto strutturato in moduli ma a seconda delle potenzialità disponibili può essere tagliato sulle varie esigenze. Il costo della licenza per la singola versione del sistema operativo rispecchia la varietà delle funzionalità.
* Bootflash
* Flash: si usa per allocare immagini complete del sistema ovvero per farne una copia
* Flh
* Nvram: è uno dei componenti di configurazione interna dei dispositivi e si usa per allocare la configurazione base d'avvio
* RCP
* Disk0
* Disk1
* System
* TFTP
 
=== Sicurezza e vulnerabilità ===
Per la maggior parte dei dispositivi di rete Cisco su cui gira lo IOS sono disponibili vari pacchetti di funzionalità, di solito 8 per gli instradatori e 5 per i commutatori. Per esempio varie sono le versioni dello IOS destinate a commutatori della Catalyst disponibili: quella base che fornisce solo funzioni di instradamento base di protocollo di rete IP; la versione migliorata, che supporta pienamente il protocollo di instradamento IPv4; la versione avanzata che supporta anche il protocollo IPv6.
Lo IOS è risultato vulnerabile a sconfinamenti di memoria cuscinetto oltre a falle di altro genere che hanno pregiudicato sia il buon funzionamento del sistema operativo stesso che delle applicazioni. La Cisco risponde in genere molto velocemente, mettendo a disposizione correzioni in tempi brevi, prova ne è la frequenza con cui escono le nuove versioni di aggiornamento. Ciononostante persiste una ben nota falla nella sicurezza sin dal 1995 riferita alla criptazione delle parole chiave nell'interfaccia a riga di comando e che non viene riparata per motivi di compatibilità. Le parole chiave d'accesso sono cifrate secondo un algoritmo cosiddetto di tipo 7 (una versione modificata da tale Williams dell'algoritmo di compressione dati di tali Lempel e Zev su cui è basato il comando unix “arc”). Si supponga di intercettare per esempio il comando:
 
Router(config)#username jdoe password 7 0832585B1910010713181F
I pacchetti di funzionalità sono suddivisi in varie categorie quali
* pacchetti solo dati
* pacchetti di convergenza fra funzioni dati e voce
* sicurezza e reti private (Virtual Private Network, VPN)
 
La parola chiave può essere facilmente decriptata con il programma getpass, disponibile già dal 1995, nell'esempio si ottiene come risultato “stupidpass”. Questa falla è documentata in molti siti in rete ed è addirittura riportata sul sito della Cisco nella sezione Consigli dei lettori (Technical Services News / Reader Tips) ed ivi riferita alla procedura per decriptare una chiave di rete ([[Pre-Shared Key|pre-shared key]]). Comunque sia il programma getpass decripta solo parole chiave generate nella semplice modalità utente, ma non può nulla se si abilita la modalità di cifratura con il comando “secret”. In realtà non si tratta di una vera e propria falla dovuta alla Cisco, perché il tipo di cifratura è noto all'utente (cliente) e non viene pubblicizzato come più sicuro di quello che è. Piuttosto questo caso ha svelato che non è lo IOS ad essere insicuro ma l'uso che gli utenti, ossia i gestori di rete ne fanno, fidandosi erroneamente di una presunta invulnerabilità di tale cifratura.
== Architettura ==
In tutte le versioni di IOS le funzioni di instradamento e commutazione sono nettamente separate. I protocolli di instradamento ed altri protocolli sono processi specifici del sistema operativo ed integrano la tabella di instradamento per quanto riguarda la topologia della rete di prossimità (RIB, Routing Information Base). Questa tabella viene elaborata per generare la tabella finale di inoltramento (FIB, Forwarding Information Base).
 
In ogni caso la Cisco raccomanda di implementare il modello di sicurezza delle 3 A (Authentication, Authorization and Accounting, AAA). Questo modello può essere combinato con basi di dati locali, modalità di prossimità (RADIUS) e TACACS+.
Su instradatori tipo il Cisco 7200 che hanno funzioni di inoltro basate solo su programmi e non su un instradamento “fisico” (elettronico, non informatico), la gestione del traffico, compreso il filtraggio della lista di controllo degli accessi ma anche la funzione di inoltro, viene eseguita con segnali di interruzione (interrupt) usando una funzione di inoltro rapido (CEF, Cisco Express Forwarding) o distribuito (dCEF, distributed CEF). Questo significa che lo IOS per inoltrare un pacchetto non ha bisogno di iniziare un processo fisico di commutazione. I protocolli di routing come OSPF o BGP girano a livello di processo utente.
 
== Comandi ==
Su instradatori con inoltro elettronico invece, tipo quelli della serie Cisco 12000, lo IOS calcola via hardware la tabella di inoltro FIB grazie ai circuiti elettronici dell’instradatore stesso e la trasmette alla parte del dispositivo preposta all’inoltro vero e proprio dei pacchetti, quale un processore di rete o un ASIC.
L'[[interfaccia a riga di comando]] è simile a quella di altri sistemi operativi quali [[MS-DOS]] e [[Unix]] e come questi ha una funzione che completa il comando riconosciuto (''autocompletameto'') durante la digitazione tramite il tasto [[Tabulatore|TAB]]. In generale si distinguono due grandi tipologie di comandi: i comandi di ''analisi'' (es. comandi di ''show'') e i comandi di ''configurazione''. Una notevole semplificazione delle operazioni si deve ai suggerimenti automatici e contestualizzati che si ottengono digitando il punto interrogativo (?).
Tipici comandi base sono i seguenti:
* Messaggio base (“pronto al comando”):
Router>
(per la modalità utente)
* Cambiamento della modalità di accesso in quella cosiddetta privilegiata:
enable
 
Router#
Lo IOS ha un’architettura monilitica, ossia basata su una singola immagine dello stesso, contenuta nella memoria, nella quale operano tutti i processi. La memoria è quindi condivisa fra i processi e non c’è alcuna forma di protezione dei loro singoli campi di memoria; se per un errore di programmazione un processo sconfina nel campo di memoria dell’altro, si può avere un’alterazione dei dati da trasmettere.
(per la modalità privilegiata)
* Cambiamento della modalità privilegiata in quella di configurazione globale:
configure terminal
 
Router(config)#
La memoria viene inoltre usata fin quando non viene occupata completamente, dato che il kernel non la svuota prima dell’inizio dell'esecuzione di un nuovo processo: il singolo processo deve effetturare una chiamata al kernel stesso prima che altri processi possano avere la possibilità di venir eseguiti.
(per la modalità di configurazione globale)
Router(config-if)#
(per la modalità di configurazione di inferaccia speciale)
 
Nella modalità utente si possono eseguire solo facili richieste di informazione (comandi "show", per esempio "show interface gi0/48"), mentre nella modalità privilegiata ed in quella di configurazione globale si può proprio configurare il dispositivo.
Per i prodotti Cisco che offrivano una grossa disponibilità di tempo macchina, tipo il Cisco CRS-1, queste limitazioni erano inaccettabili e che mancava nei sistemi operativi della concorrenza emersi dalla metà degli anni novanta ad oggi, tipo lo JunOS della Juniper. La risposta della Cisco fu quella di sviluppare una nuova versione dello IOS chiamata IOS-XR, che offriva sia modularità che protezione di memoria fra i processi, istruzioni alleggerite, presvuotamento della memoria prima di ogni processo e capacità di riavvio indipendente dei singoli processi bloccatisi. Lo IOS-XR usa un microsistema operativo di base a risposta immediata (in tempo “reale”, ossia in brevissimo tempo utile) importato da un’altra ditta (QNX) cui si è dovuto riadattare gran parte del codice attuale dello IOS con un’opera massiccia di riprogrammazione. Questo microsistema operativo di base rimuove tutti i processi base che non siano effettivamente fondamentali, primari (e quindi non degni di girare sul microsistema operativo di base) e li esegue come semplici processi secondari (applicativi).
Grazie a queste caratteristiche lo IOS-XR è capace di raggiungere i livelli di disponibilità di tempo-macchina necessari per la nuova piattaforma di instradatori. Per questi motivi lo IOS e lo IOS-XR sono sistemi molto differenti, sebbene si abbia una certa correlazione fra le loro funzionalità ed il progetto complessivo.
 
Per passare alla modalità privilegiata può essere necessaria una parola (chiave) d'accesso, ed in seguito si può passare alla modalità di configurazione globale.
Nel 2005 la Cisco ha introdotto lo IOS-XR sulla piattaforma per la serie Cisco 12000, estendendo l’architettura a microsistema degli instradatori CRS-1 a quelli maggiormente diffusi. Ancora più recentemente (nel 2006) la Cisco ha messo a disposizione una certa modularità di programmazione dello IOS, estendendo il microsistema QNX in un ambiente operativo più tradizionale pur rimanendo inalterata la possibilità di aggiornamento richieste dal mercato; il commutatore per grandi aziende Catalyst 6500 ne fa uso.
Per configurare invece singole interfacce si deve invece passare nella modalità di configurazione interfaccia particolare del dispositivo (interfaccia) cui si vuole accedere.
 
* Indicazione della configurazione attuale:
== Sicurezza e vulnerabilità ==
show running-config
Lo IOS è risultato vulnerabile a sconfinamenti di memoria cuscinetto oltre a falle di altro genere che hanno pregiudicato sia il buon funzionamento del sistema operativo stesso che delle applicazioni. La Cisco risponde in genere molto velocemente, mettendo a disposizione correzioni in tempi brevi, prova ne è la frequenza con cui escono le nuove versioni di aggiornamento. Ciononostante persiste una ben nota falla nella sicurezza sin dal 1995 riferita alla criptazione delle parole chiave nell’interfaccia a riga di comando e che non viene riparata per motivi di compatibilità. Le parole chiave d’accesso sono cifrate secondo un algoritmo cosiddetto di tipo 7 (una versione modificata da tale Williams dell'algoritmo di compressione dati di tali Lempel e Zev su cui è basato il comando unix “arc”). Si supponga di intercettare per esempio il comando:
* Indicazione della versione del sistema, del modello di instradatore, delle sue potenzialità etc.:
 
show version
Router(config)#username jdoe password 7 0832585B1910010713181F
* Indicazione di informazioni dettagliate sull'interfaccia dell'instradatore:
 
show interface
La parola chiave può essere facilmente decriptata con il programma getpass, disponibile già dal 1995, nell’esempio si ottiene come risultato “stupidpass”. Questa falla è documentata in molti siti in rete ed è addirittura riportata sul sito della Cisco nella sezione Consigli dei lettori (Technical Services News / Reader Tips) ed ivi riferita alla procedura per decriptare una chiave di rete (pre-shared key). Comunque sia il programma getpass decripta solo parole chiave generate nella semplice modalità utente, ma non può nulla se si abilita la modalita di cifratura con il comando “secret”. In realtà non si tratta di una vera e propria falla dovuta alla Cisco perché il tipo di cifratura è noto all’utente (cliente) e non viene pubblicizzato come più sicuro di quello che è. Piuttosto questo caso ha svelato che non è lo IOS ad essere insicuro ma l’uso che gli utenti, ossia i gestori di rete ne fanno, fidandosi erroneamente di una presunta invulnerabilità di tale cifratura.
* Breve panoramica degli indirizzi di rete (IP) e dello stato delle interfacce del dispositivo:
 
show ip interface brief
In ogni caso la Cisco raccomanda di implementare il modello di sicurezza delle 3 A (Authentication, Authorization and Accounting, AAA). Questo modello può essere combinato con basi di dati locali, modalità di prossimità (RADIUS) e TACACS+.
* Indicazione della tabella di instradamento a seconda del protocollo di rete:
show ip route
show ipv6 route
show ipx route
show appletalk route
 
== Voci correlate ==
Riga 136:
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* [http://www.cisco.com/en/US/products/sw/iosswrel/tsd_products_support_category_home.html Assistenza tecnica per lo IOS (Cisco)] (Versioni dalla 12.0 alla 12.4)
* [httphttps://www.cisco.com/en/US/products/sw/iosswrel/ps1828/products_white_paper09186a008018305etsd_products_support_category_home.shtmlhtml GuidaAssistenza alletecnica versioniper dellolo IOS (Cisco)] (Versioni dalla 12.0 alla 12.4)
* [http{{cita web|https://www.cisco.com/en/US/products/products_security_advisories_listingsw/iosswrel/ps1828/products_white_paper09186a008018305e.htmlshtml|Guida alle Avvertenzeversioni sulladello sicurezzaIOS (Cisco)]}}
* [http{{cita web|https://www.cisco.com/en/US/products/ps6350/products_configuration_guide_book09186a008043360aproducts_security_advisories_listing.html|Avvertenze Guida alla configurazione della versione 12.4sulla dellosicurezza (Cisco)]}}
* [http{{cita web|https://www.cisco.com/en/US/products/ps6350/products_command_reference_book09186a008042df75products_configuration_guide_book09186a008043360a.html|Guida Sommarioalla deiconfigurazione comandidella dello IOSversione 12.4 dello (Cisco)]}}
* {{cita web|https://www.cisco.com/en/US/products/ps6350/products_command_reference_book09186a008042df75.html|Sommario dei comandi dello IOS 12.4 (Cisco)}}
* [http://www.cisco.com/univercd/cc/td/doc/product/software/ Tutti i documenti]
* {{cita web|https://www.cisco.com/univercd/cc/td/doc/product/software/|Tutti i documenti}}
* [http://www.cisco.com/en/US/products/sw/iosswrel/products_ios_cisco_ios_software_category_home.html Il sistema operativo stesso]
* {{cita web|https://www.cisco.com/en/US/products/sw/iosswrel/products_ios_cisco_ios_software_category_home.html|Il sistema operativo stesso}}
* [http://www.zebra.org/ GNU Zebra] – Un gestore di instradamento per Linux e la Berkeley Software Distribution, la cui interfaccia richiama chiaramente lo IOS
* [{{cita web | 1 = http://wiki.networkdictionary.com/index.php/Cisco_IOS | 2 = Spiegazione dello IOS della Cisco sul Dizionario di rete] | accesso = 9 maggio 2008 | urlarchivio = https://web.archive.org/web/20130403075938/http://wiki.networkdictionary.com/index.php/Cisco_IOS | dataarchivio = 3 aprile 2013 | urlmorto = sì }}
* [http{{cita web | 1 = https://www.pantz.org/os/ios/ioscommands.shtml | 2 = Comandi dello IOS] | accesso = 30 aprile 2019 | urlarchivio = https://web.archive.org/web/20081120003211/http://www.pantz.org/os/ios/ioscommands.shtml | dataarchivio = 20 novembre 2008 | urlmorto = sì }}
* [{{cita web|http://cosi-nms.sourceforge.net |Comunità per codice di programmazione libero dedicata al sistema della Cisco] }}
* [{{cita web|http://www.sins.com.au/nmis/ |NMIS – Informazioni sulla gestione di rete (Network Management Information System)]}}
* [{{cita web | 1 = http://www.geocities.com/nonlinearphysics/cisco_ios_qos.html | 2 = Comandi dello IOS per evitare congestioni al traffico dati] | accesso = 9 maggio 2008 | urlarchivio = https://web.archive.org/web/20071029191340/http://www.geocities.com/nonlinearphysics/cisco_ios_qos.html | dataarchivio = 29 ottobre 2007 | urlmorto = sì }}
* [{{cita web |1=http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator |2=Simulatore di dispositivi Cisco 7200/3600 che usa immagini del sistema IOS] |accesso=12 giugno 2008 |urlarchivio=https://web.archive.org/web/20080612002528/http://www.ipflow.utc.fr/index.php/Cisco_7200_simulator |dataarchivio=12 giugno 2008 |urlmorto=sì }}
* [http{{cita web|https://www.cisco.com/warp/public/10/wwtraining/certprog/testing/simulation/demo_sim.html |Il simulatore della Cisco]}}
* [http{{cita web|https://www.cisco.com/en/US/products/sw/iosswrel/ps5460/index.html |Funzioni di gestione pacchetti nello IOS (Cisco)]}}
* [{{cita web |1=http://ciscointernals.com/ |2=Questioni interne riguardo al sistema IOS (Cisco)] |accesso=15 gennaio 2012 |urlarchivio=https://web.archive.org/web/20120115070151/http://ciscointernals.com/ |dataarchivio=15 gennaio 2012 |urlmorto=sì }}
* [{{cita web | 1 = http://www.internetworkpro.org/wiki/IOS | 2 = Guida allo IOS (wiki)] | accesso = 9 maggio 2008 | urlarchivio = https://web.archive.org/web/20080514112128/http://www.internetworkpro.org/wiki/IOS | dataarchivio = 14 maggio 2008 | urlmorto = sì }}
* [http{{cita web|https://www.cisco.com/en/US/products/sw/iosswrel/ios_software_collateral_library_listing.html |Libreria di programme associate allo IOS]}}
* [http{{cita web|https://www.cisco.com/public/news_training/itsnews/tech/readertips/200801.html |Falla di criptamento come riportata sul sito stesso della Cisco]}}
* [{{cita web | 1 = http://www.gianrico.com/ANNO2009/librorouting2009_parteI.pdf | 2 = Come funziona la tabella di routing in Cisco IOS] | urlmorto = sì }}
* [{{cita web | 1 = http://www.gianrico.com/ANNO2009/librorouting2009_parteII.html | 2 = La qualita'qualità del servizio con Cisco IOS] | urlmorto = sì }}
 
{{Portale|Telematica}}
 
[[Categoria:Sistemi operativi di rete]]
 
[[ar:نظام تشغيل الشبكات البينية]]
[[cs:Cisco IOS]]
[[de:Internetwork Operating System]]
[[en:Cisco IOS]]
[[es:Cisco IOS]]
[[fr:IOS (Cisco)]]
[[he:IOS (סיסקו)]]
[[ja:Cisco IOS]]
[[mk:Cisco IOS]]
[[nl:Cisco Internetwork Operating System]]
[[pl:Cisco IOS]]
[[pt:Cisco IOS]]
[[ro:Cisco IOS]]
[[ru:Cisco IOS]]
[[sk:Cisco IOS]]
[[vi:Cisco IOS]]
[[zh:思科IOS]]