Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Laboratorio di reti
Gianluca Massei
masseigianluca@gmail.com
www.dibet.unina.it/gianluca.massei
1
Componenti interne di un router
Router e computer presentano le stesse
componenti di base: CPU, memorie, bus ed
interfacce.
Le componenti principali sono definite di seguito.
Laboratorio di reti 2
2
Interfacce di un router
q Le interfacce possono
essere LAN, WAN o di
management.
q L’alimentazione può
essere in AC o DC.
3
Connessioni LAN
q Possibili alternative: doppini intrecciati (schermati e non schermati), cavi
coassiali (doppi e fini), fibre (monomodali e multimodali), comunicazioni
wireless (a 2.4 e 5 GHz).
q Si utilizzano principalmente i doppini intrecciati non schermati (cavi UTP)
4
Cavi UTP dritti/incrociati
q Cavi UTP dritti e incrociati si utilizzano per le
connessioni dati
5
Connessioni WAN
Laboratorio di reti 6
6
Connessioni WAN (2)
Per un router Cisco:
• la connettività WAN lato DTE
è fornita tramite connettori a
60 pin (DB60) o più compatti
(smart serial);
• la connettività lato DCE è
fornita in tecnologie differenti;
noi useremo la V.35 (a 34 pin)
7
Connessioni console
• La connessione in console si effettua collegando il cavo rollover da un lato alla
porta console del router e dall’altro alla porta COM di un computer tramite un
opportuno adattatore (RJ-45 to DB9)
• Il computer deve presentare un software di terminal emulation (HyperTerminal
per Windows, Minicom per Linux)
• Lanciato HyperTerminal, va scelta e configurata opportunamente la porta COM
utilizzata (9600 baud, 8 data bits, No parity, 1 stop bit, No flow control)
Laboratorio di reti 8
8
Cisco IOS e CLI
• I Router CISCO (così come gli Switch della serie Catalyst) adottano un
sistema operativo denominato CISCO IOS (Internet Operating System)
• L’IOS è in costante evoluzione e miglioramento. Spesso le nuove release
introducono migliorie o nuove funzioni; è quindi a volte necessario aggiornare
l’IOS per poter utilizzare appieno il proprio apparato.
• L’interazione con l’IOS avviene attraverso una Command-Line Interface
(CLI): un’interfaccia testuale, che permette di configurare in ogni sua parte
il comportamento del dispositivo (per alcuni switch esistono anche GUI,
mentre per i router è possibile creare delle configurazioni tramite tool ad
interfaccia grafica e poi copiarle via rete nel router).
9
Router Startup
• All’accensione, il router esegue il POST per verificare che tutte le sue
componenti HW funzionino correttamente, quindi inizia il processo di
inizializzazione:
• Alla fine di tale processo, se il router non trova nella NVRAM (o in un server
TFTP) la startup configuration, può essere configurato dall’amministratore
da console tramite la modalità di setup (rispondendo alle domande poste) o
manualmente (immettendo cioè i comandi appropriati).
• La modalità di setup permette di definire una configurazione minimale, ed è
quindi raramente utilizzata
Laboratorio di reti 10
10
Router Startup (2)
Avviando il router dopo aver collegato il cavo console e lanciato
HyperTerminal, dai messaggi a video che compaiono durante il processo di
inizializzazione è possibile conoscere in particolare:
• Versione dell’IOS,
• Modello del router,
• Numero e tipo di interfacce dati,
• Dimensione della memoria NVRAM,
• Dimensione della memoria Flash.
Laboratorio di reti 11
11
IOS: Modalità di interfacciamento
Esistono differenti modalità di interfacciamento con l’IOS, ognuna
contraddistinta dal proprio prompt:
• User EXEC: all’avvio per verificare lo stato del router,
• Privileged EXEC: per accedere alla configurazione del router,
• Global Configuration: per configurare il router nella sua interezza,
• Modalità di configurazione specifiche: Interfaccia (per configurare
le interfacce dati), Line (configurare l’accesso via telnet e console),
Router (per configurare i protocolli di routing), …
enable disable/exit
Laboratorio di reti 12
12
IOS: Configurazione iniziale
1. Configurazione del nome mnemonico del router (di solito contiene la
locazione, la funzione e l’ente di appartenenza) per identificarlo
all’interno della rete (esso è infatti riportato nel prompt)
Router(config)#hostname Tokyo
Tokyo(config)#
Laboratorio di reti 13
13
IOS: Configurazione iniziale (2)
4. Definizione di una password di enable (richiesta per accedere alla
modalità Privileged Exec) riportata in chiaro nel file di configurazione:
Router(config)#enable password <password >
Laboratorio di reti 14
14
IOS: Salvataggio/Ripristino della
configurazione
Comando di
visualizzazione
Comandi di
cancellazione
totale e riavvio
15
IOS: Sistema di help
• Il solo punto interrogativo permette di conoscere tutti i possibili comandi
(con una loro breve descrizione) nella modalità considerata.
• Per passare alla schermata successiva dell’output (in presenza di “--More--”
alla fine della schermata corrente) si utilizza la barra spaziatrice
• Il pulsante Invio riproduce la sola riga successiva dell’output
Laboratorio di reti 16
16
IOS: Sistema di help (2)
• L’utilizzo del punto interrogativo dopo l’immissione di alcune lettere
restituisce tutti i possibili completamenti (in presenza di un unico possibile
completamento, questo si può ottenere con il tasto Tab)
• L’utilizzo del punto interrogativo separato da uno spazio dopo un comando
restituisce tutti i possibili attributi del comando
• L’utilizzo dei tasti Freccia su e Freccia giù permette di muoversi nell’history
• In caso di errore nella sintassi di un comando, il simbolo di caret (^) indica la
posizione dell’errore stesso
Laboratorio di reti 17
17
IOS: Configurazione di un’interfaccia
1. La configurazione di un’interfaccia si effettua innanzitutto indicando
l’interfaccia di interesse (in termini di tipologia, slot di appartenenza,
numero all’interno dello slot)
Router(config)#interface <type> <slot>/<port>
Router(config-if)#
Es: Router(config)#interface serial 0/0
Router(config)#interface ethernet 1/0
3. Attivazione dell’interfaccia:
Router(config-if)#no shutdown
(Un’interfaccia di default è disabilitata; dopo la sua attivazione è possibile
disabilitarla nuovamente utilizzando il comando shutdown)
Laboratorio di reti 18
18
IOS: Configurazione di un’interfaccia (2)
4. Negli scenari back-to-back il router che funge da DCE deve fornire il segnale
di clock al DTE; sull’interfaccia seriale del DCE è necessario abilitare il clock
e definirne la velocità:
Router(config-if)#clock rate 56000
5. Descrizione di un’interfaccia (per identificarne scopo, locazione, dispositivo
connesso, velocità, …)
Router(config-if)#description <string>
Es: Router(config-if)#description connected to conference
room
Laboratorio di reti 19
19
IOS: Altri comandi di show
Diseguito alcuni comandi di show (sempre in modalità User o Privileged)
• show clock – Mostra l’ora impostata nel router
• show users – Mostra gli utenti connessi al router
• show history – Mostra il contenuto dell’history
• show version – Mostra numerose informazioni relative a router ed IOS
• show CDP neighbors – Mostra informazioni su tutti i dispositivi direttamente
connessi (hostname, interf. locale, holdtime, tipo, modello, inter. remota., ..)
ottenute tramite il protocollo CDP (Cisco Discovery Protocol)
• show startup-configuration – Mostra il file di configurazione contenuto in NVRAM
• show running-configuration – Mostra la configurazione correntemente in uso e
salvata in RAM
Altri meccanismi di troubleshooting sono:
• ping (per la verifica della raggiungibilità),
• traceroute (per il tracciamento del
percorso),
• telnet (per la connessione da remoto),
• i comandi di debug (per ottenere
dinamicamente sul display informazioni
relativi ad eventi di interesse al
verificarsi di questi)
Laboratorio di reti 20
20
IOS: rotte statiche
• La tabella di inoltro di un router (necessaria per raggiungere ogni sottorete non
direttamente connessa) può essere riempita staticamente dall’amministratore o
dinamicamente dai protocolli di routing. Definizione delle rotte stitiche:
Router(config)# ip route <dest_subnet> <dest_subnet_mask>
{<outgoing_address> |<outgoing_interface>}
Es: Hoboken(config)# ip route 172.16.1.0 255.255.255.0 s1
Hoboken(config)# ip route 172.16.5.0 255.255.255.0 172.16.4.1
(Sterling ed Waycross utilizzano la stessa interfaccia di uscita a prescindere
dalla sottorete di destinazione à si utilizzano le rotte statiche di default )
Sterling(config)# ip route 0.0.0.0 0.0.0.0 s0
Waycross(config)# ip route 0.0.0.0 0.0.0.0 s1
N.B.1: Facendo a meno delle rotte di
default, è necessaria una rotta statica per
ogni sottorete non direttamente connessa
N.B.2: I router considerati non sono
modulari (es.: non compare il numero di slot)
N.B.3: Nella CLI è possibile utilizzare
abbreviazioni di comandi e attributi quando
questi presentano un unico possibile
completamento (es.: s in luogo di serial )
Laboratorio di reti 21
21
IOS: rotte dinamiche - es. RIP
• Affinché le tabelle di inoltro siano riempite dinamicamente è necessario almeno
scegliere il protocollo di routing e definire le interfacce che partecipano al processo di
determinazione del percorso indicando le subnet direttamente connesse:
Router(config)# router <routing_protocol>
Router(config-router)# network <directly_connected_subnet>
• Il comando network deve essere ripetuto per tutte le subnet direttamente connesse
• Ad es. volendo utilizzare RIP per il router BHN nello scenario in figura:
BHM(config)# router rip
BHM(config-router)# network 192.168.12.0
BHM(config-router)# network 192.168.13.0
• Per abilitare la versione 2 di RIP (che supporta il VLSM):
Router(config-router)# version 2
Laboratorio di reti 22
22
IOS: rotte dinamiche - es. RIP (2)
• Redistribuzione di una rotta di default negli aggiornamenti di routing:
Router(config-router)# default-information originate
• Definizione di una rete di default (a cui inoltrare i pacchetti come ultima risorsa, quando
non si conosce un’interfaccia di output per una particolare subnet di destinazione):
Router(config)# ip default-network <default_subnet>
Es: Dopo aver configurato RIP per raggiungere tutte le subnet per la rete aziendale,
affinché da ogni punto di questa sia raggiungibile Internet sono possibili 2 alternative:
ü Alternativa 1: Configurare su DES una rotta statica di default verso Internete
redistribuirla all’interno della rete
DES(config)# ip route 0.0.0.0 0.0.0.0 192.168.1.1
DES(config-router)# default-information originate
ü Alternativa 2: Lasciare su DES la rotta statica e configurare una rete di default
su SIN e CEN
SIN(config)# ip default-network 192.168.1.0
CEN(config)# ip default-network 192.168.1.0
Internet
CEN
.1 192.168.1.0/24
SIN DES
Laboratorio di reti 23
23
IOS: Contenuto della tabelle di inoltro
• Il contenuto delle tabelle di inoltro può essere visualizzato come in figura:
Laboratorio di reti 24
24
IOS: ACL (Access Control List)
r ACL: lista di regole da applicare sequenzialmente (dal particolare al generale) ai
pacchetti entranti o uscenti su una particolare interfaccia al fine di filtrare il traffico.
r Tramite una ACL, un router (con funzioni di firewall) esamina ogni pacchetto in transito
e decide se inoltrarlo o filtrarlo in base agli indirizzi IP sorgente e destinazione, i
protocolli trasportati, ed i numeri di porta.
r Ogni ACL agisce su una specifica direzione di transito di una specifica interfaccia
r Alla fine di ogni ACL c’è sempre una regola implicita secondo la quale si scarta ogni
pacchetto
r Esistono diversi tipi di ACL; nel corso ci soffermiamo sulle ACL standard (controllano
solo gli indirizzi IP sorgente) ed estese (effettuano un controllo più approfondito)
Laboratorio di reti 25
25
IOS: ACL standard
r Caratteristiche:
Ø Effettuano un filtraggio basato solo sull’ indirizzo IP sorgente
Ø Sono specificate tramite un access-list-number nei range: 1-99 e 1300-1999
Ø Fanno uso di wildcard-mask
Ø Si applicano di norma all’interfaccia più vicina alla destinazione di interesse
r Per definire una singola regola di una ACL standard si utilizza la seguente sintassi
Router(config)# access-list <access-list-number> {deny|permit} <IP-
source> <source-wildcard-mask>
r Per applicare una ACL standard (ma anche estesa) ad una particolare interfaccia in uno
specifico verso (considerando un punto di vista interno al router):
Router(config-if)# ip access-group <access-list-number> {in|out}
Laboratorio di reti 26
26
IOS: Wildcard Mask
r Una Wildcard Mask è una sequenza di 32 bit (rappresentata nella notazione decimale
puntata) utilizzata per indicare quali bit bisogna controllare nella sequenza X di 32 bit
cui la wildcard mask è applicata: un bit 0 [1] nella wildcard mask indica che il bit
corrispondete nella sequenza X va controllato [non va controllato]
27
IOS: Esempio di ACL standard
Laboratorio di reti 28
28
IOS: ACL estese
r Caratteristiche:
Ø Effettuano un filtraggio approfondito (intestazioni 3/4 dello stack TCP/IP)
Ø Sono specificate tramite un access-list-number nei range: 100-199 e 2000-2699
Ø Fanno uso di wildcard-mask
Ø Si applicano di norma all’interfaccia più vicina alla sorgente di interesse
r Per definire una singola regola di una ACL standard si utilizza la seguente sintassi
Router(config)# access-list <access-list-number> {deny|permit}
<protocol> <IP-source> <source-wildcard-mask> <IP-destination>
<destination-wildcard-mask> [<operator> {<port-number>|<port-name>}
[<port-number>]] [established]
dove:
Ø protocol: tcp, udp, icmp o ip (per tutti)
Ø operator: eq (equal), neq (not equal), lt (less than), gt (greater than), and range
(inclusive range: richiede due numeri di porta)
Ø established: solo per il protocollo TCP per indicare segmenti che non hanno il flag SYN alto
r L’applicazione e la cancellazione di una ACL estesa si effettua come per una ACL
standard
Laboratorio di reti 29
29
IOS: Esempio di ACL estese
Laboratorio di reti 30
30
IOS: NAT (Network Address Translation)
r Il NAT è un meccanismo che permette di risparmiare indirizzi IP pubblici tramite
l’utilizzo di indirizzi IP privati e la traduzione di questi in un unico indirizzo pubblico o
viceversa al passaggio dei pacchetti attraverso il gateway.
r La differenziazione dei pacchetti avviene agendo sui numeri di porta
r Sottoreti private: Classe A: 10.0.0.0/8, Classe B: da 172.16.0.0/16 a 172.31.0.0/16,
Classe C: da 192.168.0.0/24 a 192.168.255.0/24
Laboratorio di reti 31
31
IOS: Esempio di NAT
r Tramite la configurazione riportata, il router GW traduce gli indirizzi IP privati
appartenenti alle sottoreti locali 192.168.2.0/24 e 192.168.3.0/24 nell’indirizzo IP
pubblico 172.16.2.1 configurato sulla sua interfaccia s0.
Laboratorio di reti 32
32
IOS: Servizio DHCP
r DHCP (Dynamic Host Configuration Protocol) Server: permette a un host di ottenere un
indirizzo IP in modo automatico
r Oltre all’indirizzo IP, l’host ottiene anche informazioni aggiuntive come: la maschera di
sottorete, l’indirizzo IP del gateway, l’indirizzo del suo server DNS locale.
Laboratorio di reti 33
33
IOS: Esempio di servizio DHCP
r Tramite la configurazione riportata, il router assegna dinamicamente agli host della
propria LAN gli indirizzi appartenenti alla subnet 172.16.1.0/24 (esclusi l’indirizzo della
sua interfaccia LAN, ed i primi dieci indirizzi della stessa subnet riservati per le
macchine server), l’IP del gateway e del server DNS.
Laboratorio di reti 34
34
Approfondimenti
ü www.cisco.com
ü Ciscopedia
ü Esercizi proposti in laboratorio
ü Test proposto sulle ACL
Laboratorio di reti 35
35