Sei sulla pagina 1di 51

CISCO IOS

1
CISCO IOS
Ti sarà sicuramente capitato di dover configurare una stampante o un
altro apparato utilizzando la pagina web di configurazione.
Sicuramente avrai utilizzato un wizard (Procedura Guidata) che passo
dopo passo ti ha seguito durante la configurazione.
Questa modalità per quanto semplice e intuitiva poco si adatta a un
utilizzo professionale. Infatti, come sistemista Cisco, hai bisogno di
conoscere i dettagli della configurazione, spesso nascosti dai wizard.
Ogni apparato Cisco, oltre alla configurazione web, utilizza una
modalità detta Command Line Interface (CLI.). La CLI è un
interfaccia a riga di comando in cui l’utente inserisce dei comandi

2
testuali e digita Invio. Dando ‘Invio’ il comando viene trasferito
all’apparato che di conseguenza esegue delle attività. In alcuni casi,
può anche restituire dei messaggi (comandi show e debug).
Per accedere alla pagina web di un qualsiasi apparato basta utilizzare
un browser, mentre in che modo è possibile accedere alla Command
Line Interface di uno switch?
I modi sono essenzialmente due:
• Console
• Telnet/SSH
Ogni switch possiede una porta speciale detta Porta Console
utilizzata per la gestione (o management) dell’apparato. La porta

3
Console generalmente utilizza il formato RJ45. E’ possibile
connettersi utilizzando un particolare cavo detto Rollover
caratterizzato dal seguente Pin-Out.

Un cavo Rollover generalmente termina ad un’estremità con un


connettore RJ45 e all’altra con un connettore seriale RS232. L’RJ45

4
deve essere connesso alla porta console dello switch mentre l’RS232
alla porta seriale del computer utilizzato per effettuare la
connessione. La figura illustra un tipico cavo rollover Cisco.

Oggi giorno è difficile trovare PC con schede seriali, pertanto quello


che si fa è connettere al cavo di rollover un adattatore Seriale – USB.

5
La porta USB deve essere ovviamente connessa al computer come
illustrato in figura.

6
Effettuata la connessione fisica, per accedere è necessario utilizzare
un software detto Terminal Emulator: i più diffusi sono
HyperTerminal, e Putty (consigliato).
L’emulatore deve essere configurato in modo da utilizzare gli stessi
parametri impostati sulla porta console. Per uno switch Cisco sono i
seguenti:
• Speed 9600bit/secondo
• No Hardware Flow Control
• 8-bit ASCII

7
Un cavo di rollover difficilmente supera qualche metro di lunghezza:
pertanto una connessione in console può essere realizzata solo se
fisicamente presenti in prossimità dell’apparato. E’ tuttavia possibile
connettersi in CLI anche da remoto, ad esempio da un altro edificio
oppure da un'altra città
L’accesso remoto è realizzato per mezzo dei protocolli di rete Telnet
e SSH. Entrambi sono in grado di trasferire comandi allo switch
utilizzando le risorse messe a disposizione da una rete LAN. In
questo caso è necessario associare un identificativo allo switch detto
Indirizzo IP.
SSH è più sicuro di Telnet in quanto riesce a cifrare le informazioni
scambiate tra PC e switch. La cifratura è una tecnica impiegata per
tenere segrete le informazioni, limitandone l’accesso solo agli
apparati interessati.

8
La CLI di ciascuno switch prevede due modalità operative principali:

• User Mode
• Enable Mode

Quando viene effettuato l’accesso lo switch proietta inizialmente


l’utente all’interno della modalità User Mode. In questo ambiente è
possibile utilizzare un set limitato di comandi, in genere poco
impattanti sul funzionamento generale dell’apparato; ad esempio non
è possibile riavviare l’apparato.
Digitando il comando enable si viene poi proiettati all’interno
dell’Enable mode. In Enable Mode è possibile dare qualsiasi tipo di
comando, quindi anche quelli più impattanti. La figura che segue

9
illustra cosa accade dando il comando reload utilizzato per riavviare
uno switch: nel primo caso il comando è rifiutato (o meglio
sconosciuto) in quanto siamo in User Mode. Nel secondo caso,
invece, è accettato.
Per tornare da Enable Mode a User Mode bisogna dare il comando
disable. Se hai dimestichezza con sistemi operativi Microsoft e la
gestione delle utenze, puoi associare il concetto di User Mode al
profilo utente ‘Read-Only’ o ‘Guest’ mentre è possibile associare
Enable Mode al concetto di ‘Administrator’

