P2/10 device discovery, gestione e manutenzione

10.0 introduzione

10.0.1 benvenuto

10.0.1.1 capitolo 10 - device discovery, gestione e manutenzione. Cisco usa due protocolli in grado di scoprire informazioni sui device connessi:

* Cisco Discovery Protocol (CDP);
* Link Layer Discovery Protocol (LLDP).

Un altro tool importante è il Network Time Protocol (NTP) per sincronizzare gli orari dei sistemi, che sono utilizzati per confrontare i log.

La manutenzione, infice, deve assicurare che siano effettuati i backup delle immagini dei sistemi operativi e delle configurazioni dei sistemi. Oltre a mantenere aggiornati i sistemi operativi.

10.1 Device discovery

10.1.1 device discovery con CDP

10.1.1.1 overview del CDP. Cisco Discovery Protocol è un protocollo proprietario Cisco che lavora a layer 2 per scambiare info tra i device di rete. Indipendente dal media, gira su tutti i device Cisco.

Le info che invia periodicamente ai vicini sono: tipo di device, nome, n.ro e tipo di interfacce.

10.1.1.2 configurare e verificare CDP. CDP può lavorare globalmente sul device o su ogni singola interfaccia. Di conseguenza le configurazioni sono a livello globalo o sulla interfaccia selezionata.

