Sei sulla pagina 1di 35

Telematica 2008/2009

Laboratorio di reti

Gianluca Massei

masseigianluca@gmail.com
www.dibet.unina.it/gianluca.massei

Presentazione parzialmente tratta da:


CCNA GUIDE – Cisco Press

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.

q RAM: Memoria volatile contenente routing table, running


configuration, ARP cache, buffer di accodamento
q NVRAM: Memoria non volatile contenente startup configuration
q Flash: Memoria non volatile contenente l’immagine dell’IOS (Internet
OS)
q ROM: Memoria non volatile contente le istruzioni per il POST (Power-
ON Self Test) ed il bootstrap (che provvede a caricare l’IOS)
q Interfaccia console [AUX]: fornisce l’accesso fisico diretto [l’accesso
tramite modem] per la configurazione iniziale
q Interfacce dati: forniscono la connettività LAN e WAN

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.

q I router sono spesso modulari:


presentano slot cui attaccare
moduli comprendenti interfacce di
differente tipo.
q Un modulo va sostituito avvalendosi
di un braccialetto antistatico
collegato alla carcassa
(opportunamente collegata
all’impianto di terra)
Laboratorio di reti 3

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)

q Caratteristiche cavi UTP:


• Velocità: 10/100/1000 Mbps in
dipendenza dalla
qualità/categoria del cavo
• Costo: basso
• Lunghezza massima: 100 m
• Interfaccia/connettore: RJ-45
q Tipologie cavi UTP:
q Dritto (o Straight-through)
q Incrociato (o Crossover)
q Console (o Rollover)
Laboratorio di reti 4

4
Cavi UTP dritti/incrociati
q Cavi UTP dritti e incrociati si utilizzano per le
connessioni dati

q Una NIC si doppino a 10/100 Mbps opera in trasmissione


sui PIN 1 e 2 ed in ricezione sui PIN 3 e 6 (da cui
l’inversione presente nei cavi incrociati).
q Lo switch opera l’inversione nelle proprie interfacce (da
cui la necessità del cavo dritto per la connessione
PC/Switch)
q Molti dispositivi ormai sono dotati di interfacce
autosensing che effettuano o meno l’inversione in base
alla tipologia di cavi utilizzata
q Il cavo rollover si utilizza per le connessioni di gestione
out-of-band sulla porta console
Laboratorio di reti 5

5
Connessioni WAN

Data Terminal Equipment (DTE) Data Circuit-terminating Equipment (DCE)


• Router • Modem (per connessioni WAN analogiche) o
• Sotto il controllo dell’utenza CSU/DSU (per connessioni WAN digitali)
• Sotto il controllo del provider (ma istallato
presso l’utenza)
• Permette di convertire i dati provenienti dal
DTE in un formato accettabile per il provider,
e fornisce il segnale di clock al DTE

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)

In laboratorio i router sono


connessi back-to-back ed un router
Configurazione di laboratorio simula il DCE (per non utilizzare i
servizi di un provider)
La connessione DTE/DCE in tal caso
è ottenuto tramite una coppia di
cavi in tecnologia V.35 (il cavo DTE
ha un connetore V.35 maschio,
mentre il cavo DCE uno femmina)
Laboratorio di reti 7

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).

• La CLI è accessibile tramite:


a. Interfaccia console (e cavo rollover)
b. Interfaccia AUX (tramite modem)
c. Sessione Telnet (tramite porta dati
dopo aver configurato l’IP address
sull’interfaccia utilizzata ed abilitato
il servizio telnet)
Laboratorio di reti 9

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

configure terminal exit


Ctrl+z
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)#

2. Definizione di una password per l’accesso in console:


Router(config)#line console 0
Router(config-line)#password <password >
Router(config-line)#login

3. Definizione di una password per l’accesso in telnet:


Router(config)#line vty 0 4
Router(config-line)#password <password >
Router(config-line)#login

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 >

5. Definizione di una password di enable criptata nel file di configurazione


(in presenza di entrambi i comandi di definizione della password di
enable, quella criptata ha precednza):
Router(config)#enable secret <password >