10
11
Esiste poi un terzo livello detto Configuration Mode (o Config Mode)
da utilizzare per la configurazione dell’apparato. Config Mode è
accessibile solo da Enable Mode. In altri termini non è possibile
accedervi da User Mode. Del resto questo rispecchia l’analogia dei
sistemi Microsoft: un utente Guest può utilizzare il sistema ma non
deve assolutamente poter modificare le impostazioni.

12
Per mezzo del comando configure terminal è possibile passare da
Enable Mode a Configuration Mode; l’operazione inversa è invece
resa possibile dal comando end.

Dando ‘configure terminal’ si accede a una modalità di


configurazione globale detta Global Configuration Mode; da questa è
possibile scendere ulteriormente e accedere a sotto menu di
configurazione detti Context, impiegati per configurare parametri
13
specifici di una interfaccia, vlan, console ecc. Per tornare indietro (da
Context a Global mode) è necessario dare il comando exit.
La CLI di un apparato Cisco è implementata per mezzo di un sistema
proprietario detto Cisco Internetwork Operating System (IOS). In
altri termini, l’IOS Cisco è il sistema operativo installato
sull’apparato che rende possibile tutte le operazioni svolte dallo
switch. E’ l’analogo del sistema operativo (es. Microsoft Windows 7)
utilizzato da un computer.

14
File di Configurazione e Memorie
Riepilogando, l’accesso ai vari menù di configurazione e la
possibilità di inviare comandi, è resa possibile per mezzo dell’IOS.
Poniamoci ora questa domanda: Quando uno switch viene riavviato, è
necessario dare nuovamente tutti i comandi, oppure no?
In realtà no, in quanto l’apparato li memorizza su un file detto
Configuration file, salvato all’interno di un’area di memoria.
Una memoria è un componente elettronico in grado di memorizzare e
mantenere dati e valori per un tempo più o meno lungo. Uno switch
utilizza le seguenti tipologie di memorie:

• RAM (o DRAM): E’ una memoria Volatile, quindi se non


alimentata perde i dati contenuti al suo interno. In essa viene

15
salvato il file di configurazione corrente detto Running
Configuration (Running-Config)
• ROM (Read-Only Memory): E’ una memoria NON-Volatile. Al
suo interno è memorizzato un programma detto bootstrap (o boot
helper). Il programma parte ad ogni avvio dello switch e il suo
ruolo è quello di identificare, caricare e decomprimere l’IOS
• Flash Memory: E’ una memoria NON-Volatile, implementabile
su un chip all’interno dello switch oppure come modulo esterno.
Al suo interno è presente il sistema IOS Cisco.
• NVRAM: E’ una memoria NON-Volatile contenente il file di
configurazione utilizzato all’avvio da uno switch. Tale file è detto
Startup Configuration (Startup-Config)

16
I file Startup-Config e Running-Config sono fondamentali per uno
switch. Le principali differenze sono:

• Il File Startup-Config contiene la configurazione iniziale ed è


utilizzato dallo switch ad ogni riavvio.
• Nel File Running-Config sono memorizzati i comandi dati fino ad
un certo istante di tempo. E’ un file dinamico: quando viene
inviato un comando, quest’ultimo viene aggiunto al file.
Ogni volta che lo switch subisce un riavvio perde le informazioni
contenute nel running-config. Per evitarlo, è necessario salvare il
contenuto del Running-config all’interno del file Startup-Config.

17
E’ inoltre possibile salvarlo anche su un server esterno: in questo
modo se lo switch si rompe, il file di configurazione non è perduto.
Per trasferire (o recuperare) i file da un server, è necessario utilizzare
il protocollo Trivial File Transfer Protocol (TFTP) o server TFTP.
La figura che segue illustra i comandi necessari al trasferimento dei
file di configurazione Per salvare il Running-Config in NVRAM il
comando da dare è:
copy running-config startup-config

18
L’operazione inversa è realizzata dando il comando:

copy startup-config running-config

La differenza tra i due esempi è:

19
• Nel primo caso il file Startup-Config viene sovrascritto e conterrà
le informazioni del file Running-Config. Pertanto, eseguendo un
riavvio, lo switch utilizzerà i dati salvati.
• Nel secondo caso non può avvenire una sovrascrittura in quanto il
file Running-Config è utilizzato dall’IOS. In questo caso i dati
dello Startup-Config sono aggiunti nel file Running-Config.
Viene quindi realizzata un’operazione di Merging.
Infine, la sintassi generale del comando Copy è la seguente

copy <File sorgente > <File di destinazione >

20
Architettura interna di uno switch
Da un punto di vista fisico, uno switch non è composto solo dalle
memorie ma anche da:
• Unità di calcolo centrale CPU utilizzata per l’esecuzione e il
coordinamento delle attività svolte
• Alimentatore o Power Supply per fornire alimentazione elettrica.
Gli switch più costosi sono dotati di due alimentatori in modo da
funzionare anche se una delle due linee non eroga corrente o se
uno degli alimentatori è rotto

21
• Schede e Moduli per connettere gli apparati allo switch. In genere
uno switch può contenere più moduli al suo interno, ciascuno
composto da un certo numero di interfacce Ethernet o fibra ottica.
La figura che segue illustra l’architettura fisica interna di uno
switch.

22
23
Supponiamo ora di aver acquistato uno switch e di accenderlo per
la prima volta. Il file Startup-Config è praticamente vuoto e non
contiene informazioni.
In questo caso, la configurazione può essere impostata, oltre che
da Configuration Mode, anche utilizzando un wizard specifico
detto Setup Mode. In poche parole, quando l’utente si connette in
CLI per la prima volta, lo switch chiede se utilizzare o meno il
Setup Mode. Se si accetta, saranno poste una serie di domande e
sulla base di esse saranno inseriti automaticamente dei comandi
nel file Running-Config.

24
Avvio di uno switch
Vediamo adesso cosa accade nel momento in cui viene acceso uno
switch.
1. L’apparato esegue dei test di diagnostica per verificare se
qualche componente ha problemi. Ci si riferisce all’insieme dei
test con l’acronimo POST (Power-on Self Test). Se i test non sono
superati, lo switch si blocca e non vengono eseguite le operazioni
successive.

25
26
2. Il programma Bootstrap (contenuto nella memoria ROM)
legge i valori di un file detto Configuration Register. Sulla base di
ciò capisce da dove caricare il file IOS (flash, TFTP server e,
ROM)
3. Una volta individuato, il Bootstrap carica ed espande l’IOS
all’interno della memoria RAM. Generalmente l’estensione del
firmware IOS è .bin cioè un formato compresso come può esserlo
un .zip oppure un .rar

27
4. L’IOS trasferisce il file di configurazione inziale (Startup-
config) da NVRAM a RAM. Se non presente in NVRAM, il file
viene caricato da un server TFTP esterno. Se non c’è risposta,
allora l’IOS propone il Setup Mode all’utente

28
Proteggere l’accesso alla CLI

Supponiamo di non utilizzare il wizard offerto dal Setup Mode: quali


sono i comandi base da inviare allo switch in modalità Configuration
Mode?
Innanzitutto è possibile associare un nome ad uno switch, utilizzando
il comando hostname. L’esempio che segue illustra come assegnare
il nome SW_PRIMARIO: il comando deve essere dato da Global
Configuration Mode.

29
Come precedentemente detto, l’acceso in CLI può esser effettuato via
console oppure tramite i protocolli di rete Telnet e SSH. Aver accesso
in CLI, vuol dire poter modificare i parametri di uno switch e nel
caso in cui la configurazione non fosse corretta, potrebbero esserci
delle ripercussioni sul funzionamento. Pertanto l’accesso alla CLI
deve essere protetto e consentito solo a persone competenti e
autorizzate. La tecnica più semplice consiste nell’utilizzare una
password. Solo chi la possiede può accedere.

30
La password deve essere configurata all’interno del Context di
appartenenza. La porta console è riconosciuta dallo switch con il
nome line console, mentre l’accesso in rete tramite protocolli Telnet e
SSH è resa possibile utilizzando le line vty. Una VTY è un’interfaccia
logica dello switch: a ciascuna VTY non è quindi associata alcuna
porta fisica. Come vedremo il loro utilizzo è fondamentale per la
gestione da remoto dell’apparato. Per gestione da remoto si intende la
possibilità di gestire l’apparato anche non essendo direttamente
connesso allo stesso per mezzo di un cavo.
La figura che segue mostra la configurazione della password P4w0rd