Ricordare i seguenti comandi (il secondo # indica inizio del commento):

R# show cdp                        # mostra le info globali del servizio
R(config)# cdp run                 # abilita il servizio globalmente
R(config)# no cdp run              # DISABILITA il servizio globalmente
R(config-if)# cdp enable           # abilita il servizio solo per l'interfaccia corrente
R(config-if)# no cdp enable        # DISabilita il servizio solo per l'interfaccia corrente
R# show cdp neighbors [detail]     # mostra le principali info dei device vicini
R# show cdp interface              # mostra le info delle interfacce

10.1.1.3 scoprire device usando il CDP. Chiave è il comando show cdp neighbors che mostra varie informazionni, tra cui:

  • identificazione del device;

  • identificazione delle porte che lo interfaccia;

  • elenco delle capacità (router vs switch);

  • piattaforma hardware.

La parola chiave detail mostra un maggiore dettaglo di informazioni.

10.1.1.4 packet tracer - mappare una rete usando CDP*

10.1.2 device discovery con LLDP

10.1.2.1 overview di LLDP. Il Layer Link Discovery Protocol è uno standard pubblico, indipendente dal vendor, per lo scambio di informazioni tra device, sempre a layer 2.

Funziona su device di rete inclusi gli access point wireless.

10.1.2.2 configurazione e verifica di LLDP. Come CDP può essere configurato a livello globale per il device o a livello di singola interfaccia. Comandi di riferimento sono:

R# show lldp                       # mostra le info globali del servizio
R(config)# lldp run                # abilita il servizio globalmente
R(config)# no lldp run             # DISABILITA il servizio globalmente
R(config-if)# lldp transmit        # abilita la trasmissione delle info solo per l'interfaccia corrente
R(config-if)# lldp receive         # abilita la ricezione delle info solo per l'interfaccia corrente
R# show lldp neighbors [detail]    # mostra le principali info dei device vicini

10.1.2.3 device discovery con LLDP- Comando chiave è show lldp neighbors eventualmente con la keyword detail per avere un output dettagliato.

10.1.2.4 attività- comparazione di CDP e LLDP

10.1.2.5 lab- configurare CDP e LLDP

10.2.1 NTP

10.2.1.1 settare il sistem clock. È importante per confrontare gli eventi che avvengono in sistemi diversi.

Si può fare manualmente o com il Network Time Protocol (NTP).

NTP è raccomandato. I client ricevono i dati dell’orario e della data da uno (o più) orologi di riferimento (master clock)

NTP usa UDP, porta 123, ed è documentato in RFC 1305.

10.2.1.2 operatività di NTP. Una rete NTP è un albero gerarchico, organizzato a strati.

Alla radice (stratum 0) vi sono i master clock: sorgenti temporali autoritative. Sono device specializzati, molto precisi e con bassi delay. Ad es. orologi atomici o GPS (che cmq è generato da orologi atomici a bordo dei satelliti GPS).

Lo stratum 1 sono macchine connesse direttamente con lo stratum 0, da cui ricevono il segnale temporale.

Gli stratum successivi (da 2 a 15) sono connessi ciascuno con lo stratum di n.ro inferiroe. Possono essere anche connessi con rapporto peer-to-peer tra loro (backup e controllo).

Lo Stratum 16 contiene macchine che non utilizzano il servizio NTP.

10.2.1.3 configurare e verificare NTP. Ricordare i seguenti comandi (il secondo # indica inizio del commento):

R# show clock [detail]                      # mostra il tempo corrente, con detail anche la sorgente
R(config)# ntp-server srv-addr              # imposta il NTP da cui ricevere i messaggi NTP
R# show ntp associations                    # mostra i server NTP agganciati
R# show ntp status                          # mostra lo stratum della macchina e dettagli del servizio

10.2.1.4 packet tracer - configurare e verificare NTP

10.2.2 operatività del syslog

10.2.2.1 introduzione al syslog. I device di rete possono notificare all’amministratore quando accadono determinati eventi.

I messaggi di notifica possono essere gestiti (visualizzati/memorizzati) con diverse modalità.

Il modo più diffuso di gestire e accedere a questi messaggi è un protocollo chiamato syslog. Syslog è anche uno standard (IETF - RFC 3164). Usa UDP, porta 514 per inviare i messaggi a server che li memorizzano.

Syslog permette:

  • di collezionare le informazioni di logging per monitoraggio e correzione;

  • di selezionare il tipo di informazione da catturare;

  • di specificare le destinazioni dei messaggi catturati.

10.2.2.2 operatività del Syslog. Nei device Cisco, syslog invia i messaggi di sistema e le informazioni dal debug ad un processo di logging interno al device.

Il processo di logging può essere configurato per indicare come gestire i messaggi. I messaggi possono essere inviati via rete ad un server syslog esterno, oppure ad un buffer interno (RAM del device). Così come si può decidere il tipo di messaggi da catturare.

Le principali idestinazioni dei messaggi sono:

  • logging buffer (RAM del device);

  • linea console;

  • linea terminale;

  • server syslog.

10.2.2.3 formato del messaggio Syslog. I messaggi syslog sono categorizzati da un livello di severità e dall’indicazione del servizio.

I livelli numericamente inferiori sono i più critici. Abbiamo i seguenti livelli di severità:

  • I livelli da 0 (emergenza) a 4 (warning) sono messaggi d’errore per malfunzionamenti software o hardware.

  • Il livello 5 (notifica) riguarda livelli normali anche se significativi. Ad esempio le transizioni interfaccia su/giù.

  • Il livello 6 (informativo) è un normale messaggio d’informazione.

  • Il livello 7 (debugging) sono output del comando di debug.

Riguardo l’indicazione del servizio, le versioni moderne di Cisco IOS possono indicare 12 diversi tipi di servizi, per un totale di 24 servizi specifici. I più comuni sono:

  • IP,

  • OSPF protocol,

  • SYS (operating system),

  • IPSEC (IP security),

  • IF (interface IP).

Il formato del messaggio, di default è il seguente:

  • sequence number - n.ro sequenziale progressivo; deve essere settato:

    R(config)# service  sequence-numbers
    
  • timestamp - deve essere settato:

    R(config)# service  timestamps
    
  • facility - servizio di origine del messaggio;

  • severity - codice del livello di severità;

  • mnemonic - descrizione univoca del messaggio;

  • description - informazioni di dettaglio.

Ad esempio uno switch può generare un messaggio tipo:

00:00:46: %LINK-3-UPDOWN: Interface Port-channel1, changed state to up

Messaggi più frequenti: i link up/down, messaggi aluscita della configurazione, logging delle ACL se è settato.

10.2.2.4 service timestamp. Di default il timestamp non è indicato. Per inserire il timestamp nei messaggi:

R(config)# service timestamps log datetime

Attenzione che datetime richiede il clock impostato (si veda NTP).

10.2.2.5 activity - interpretare l’output del syslog

10.2.3 configurazione del syslog

10.2.3.1 syslog server. Esistono syslog server di vario tipo: da versioni enterprise a pagamento a versioni freeware.

Ad esempio il prodotto Kiwi Syslog Daemon per Windows 7 ha una verisone di valutazioen.

Un syslog server ha una interfaccia utente che semplifica la navigazione nei dati, effettuando ricerche di dettaglio e eliminando i dati non necessari.

10.2.3.2 default logging. Di default i sistemi Cisco inviano i messagi di log alla console, e il livello di severità di default è 7 (debugging).

In alcune versioni di IOS inoltre di default i messaggi sono bufferizzati.

Si ricordino i seguenti:

R(config)# logging console # log msgs a console R(config)# logging buffered # log msgs a buffer R# show logging # mostra lo stato del syslog e l’elenco dei messaggi (buffer)

10.2.3.3 comandi per router e switch clients di syslog. Vi sono tre step da effettuare:

R(config)# logging 192.168.1.3               # imposta il syslog server (anche hostname)
R(config)# logging trap 4                    # imposta il severity level max loggato
R(config)# logging source-interface g0/0     # specifica il source IP del msg di log (indipendente dall'interfaccia che invia fisicamente)

Per vedere al lavoro la configurazione precedente:

R(config)# interface loopback 0
R(config-if)# shutdown
R(config-if)# no shutdown

Alla console del router si osserveranno tutti i messaggi di log (livelli da 0 a 7), mentre nel syslog server vi saranno solo i messaggio da 0 a 4 perché si è impostata la trap a 4.

10.2.3.4 verificare il syslog. Si usa il comando show logging per controllare l’elenco dei messaggi loggati localmente.

Se vi sono molti messaggi, si usi la opzione di pipe. Ad esempio:

R# show logging | include changed state to up

10.2.3.5 packet tracer - configurare syslog e NTP

10.2.3.6 lab - configurare syslog e NTP

10.3 device management

10.3.1 file maintenance di router e switch

10.3.1.1 filesystem di router. Cisco IOS è un sistema operativo dotato di file system che permette di navigare tra le directory ed elencare i file, oltre la creazione di subdirectory in flash memory o su disco. Le directory presenti dipendono dal device.

Comandi:

R# show file systems              # mostra i file system disponibili
R# dir                            # elenca file e subdirectory della filesystem+dir corrente
R# cd nvram:                      # change directory - cambia file system, rende corrente nvram
R# pwd                            # present working directory
nvram:/

I file system d’interesse sono:

  • tftp;

  • flash;

  • nvram.

Il file system corrente viene infdicato da un asterisco in prima colonna.

Un file system bootable viene indicato con un cancelletto (#) in ultima colonna. Di solito è la flash.

Il file system flash. Vi sono vari file. In particolare d’interessemè l’ultimo file (c1900-universalk9-…) che è il sistema operativo running.

Il file system NVRAM. Rendendo corrente nvram la dir mostra tra i vari file lo startup-config.

10.3.1.2 switch file systems. Per lo switch 2960 i comandi sono analoghi a quelli dei router.

10.3.1.3 backup e restore usando file di testo.

Backup delle configurazioni tramite la cattura del testo. Utilizzare lo strumento di log del testo visualizzato sul terminale mentre si esegue:

R# show running-config            # o startup-config

Restore delle configurazioni da file di testo. Prima di effettuare il copy & paste del file di backup indicato nella voce precedente è necessario ripulirlo dalle linee di output che non sono comandi.

Ad esempio l’output ogni tanto presenta linee del tipo –More–, oppure messaggi di IOS. Questi vanno rimossi.

Dopo di che effettuare login con il terminale, andare in global configuration e fare copy & paste sul terminale dei contenuti ripuliti del backup.

In questo modo l’input al terminale viene eseguito dal CLI come se fosse digitato dall’utente.

10.3.1.4 backup e restore da TFTP. Per fare la copia di backup della configurazione su TFTP:

R# copy running-config tftp                          # o startup-config
Remote host []? 192.168.10.254                       # tftp server address
Name of configuration file to write [R-config]? R-jan-2016
...

Per il restore, invertire sorgente e destinazione:

R# copy tftp running-config
Remote host []? 192.168.10.254                       # tftp server address
Name of configuration file to write [R-config]? R-jan-2016

10.3.1.5 usare le porte USB di un router Cisco. Alcuni modelli di router Cisco possono montare USB flash driver tramite porte USB:

R# dir usbflash0:
...

Si possono copiare i file dalla flash: alla usbflash: e viceversa, eventualmente archiviando versioni diverse del sistema operativo.

10.3.1.6 backup e restore usando la USB

backup delle configurazioni usando un USB flash drive. Ricordare:

R# show file systems                              # controlla il drive USB e il suo nome
...
R# copy running.config usbflash0:/                # copia la config.corrente su susb
Destination filename [running-config]? R-config   # nome del file destinazione
...
R# dir usbflash0:/                                # controlla la presenza del file dest.
R# more usbflash0:/R-config                       # controlla il contenuto del file dest.
...

Per il restore, invertire sorgente e destinazione:

R# copy usbflash0:/R-config running-config        # restore della configurazione

10.3.1.7 password recovery. Per recuperare le password:

  1. entrare in modalità ROMMON;

    Con accesso da console, per entrare in ROMMON usare la sequenza di break durante il processo di boot up o, a device spento, rimuovere la flash memory esterna. Per Putty la sequenza di break é ctrl-break.

  2. cambiare il registro di configurazione al valore 0x2142, in tal modo si ignora lo startup-config:

    Readonly ROMMON initialized
    monitor: command "boot" aborted due to user interrupt
    rommon 1 > confreg 0x2142
    rommon 2 > reset
    ...
    
  3. modificare lo startup-config come necessario;

    R> enable # va in privileged mode R# copy startup-config running-config # config.originale cancella la corrente- attenzione: non fare il contrario R# configure terminal R(config)# enable secret my-new-password # impostare le nuove password R(config)# config-register 0x2102 # ricaricare lo starup-config al boot R(config)# end R# copy running-config startup-config # salvare la config.corrente come startup R# reload # riavvio

10.3.1.8 packet tracer - backup dei file di configurazione

10.3.1.9 lab - gestire file di configurazione di router con Tera Term

10.3.1.10 lab - gestire file di configurazione dei device usando TFTP, Flash e USB

10.3.1.11 lab - cercare procedure di password recovery

10.3.2 file di sistema IOS

10.3.2.1 Packaging della immagine del sistema IOS 15. I router Cisco delle serie 1900, 2900 e 3900 1 supportano servizi richiesta che vengono sbloccati tramite licenze software.

Questi sistemi sono consegnati con una immagine Cisco IOS universale. Le licenze permettono all’utente di abilitare gruppi di funzionalità. La tipologia dei gruppi è illustrata qui di seguito:

_images/07_ios_packaging.svg

I sistemi ISR G2 hanno due tipi di immagini di IOS universali:

  • quelle con la dicitura universalk9 nel nome; queste hanno capacità di crittografia forte (IPsec, SSL VPN, Secure Unified Communications);

  • quelle il cui nome contiene universalk9_npe; queste non hanno capacità di crittografia forte.

Tutte le funzionalità vanno attivate tramite Cisco Software Activation licensing key.

Queste chiavi sono diverse per ogni sistema e si ottengono da Cisco indicando

  • product ID,

  • serial number;

  • product activation key (PAK), inviato al momento dell’acquisto.

10.3.2.2 nomi dei file dell’immagine IOS. Il nome dell’immagine del IOS è caratterizzato da una apposita convenzione.

Il nome dell’immagine IOS su flash è visualizzato dal comando che mostra i nomi i tutti i file nella flash:

R# show flash

I nomi sono del tipo:

c1900-universalk9-mz.SPA.152-4.M3.bin

ovvero:

  • c1900 - indica il tipo hardware del sistema (platform);

  • universalk9 - è la designazione dell’immagine;

  • mz - dove il file gira (memory: m) e se è compresso (compresso: z);

  • SPA - file firmato digitalmente da CISCO;

  • 152-4.M3 - ovvero: 15.2(4)M3; major (15) e minor (2) release; new feature (4) extendent maintenance release (M) rebuild number (3);

  • bin - file extension.

10.3.3 gestione delle immagini IOS

10.3.3.1 usare TFTP come locazioni di backup. Un server TFTP può essere un modo per centralizzare le immagini delle versioni di IOS utilizzate. Così come le varie configurazioni.

Il server in questione può essere un router, una workstation o un host.

10.3.3.2 passi per fare il bakup di una immagine IOS su server TFTP. Si devono avere procedure di backup/restore per minimizzare i tempi di downtime.

Ad esempio. Dato un server TFTP in 172.16.1.100. Per il backup:

R# ping 172.16.1.100                  # controlla la connessione
R# show flash0:                       # controlla dimensione e nome file
R# copy flash0:  tftp:                # copia il file su tftp
Source filename []? c1900-universalk9-mz.SPA.152-4.M3.bin
Address or name of remote host []? 172.16.1.100
Destination filename [c1900-universalk9-mz.SPA.152-4.M3.bin]? <cr>
...

10.3.3.3 passi per copiare una immagine IOS da server TFTP a un device Dato un server TFTP IPv6, come segue:

R# ping 2001:DB8:CAFE:100::99         # controlla la connessione
R# show flash0:                       # controlla lo spazio disponibile in flash
...
R# copy tftp: flash0:                 # copia il file su flash
Address or name of remote host []? 2001:DB8:CAFE:100::99
Source filename []? c1900-universalk9-mz.SPA.152-4.M3.bin
Destination filename []? c1900-universalk9-mz.SPA.152-4.M3.bin
...

10.3.3.4 il comando boot system. Durante il bootstrap, il codice di avvio controlla se in startup-config vi sono comandi boot system …. Se vi sono, esegue il primo caricando il relativo file; se non vi sono carica il primo file immagine che trova in flash memory.

Quindi, per avere una indicazione esplicita di cosa caricare:

R# configure terminal
R(config)# boot system flash0://c1900-universalk9-mz.SPA.152-4.M3.bin
R(config)# exit
R# copy running-config startup-config
R# reload
...                                         # reboot del sistema
R# show version                             # controlla la versione di IOS caricata
Cisco IOS Software, C1900 Software (C1900-UNIVERSALK9-M), Version 15.2(4)M3, RELEASE SOFTWARE (fc2)
...

10.3.3.5 packet tracer - usare un server TFPT per upgradae una immagine Cisco IOS

10.3.3.6 dimostrazione video - gestire immagini di Cisco IOS

10.3.4 Software Licensing

10.3.4.1 Overview del Licensing. Come indicato in 10.3.2.1, a partire dalla versione 15.0, Cisco distribuisce un sistema operativo universale, i cui gruppi di funzionalità sono attivati da chiavi di licenza. Questa politica di rilascio del software si applica ai sistemi ISR G2. I precedenti hardware, anche se compatibili con IOS 15.x, devono installare le diverse versioni di IOS separatamente.

I packages che compongono IOS universalK sono:

  • IP Base;

  • Data;

  • Unified Communicaton (UC);

  • Security (SEC).

Tecnologia di licensing dei package, si visualizza tramite il comando:

R# show license feature

10.3.4.2 processo di licensing. Il router è fornito di una licenza di valutazione, temporanea.

Se si vuole attivare permanentemente un set di funzionalità è necessario acquistare una licenza software, che è un processo in tr step:

  • acquisto, invia all’utente un PAK;

  • ottenere la licenza, usando il PAK e i dati del router si ottiene il file della licenza;

  • si installa la licenza.

10.3.4.3 step 1 - acquisto del software package da installare. Ad esempio si può avere necessità di aaggiungere security ad IP base.

All’atto dell’acquisto, Cisco invia un Software Claim Certificate che contiene un Product Activation Key (PAK), oltre la Cisco End User License Agreement (EULA).

Se il canale di vendita ha già attivato il software del router, non vi sarà il Software Claim Certificate. In ogni caso si otterrà il PAK.

Il PAK è una chiave alfanumerica di 11 digit, da utilizzare per avere la licenza.

10.3.4.4 step 2 - ottenere la licenza. Questo è un file, e si ottiene in due possibili modi:

  • usando un Cisco License Manager (CLM); ovvvero un programma free di Cisco che aiuta ad acquisire e installare più licenze su diversi device di rete;

  • usando il portale Cisco License registration Portal, il sito WEB di Cisco per ottenere e registrare singole licenze.

Entrambe le modalità predette richiedono il PAK (vedi pagina precedente) e lo Unique Device Identifier (UDI).

UDI è la combinazione del Product ID (PID) che identifica il tipo di device, e il serial number (SN). Se si vuole è possibile visualizzare lo UDI con il comando:

R# show license udi

In ogni caso, alla fine si ottiene il license file via email. Questo è un file in formato xml, con estensione .lic.

10.3.4.5 step 3 - installare la licenza. L’installazione del license file avviene in due step:

R# license install file                 # installazione del file di licenza
R# reload                               à riavvio del sistema

Usualmente si ottiene, e si installa, una licenza permanente, ovvero non soggetta a termini di scadenza e valida anch in caso di aggiornamento della versione di IOS.

Esempio di installazione:

R# license install flash0:securityk9-CISCO1941-FHH12250057.lic
R# reload

10.3.5 verifica e gestione della licenza

10.3.5.1 verifica della licenza. Il comando show version in coda elenca i package presenti e il relativo tipo di licenza.

Mentre il comando show license dà maggiori dettagli riguardo tutte le licenze installate nel sistema. Tra l’altro indica:

  • feature - il package;

  • license type - permanent, evaluation, …;

  • license state* - active, in use, …;

  • license count - n.ro di licenze disponibili e in uso; se vale non-counted allora la licenza è senza restrizioni (n.ro utenti illimitato);

  • license priority - high, low.

10.3.5.2 attivare una licenza dirittto-d’uso. Quando si installa una licenza, si richiede l’accettazione dell’EULA. Il comando:

R(config)# license accept end user agreement

assicura l’accettazione dell’EULA per tutte le licenze del sistema

Le licenze di valutazione, dopo 60 giorni sono rimpiazzate da licenze right-to-use (RTU).

Per attivare una licenza di valutazione usare il comando:

R(config)# license boot module module-name technology-package package-name
R(config)# end
R# reload
...
R# show license

Ad esempio:

R(config)# license boot module c1900 technology-package datak9

I package per ISR G2 sono:

  • ipbasek9;

  • securityk9;

  • datak9;

  • uck9 - unified communication (non nei 1900)

10.3.5.3 backup delle licenze. Le licenze devono essere sottoposte a backup:

R# licence save flash0:all_licenses.lic           # salva tutte le licenze nella flash
R# show flash0:                                   # controllo

10.3.5.4 disinstallare una licenza. Una licenza permanente si toglie come segue:

R(config)# license boot module module-name technology-package package-name disable   # prepara la disattivazione
R(config)# reload                                          # riavvia per disattivare la licenza
.....
R# license clear package-name                              # cancella dalla base dati delle licenze
R# configure terminal
R(config)# no license boot module module-name technology-package package-name disable   # toglie la preparazione alla disattivazione

Licenze built-in non possono essere rimosse, ad esempio quelle di valutazione. Possono essere rimosse le licnze installate con il comando license install.

10.3.5.5 dimostrazione video - lavorare con le licenze di immagini di IOS 15

10.4 sommario

10.4.1 conclusione

10.4.1.1 packet tracer - skills integration challenge

10.4.1.2 prima di concludere

10.4.1.3 capitolo 10: device discovery, management e maintenance


1

Cisco Integrated Services Routers Generation Two (ISR G2)