6. Criptazione di tutte le altre password presenti nel file di


configurazione:
Router(config)#service password-encryption

Laboratorio di reti 14

14
IOS: Salvataggio/Ripristino della
configurazione

Comando di
visualizzazione

Ogni comando può


essere
selettivamente
cancellato con la
sua “forma no”
Comandi di
copia/backup

Comandi di
cancellazione
totale e riavvio

Ø La running configuration (salvata in RAM) è la configurazione corrente


del router a seguito delle modifiche effettuate
Ø La startup configuration (salvata in NVRAM) è la configurazione
utilizzata dal router in fase di avvio
Laboratorio di reti 15

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

2. Indicazione dell’indirizzo IP e della subnet mask:


Router(config-if)#ip address <ip address > <netmask >
Es: Router(config-if)#ip address 192.168.0.1 255.255.255.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

6. Verifica del corretto funzionamento delle interfacce:


Router#show ip interfaces brief
(Permette di verificare se ogni interfaccia è funzionante a livello fisico e
protocollare, ed il relativo indirizzo IP)

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:

A. Tipo di rotta (C=connessa,


S=statica, R=RIP, …)
B. Subnet di destinazione
C. Distanza amministrativa
D. Metrica
E. Indirizzo del router
H successivo verso la
destinazione
F. Tempo passato dall’ultimo
aggiornamento
A G. Interfaccia di uscita
B C D E F H. Rete/rotta di default
G

In presenza di più rotte relative a


processi diversi (reti direttamente
connesse, rotte statiche e protocolli di
routing) per una stessa destinazione, il
router sceglie quella a Distanza
Amministrativa inferiore

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}

r Per cancellare una ACL standard (ma anche estesa)


Router(config)# no access-list <access-list-number>
Router(config-if)# no 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]

rOpzioni host e any


Router(config)# access-list 1 permit 172.16.0.1 0.0.0.0
Router(config)# access-list 1 permit 0.0.0.0 255.255.255.255
sono equivalenti a
Router(config)# access-list 1 permit host 172.16.0.1
Router(config)# access-list 1 permit any
Laboratorio di reti 27

27
IOS: Esempio di ACL standard

N.B.: L’attributo host


può anche essere
omesso

r Esempi di indirizzi IP permessi: r Esempi di indirizzi IP non permessi:


Ø 172.16.1.6 Ø 172.16.1.1
Ø 172.17.8.9 Ø 172.16.2.1
Ø 173.9.0.1 (per il deny any implicito)

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

Configurazione del NAT:


a. Definizione degli indirizzi IP privati locali da tradurre tramite una ACL standard
Router(config)# access-list <access-list-number> permit <IP-
source> <source-wildcard-mask>
b. Abilitazione della traduzione tramite l’indicazione dell’unico indirizzo IP pubblico
globale necessario (specificando l’interfaccia su cui è configurato)
Router(config)# ip nat inside source list <access-list-number>
interface <interface-type> <slot>/<port> overload
c. Specificazione delle interfacce LAN su cui abilitare la traduzione
Router(config-if)# ip nat inside
d. Specificazione dell’interfacce WAN su cui abilitare la traduzione
Router(config-if)# ip nat outside

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.

Configurazione del servizio DHCP:


a. Ingresso nella sottomodalità di configurazione del servizio DHCP
Router(config)# ip dhcp pool <pool-name>
b. Specificazione degli indirizzi IP da assegnare dinamicamente agli host
Router(dhcp-config)# network <subnet> {subnet-mask | /prefix-
length }
c. Specificazione dell’indirizzo IP del gateway da assegnare agli host
Router(dhcp-config)# default-router <IP-address>
d. Specificazione dell’indirizzo IP del server DNS locale da assegnare agli host
Router(dhcp-config)# dns-server <IP-address>
e. Eventuale indicazione di indirizzi IP appartenenti alla subnet indicata da non
assegnare (poiché ad es. utilizzati per le interfacce del router o per i server)
Router(config)# ip dhcp excluded-address <(low-)address> [<high-
address>]

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