31
32
E’ possibile introdurre un ulteriore livello di sicurezza, inserendo una
password anche per l’accesso al livello Enable Mode. La password
può essere inserita utilizzando due comandi:

• Enable password <password>


• Enable secret <password>
La differenza è che nel secondo caso la password viene cifrata
all’interno del file di configurazione.
E’ possibile dare entrambi i comandi: in questo caso sarà utilizzata
dallo switch solo la password definita nel comando Enable Secret.

Enable Secret può essere utilizzato solo per cifrare la password di


Enable, non le altre come ad esempio quella utilizzata per accedere

33
da Console. Per cifrare tutte le password, quindi per renderle
incomprensibili all’interno dei file di configurazioni, bisogna abilitare
il servizio Password Encryption, dando il comando:

service password-encryption

Finché attivo, il servizio cifra tutte le password contenute nei file di


configurazioni, anche se il loro contenuto viene modificato. Per
disabilitare la cifratura bisogna dare il comando complementare:

no service password-encryption

Supponiamo ora che all’interno della tua azienda siano presenti tre
sistemisti Cisco (Mario, Alice e Antonio) e che siano gli unici ad

34
avere accesso agli apparati. In che modo è possibile sapere chi accede
all’apparato in un dato momento. In altre parole, in che modo è
possibile sapere se un dato comando è stato inviato da Mario, Alice o
Antonio?
E’ possibile farlo, utilizzando piuttosto che una singola password,
delle credenziali personali sotto forma di Username e Password.
I passi per farlo sono due:

1. In Global Configuration Mode bisogna creare le credenziali di


accesso per Mario, Alice e Antonio attraverso il comando
Username <nome utente> Password <password>

35
2. Bisogna applicare poi sull’interfaccia console o vty il comando
login local. Quest’ultimo ordina all’apparato di utilizzare le
credenziali memorizzate all’interno dello switch, per consentire
l’accesso in console.

36
Configurazione Interfacce di Rete

Le impostazioni di un’interfaccia di rete possono essere modificate


dal ‘Context Interface’.
Il comando ? svolge la funzione di Help mostrando tutte le possibili
opzioni utilizzabili. Nello specifico concentriamoci su Speed e
Duplex. Speed è utilizzato per impostare la banda di una interfaccia
di rete. Generalmente le interfacce di rete di uno switch sono in grado
di utilizzare diverse velocità, in genere 10Mbps, 100 Mbps oppure
1000 Mbps: supportano quindi differenti standard Ethernet.
Attraverso il comando Speed è possibile quindi configurare la
velocità a cui una porta deve operare.

37
.

38
Il comando Duplex è invece utilizzato per stabilire se l’interfaccia
può trasmettere e ricevere contemporaneamente (Full Duplex) oppure
se può fare solo una delle due cose alla volta (Half Duplex).
Supponiamo di configurare la velocità di una porta dello switch a 100
Mbps e immaginiamo di connettere su quella porta un PC in grado di
lavorare al massimo a 10Mbps. Essendo le due tecnologie Ethernet
differenti, molto probabilmente potrebbero nascere dei problemi di
connettività. Per evitare queste situazioni, IEEE ha formulato una
modalità detta Auto Negotiation per cui PC e Switch negoziano in
maniera autonoma i valori di Speed e Duplex. In generale viene
scelta come velocità la massima supportata da entrambi gli apparati.
In figura lo switch è in grado di supportare fino a 1000Mbps ma la
scheda di rete del Pc di Mario fino a 10Mbps. Se entrambi fanno uso

39
di autonegoziazione, la velocità del collegamento sarà pari al valore
massimo supportato da entrambi, ovvero 10 Mbps.

40
Fabio è invece in grado di supportare, 100 Mbps: la velocità
risultante del collegamento tra Fabio e lo switch sarà quindi pari a
100 Mbps e così via.
Se non si fa uso dell’auto negoziazione, secondo le specifiche IEEE
avviene quanto segue:

• Speed: E’ utilizzato il valore minimo (generalmente 10Mbps)


• Duplex: Se la velocità è 10 o 100 Mbps, è scelto Half Duplex,
altrimenti Full Duplex.
Gli switch Cisco sono in grado di rilevare la velocità del nodo
connesso anche in assenza di auto negoziazione. In questo caso la
scelta dei valori avviene in questo modo:

41
• Speed: Prova a rilevare la velocità in assenza di Auto
negoziazione. Se fallisce viene allora utilizzato il criterio
dell’IEEE (velocità minore)
• Duplex: Utilizza il criterio dell’IEEE. Se la velocità è 10 o 100
Mbps, è utilizzato Half Duplex, altrimenti Full Duplex.
Nell’esempio in figura, lo switch è in grado di rilevare una velocità di
100Mbps. Il collegamento sarà invece in Half Duplex, come descritto
dallo standard IEEE.

42
43
Gestione di uno switch

La configurazione iniziale di uno switch prevede che tutte le


interfacce di rete siano configurate su un'unica vlan detta Vlan 1 o
Vlan Default. Per gestire uno switch da remoto,è necessario
attivare sullo switch un identificativo, come quelli descritti nel
corso dei precedenti laboratori (es. 192.168.1.2). L’identificativo
prende il nome di Indirizzo logico IP e come vedremo è un
indirizzo utilizzato a livello 3 per il corretto instradamento dei
pacchetti. Quindi per poter esser raggiunto in rete, è fondamentale
associare un indirizzo IP ad uno switch. Tuttavia quest’ultimo è
un apparato di livello 2, non in grado di comprendere il contenuto

44
dell’Header Network e quindi il significato dell’indirizzo IP. Per
tale motivo, l’indirizzo piuttosto che a un’interfaccia di rete fisica
va associato a un’interfaccia virtuale (o logica) detta Switch
Virtual Interface (SVI). E’ possibile utilizzare più di una SVI su
un apparato.
La procedura da seguire, è quella riportata in figura: la SVI è
associata alla Vlan 1 (interface Vlan 1)

45
Oltre all’indirizzo IP (nell’esempio 192.168.1.1) bisogna definire un
ulteriore campo detto Subnet Mask, utilizzato per identificare i limiti
del dominio di broadcast. Torneremo più avanti su questo concetto.

Port Security

Il Port-Security è una tecnica utilizzata per limitare l’accesso in


rete solo alle postazioni autorizzate. Per realizzare l’obiettivo lo
switch effettua un controllo del Source MAC Address sui frame in
ingresso: se il MAC non è autorizzato, ovvero non presente
all’interno di un White list viene scartato.

46
Esistono diverse implementazioni del port-security tutte
accomunate da queste caratteristiche:
• Lo switch definisce un numero massimo di MAC Address
consentiti su un interfaccia di rete. In altri termini, per ogni
interfaccia, lo switch può avere un numero massimo di entry in
CAM Table.
• Osserva il Source MAC Address dei frame in entrata. Per
tenere traccia del numero degli indirizzi “visti”
sull’interfaccia, utilizza un contatore che si incrementa di uno
ogni volta che viene rilevato un nuovo MAC Address.

47
• Quando il numero dei MAC Address eccede quello impostato,
si genera una violazione e si rende necessaria un’azione da
parte dello switch.

Per abilitare il Port-Security su di una interfaccia è necessario:

1. Definire l’interfaccia Access o Trunk; vedremo nel seguito


questa distinzione. Per definire una porta Access dare il comando:
Switchport mode access

48
2. Dal Context Interface, abilitare l’utilizzo del port-security
dando il comando switchport port-security

3. (Opzionale) Per ciascuna interfaccia definire il massimo


numero di Mac Address che è possibile registrare in CAM.
4. (Opzionale) Specificare l’azione da intraprendere quando
avviene una violazione. Per farlo dare il comando switchport port-

49
security violation {protect | restrict |shutdown}. L’azione di
default è shutdown.
5. (Opzionale) Inserire manualmente il Source MAC Address
rilevabile sull’interfaccia, dando il comando switchport port-
security mac-address <mac-address>
6. (Opzionale) Abilitare l’opzione Sticky. In questo modo i
MAC Address saranno appresi dinamicamente e autonomamente
dallo switch. Per abilitarlo dare il comando switchport port-
security mac-address sticky

Le differenze tra le modalità di violazione Shutdown, Restrict e


Protect sono illustrate in tabella.

50
Azioni Svolte Protect Restrict Shutdown
Traffico illecito scartato SI SI SI
Invio Messaggi di Log e Avvisi NO SI SI
Disabilitazione dell’interfaccia NO NO SI

51