Dispense Di Cisco Packet Tracer
Dispense Di Cisco Packet Tracer
Dispense Di Cisco Packet Tracer
Dipartimento di Informatica
Università degli Studi di Milano
Indice
1. Prima di iniziare 2
2. In fase di rodaggio 3
3. Subnetting 5
3.1. Problema dell’allineamento . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Routing 8
4.1. RIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2. OSPF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5. VLAN e Trunking802.1Q 12
6. DHCP 17
1
Univ. Milano Packet Tracer
1. Prima di iniziare
Le seguenti dispense non intendono fornire un manuale di utilizzo di Cisco Packet Tracer
e sono rivolte a un pubblico che possiede una minima dimestichezza con l’ambiente di
simulazione e ne conosce le principali funzionalità e strumenti. Lo scopo di questi appunti
consiste piuttosto nello sviscerare alcuni degli aspetti più rilevanti e meno intuitivi che
il corso mira ad insegnare, nonché nel permettere agli studenti che non hanno avuto la
possibilità di seguire le varie lezioni di affrontare con successo la prova d’esame.
Per chi non avesse familiarità con il software, si consiglia di visionare documenta-
zione, tutorial e esempi di utilizzo che si trovano nella pagina ufficiale http://www.
packettracernetwork.com/, ovvero scaricando opportuno materiale che trova ampia
diffusione nel web (ad esempio le slide reperibili alla pagina http://laren.di.unimi.
it/˜simone/labretiinf/slidePT.pdf e http://laren.di.unimi.it/˜simone/
labretiinf/slidePTShort.pdf costituiscono due validi tutorial introduttivi prepa-
rati rispettivamente dal Prof. Marco Listanti e il suo collega Prof. Vincenzo Era-
mo nei rispettivi corsi di laurea; oppure alla pagina http://engweb.info/cisco/
Packet\%20Tracer\%20Tutorials.html sono disponibili tutorial organizzati per te-
matiche), o ancora tramite l’apposita documentazione prevista all’interno del soft-
ware. Inoltre si faccia riferimento alle slide mostrate a lezione, reperibili al sito http:
//network.di.unimi.it/doku.php?id=cisco:start, di cui si farà riferimento da ora
in avanti con il termine homesite.
In queste dispense si daranno dunque per scontati svariati aspetti del software, tra cui:
– modalità fisica/logica, real-time/simulazione con relativi strumenti utili in modalità
simulazione (tra cui la scelta dei filtri sui protocolli da visualizzare);
– dispositivi e loro caratteristiche (hub, switch, router, host, server, . . . ) e funzionalità
anesse (aggiunta di componenti quali interfacce di rete, pannelli di configurazione,
CLI, altri strumenti messi a disposizione da taluni device, quali terminale, browser,
nonché possibili servizi offerti, quali Web, DHCP, etc.);
– cavi di collegamento, suddivisi per tecnologie, dritti (straight) o incrociati (cross);
– visualizzazione del percorso che i singoli pacchetti seguono dalla sorgente a destina-
zione (in modalità simulazione) con analisi del loro contenuto, della loro elabora-
zione all’interno dei vari dispositivi di rete per cui transitano e delle informazioni
visualizzate livello per livello della pila ISO-OSI;
– rivisitazione dei principali protocolli di rete studiati nella parte di teoria (ICMP,
ARP, DHCP) nell’ottica del simulatore, con semplici esempi che ne dimostrano le
caratteristiche funzionali e permettono di acquisire più familiarità con i protocolli
stessi;
– invio di pacchetti ICMP (ping).
2
Univ. Milano Packet Tracer
2. In fase di rodaggio
Può rivelarsi estremamente utile, in prima istanza, creare delle semplici topologie di rete
per poi verificarne il funzionamento, acquisendo dimestichezza con i vari dispositivi e le
funzionalità previste da Packet Tracer nella modalità simulazione, rivisitando al contempo
semplici protocolli studiati a teoria (quali ICMP, ARP, DHCP) avvalendosi a tal fine
della possibilità di visualizzare il contenuto dei pacchetti in transito.
Esempio 2.1. Due host collegati con cavo cross (Figura 2.1(a)). Appurato che le
interfaccie coinvolte riportino un pallino verde (che sta a significare che la trasmissione
dei dati a livello 1 avviene correttamente), si proceda ad assegnare un indirizzo IP
agli host (nella scheda Config del dispositivo si aggiunga un indirizzo IP privato (vedi
Sezione 3) alla giusta interfaccia (es. FastEthernet0)) cosı̀ che questi possano comunicare
tra loro a livello 3. Si inviino successivamente pacchetti ICMP (ping → echo request –
echo reply) e si monitori il transito e il contenuto dei pacchetti in circolazione filtrando il
solo protocollo ICMP nella modalità simulazione (i filtri compaiono in basso a destra nel
Simulation Panel). 4
Esempio 2.2. Tre host collegati a un hub – 3 host → 1 hub (Figura 2.1(b)). Si studino i
percorsi seguiti dai pacchetti ICMP: essendo l’hub un dispositivo “stupido”, si noti come
i pacchetti siano inviati a tutti gli host ad eccezione del mittente (unica decisione che è
in grado di prendere). Si osservi inoltre la presenza di un unico dominio di collisione,
provando a simulare collisioni tra pacchetti ICMP (generando contemporaneamente due
pacchetti ICMP da host differenti). 4
Esempio 2.3. 4 host → 2 hub → 1 bridge (Figura 2.1(c)). Anzitutto si osservi come
ogni volta che si è chiamati a collegare due apparati di rete o due end device tra loro,
sia necessario usare un cavo cross. Si osservi inoltre come, grazie alla sua politica anti-
flooding, il bridge apprenda gli indirizzi di livello 2 dagli header dei frame, isolando
conseguentemente in due il dominio di collisione. 4
Esempio 2.4. 4 host → 4 bridge → 1 hub (Figura 2.1(e)). Scopo di questo esercizio è
mostrare come, con una siffatta topologia, non avvengano collisioni (nonostante se ne
possano verificare ma solo all’interno dell’hub). È interessante notare come combinando i
4 bridge e l’hub si ottiene uno switch. 4
Esempio 2.5. 5 host (4 pc e 1 server) → 1 switch (Figura 2.1(f)). Si segua l’iter dei
pacchetti dopo aver abilitato i filtri ICMP e ARP; in particolare, usando lo strumento
Lente di ingrandimento sullo switch è possibile visualizzare la ARP Table, le cui entry
sono rimosse/scadono dopo alcuni minuti per consentire la dovuta flessibilità nel caso di
variazioni degli indirizzi IP degli host (ipotesi probabile quando si utilizzano IP dinamici),
3
Univ. Milano Packet Tracer
(a) (b) (c) (d)
oppure della topologia. Si ricorda infine che per poter aggiungere porte o interfacce sui
vari dispositivi e, in ogni caso, per modificarne la configurazione hardware, è necessario
spegnerli. 4
4
Univ. Milano Packet Tracer
usato un cavo cross, mentre molti dei dispositivi moderni sono “auto-crossing”, quindi si
possono utilizzare entrambi i tipi di cavo); 4
3. Subnetting
L’esempio seguente mostra come sia possibile configurare le interfacce dei router in
Packet Tracer, in modo tale da suddividere la rete in sottoreti (subnet).
Esempio 3.1. Si consideri la semplice topologia mostrata in Figura 3.1, dove i cerchi
posti attorno agli switch identificano le due sottoreti. Supponiamo che si richieda di
configurare la topologia tramite subnetting della rete 192.168.20.100/25. In particolare,
si richiede di ricavare le sottoreti sprecando il minor numero possibile di indirizzi IP,
iniziando il subnetting allocando lo spazio per la rete con il maggior numero di interfacce
e proseguendo fino alla sottorete più piccola, dando la precedenza, in caso di ambiguità,
alle sottoreti i cui apparati hanno nome minore. La stessa politica dovrà poi essere
adottata all’interno di ciascuna sottorete, configurando le interfacce in modo tale che
all’apparato con nome minore sia associato un indirizzo IP minore (es. IP Router0 < IP
Router2).
5
Univ. Milano Packet Tracer
Figura 3.1: Un semplice esempio di subnetting (vedi Esempio 3.1).
consentito o meno l’accesso in una access control list (ACL) – vedi Sezione 7. Siccome
in termini pratici, in maniera semplicistica, la wildcard mask altro non è se non una
subnet mask invertita, nel caso in esame sarà pari a 0.0.0.7. In Packet Tracer è possibile
configurare le interfacce direttamente tramite GUI: cliccando sul router che si vuole
configurare, nella scheda Config, è sufficiente indicare, all’interno dei campi omonimi,
indirizzo IP e subnet mask dell’interfaccia corrispondente. Ad esempio Router0 avrà
indirizzo IP 192.168.20.97; Router4 192.168.20.101.
Passando alla seconda sottorete, essendo composta tra 3 router, si ha nuovamente biso-
gno di una /29, in cui l’host address range risulta pari a [192.168.20.105 − 192.168.20.110]
e analogamente per gli altri parametri.
Rimane ora la sottorete che vede un collegamento punto-a-punto tra Router1 e Router6.
In tal caso è sufficiente una /30, garantendo la connettività a esattamente 2 host.
L’host address range sarà pari a [192.168.20.113 − 192.168.20.114], il network address
192.168.20.112, il broadcast address 192.168.20.115, la subnet mask 255.255.255.252 e la
wildcard mask 0.0.0.3. 4
Si noti che l’esempio di cui sopra, benchè corretto, non è al momento funzionante,
visto che è necessario che ogni router comunichi agli altri router le sottoreti conosciute
cosı̀ da permettere, tramite algoritmi di routing, l’eventuale instradamento dei pacchetti
in altre sottoreti.
6
Univ. Milano Packet Tracer
Esempio 3.2. Supponiamo che si richieda di configurare una topologia tramite subnetting
della rete 192.168.20.100/25 in due sottoreti: la prima (denominata s1 ) che contenga 5 host,
la seconda (s2 ) che ne contenga 14. Supponiamo ora di partire dalla subnet più piccola,
di classe /29, con host address range di nuovo pari a [192.168.20.97 − 192.168.20.102].
Per s2 si ha bisogno di una /28, con subnet mask 255.255.255.240 e wildcard mask
0.0.0.15. Si potrebbe pensare di scegliere il range di indirizzi successivi adiacenti a s1 ,
che comportano un host address range pari a [192.168.20.104 − 192.168.20.117].
Il problema è che una tale configurazione non è corretta. Per comprenderne il mo-
tivo, consideriamo due host h1 con indirizzo IP 192.168.20.104 e h2 con indirizzo IP
192.168.20.117, inclusi nel range appena definito. In binario si ha:
IP address h1 : 11000000 10101000 00010100 01101000
IP address h2 : 11000000 10101000 00010100 01110101
subnet mask s2 : 11111111 11111111 11111111 11110000
Ricordando che se due host stanno nella stessa sottorete, allora le due stringhe bina-
rie ottenute applicando l’operatore AND logico tra indirizzo IP e subnet mask devono
coincidere, si osserva:
IP address h1 & subnet mask s2 : 11000000 10101000 00010100 01100000
IP address h2 & subnet mask s2 : 11000000 10101000 00010100 01110000
In termini più rigorosi, tutte le sottoreti devono essere allineate in modo tale che gli
estremi siano potenze di 2; questo non solo specifica la dimensione della rete, ma anche
l’allineamento dell’indirizzo di rete. In altre parole, una rete di dimensione 2n (ovvero
che contenga 2n indirizzi) può iniziare solo a intervalli regolari multipli di 2n ; ovvero il
primo indirizzo disponibile nell’host address range deve essere composto da tutti 0 negli
ultimi n bit per qualsiasi sottorete. Esistono diverse strategie per evitare di incorrere nel
problema dell’allineamento. L’euristica più semplice consiste nel gestire dapprima le reti
più grandi, via via procedendo fino a trattare le reti più piccole.
Esercizio 3.2. Si implementino in Packet Tracer le soluzioni agli esercizi proposti nelle
slide Subnetting (Prima parte) disponibili nella homesite. 4
7
Univ. Milano Packet Tracer
Figura 4.1: Algoritmi di routing (vedi Esempio 4.1).
4. Routing
Esempio 4.1. Si consideri la topologia illustrata in Figura 4.1 (si faccia riferimento, a tal
proposito, alla activity di Packet Tracer Topologia senza routing disponibile nella homesite).
Si configurino i router in modo che le interfacce tra ogni coppia di router abbiano indirizzi
appartenenti alla stessa sottorete. Nel caso di configurazione corretta, il ping tra router
avrà esito positivo. Si operi ad esempio seguendo le indicazioni riportate in Tabella 4.1.
Si configurino inoltre le interfacce che connettono i PC ai router, ad esempio fornendo
indirizzo IP 192.168.1.2, 192.168.10.100 e 192.168.20.100 rispettivamente a PC0, PC1 e
PC2, ricordandosi di configurare correttamente subnet mask e gateway, in modo tale
che tutte le coppie di dispositivi adiacenti possano comunicare tra loro. Si noti come
le tabelle di routing sui router siano vuote: in altre parole è necessario configurare i
protocolli di routing su tali apparati affinchè sia possibile far comunicare tra loro anche
host appartenenti a sottoreti differenti. 4
– distance-vector (es. RIP): ogni router non ha conoscenza completa della topologia
di rete, ma solo del proprio vicinato. Come metrica per valutare il percorso
8
Univ. Milano Packet Tracer
Tabella 4.1: Configurazione delle interfacce dei router presenti in Figura 4.1.
migliore utilizza l’hop count, ovvero il numero di passi necessari per raggiungere la
destinazione;
– Link-state (es. OSPF): richiede una conoscenza completa della rete. Utilizza altre
metriche per valutare il percorso migliore, legate al costo della singola tratta,
tipicamente inversamente proporzionale alla velocità della stessa.
4.1. RIP
Vediamo ora come sia possibile istruire i router per far sı̀ che si scambino le informazioni
sulle sottoreti conosciute, partendo dal protocollo RIP (si faccia riferimento, a tal
proposito, alla activity di Packet Tracer Topologia RIP disponibile nella homesite). In
modalità configurazione globale si digiti il comando router rip cosı̀ che il prompt
diventi config-router#. Utilizzando il tasto ? otteniamo al solito un elenco dei
possibili comandi disponibili in questa modalità: tra questi citiamo:
– network: premesso che il router deve rendere pubbliche le reti che conosce, il
comando network 192.168.1.0 permette di comunicare che il router conosce la
rete 192.168.1.0. Si ottiene una configurazione completa di RIP ripetendo tale
comando su ogni router per tutte le reti note. Da notare che per configurare
RIP è sufficiente indicare il subnet address; manca in altre parole la subnet mask.
9
Univ. Milano Packet Tracer
Tabella 4.2: Configurazione del protocollo RIP sui router presenti in Figura 4.1.
apparato comando
network 192.168.1.0
Router0 network 192.168.1.4
network 192.168.1.8
network 192.168.1.4
Router1 network 192.168.10.0
network 192.168.1.12
network 192.168.1.8
Router2 network 192.168.20.0
network 192.168.1.12
Tale scelta deriva dal fatto che la versione 1 di RIP (default in Packet Tracer) è
classful, ovvero non permette la suddivisione della rete in sottoreti, al contrario
della versione 2 che dà la possibilità di suddividere la rete in sottoreti più piccole.
evita che le notifiche sulle reti conosciute siano inviate sull’interfaccia passata come
argomento. Il vantaggio è la riduzione del traffico generato dagli algoritmi di routing
in sottoreti che contengono solo host, per i quali tali notifiche non hanno alcun
significato e vengono ignorate.
10
Univ. Milano Packet Tracer
Si noti infine la possibile ridondanza nelle entry presenti in tabella (vedi 192.168.1.8/30):
possono infatti essere presenti due reti ripetute che non sono però uguali, differendo nel
percorso. In particolare, vengono ripetute solo le reti che condividono uno stesso numero
di hop nella colonna Metric; in caso contrario viene scelta la rotta con il minor numero di
hop. Si ricordi infine di configurare correttamente le passive interface. 4
4.2. OSPF
Mostriamo ora come sia possibile configurare il protocollo OSPF (si faccia riferimento,
a tal proposito, alla activity di Packet Tracer Topologia OSPF disponibile nella homesite).
OSPF divide l’indirizzamento in aree, identificate come interi a 32 bit che per comodità
possono essere espressi in dot notation. Il motivo di tale suddivisione è che all’interno di
un dispositivo di rete possono girare più istanze di OSPF: una per ogni area. I comandi
da seguire sono, nell’ordine, i seguenti:
2. area area id stub, dove area id è l’identificativo numerico dell’area (ad esempio
1), mentre stub è un tipo di area che non riceve notifiche/annunci da reti al di
fuori dell’organizzazione.
3. network IP address wildcard mask area area id. Come in RIP, il comando
network permette di configurare le reti conosciute. Siccome però OSPF è classless,
oltre a specificare il subnet address (IP address) è necessario specificare la subnet
fornendo la rispettiva wildcard mask (la negazione della subnet mask: ad esempio
una /30 ha wildcard mask 0.0.0.3; una /24 0.0.0.255). Per finire, è necessario
specificare l’area in cui l’istanza corrente di OSPF andrà ad operare, fornendone
l’identificativo (area id). Ad esempio, in riferimento alla Tabella 4.2, il comando
11
Univ. Milano Packet Tracer
network 192.168.1.0 0.0.0.3 area 1 permette di configurare una delle reti
note per Router0.
Valgono le stesse regole viste in RIP per selezionare su quali interfacce non si vogliono
inviare notifiche nell’istanza corrente del protocollo di routing (settando opportunamente
le passive-interface).
Si ricordi infine che uno dei valori aggiunti nell’utilizzo di OSPF è che tiene traccia
della capacità del link che connette due router e non si limita a considerare il numero di
hop, come invece accade in RIP.
5. VLAN e Trunking802.1Q
Delle VLAN (Virtual LAN) si è ampiamente discusso durante le lezioni di teoria. Ci limi-
tiamo qui a riproporne la definizione e alcuni fatti ovvi, cosı̀ come descritti in Wikipedia e
altre fonti sul web (http://www.andreabeggi.net/2007/10/02/vlan-cosa-sono-e-
perche-si-usano/).
12
Univ. Milano Packet Tracer
– Facilità di gestione delle infrastrutture di rete: invece di spostare cavi,
riposizionare uplink, aggiungere dispositivi e ricablare intere zone, si
gestiscono le VLAN tramite strumenti software.
L’assegnazione di un host ad una VLAN può seguire diversi criteri, tra cui:
MAC address, indirizzo IP e porta dello switch; la maggior parte degli switch
moderni con un adeguato numero di porte sono in grado di gestire le VLAN.
13
Univ. Milano Packet Tracer
Le VLAN possono estendersi al di là dei limiti fisici dei singoli switch, tramite il
VLAN tagging. Il protocollo 802.1Q, che regola le VLAN, prevede che ciascun
frame ethernet venga “etichettato” con le informazioni relative alla VLAN di
appartenenza. In questo modo, host lontani fisicamente possono appartenere
alla stessa VLAN: è sufficiente che gli switch interessati al trasporto dei frame
siano collegati tra di loro (tramite “trunk”, un collegamento in grado di
trasportare diverse VLAN) con porte opportunamente “taggate”.
La gestione della VLAN, nei casi più semplici si effettua collegandosi con un
browser all’indirizzo IP dello switch, oppure via seriale direttamente connessi
alla porta console del dispositivo. 4
Quello che ci chiediamo ora è come si possano far dialogare tra di loro gli host all’interno
della stessa VLAN ma collegati a switch differenti. Una soluzione, improponibile nel
Figura 5.1: Topologia con 2 VLAN. Su entrambi gli switch le prime 12 porte sono assegnate alla VLAN
2, le ultime 12 alla VLAN 3. Il trasporto delle VLAN avviene tramite due cavi cross collegando porte
Access nella stessa VLAN su entrambi gli switch. Le VLAN 2 e 3 non parlano tra di loro; per questo è
possibile assegnare lo stesso indirizzo a PC0 e a PC3.
14
Univ. Milano Packet Tracer
Figura 5.2: Topologia con 2 VLAN (stessa configurazione di Figura 5.1). Il trasporto delle VLAN
avviene tramite porta Trunk configurata sulla porta 24 di entrambi gli switch.
caso si sia in presenza di un numero elevato di VLAN, è quella di aggiungere tanti cavi
cross tra gli switch quante sono le VLAN attive, configurando all’interno dello switch
ognuna delle interfacce a cui tali cavi sono collegate in modo che trasportino i pacchetti
di una precisa VLAN (vedi Figura 5.1). In alternativa, è possibile utilizzare una piccola
estensione di Ethernet, il protocollo 802-1Q (trunk VLAN), che permette con un solo cavo
di risolvere il problema. Si usa dunque la modalità Trunk e si seleziona quel sottoinsieme
di VLAN che si vuole trasportare sul cavo (vedi Figura 5.2). In sostanza l’interfaccia che
collega gli switch deve essere configurata non più in modalità Access specificando a quale
VLAN è consentito il transito dei pacchetti (vedi scheda Config nella sezione Interface),
bensı̀ in modalità Trunk, specificando il sottoinsieme di VLAN su cui i pacchetti possono
transitare (vedi configurazione sulla parte destra nella activity di Packet Tracer).
Nella maggior parte delle situazioni reali, è però opportuno che host appartenenti
a VLAN differenti possano dialogare tra loro. Affinchè ciò sia possibile è necessario
introdurre un apparato di livello 3, ovvero un router, che fungerà da gateway per gli
host appartenenti alle VLAN. Siccome host appartenenti a VLAN diverse necessitano
di un gateway differente, tale router dovrebbe, in linea di principio, disporre almeno di
tante interfacce quante sono le VLAN, comportando lo stesso problema di scalabilità
osservato in precedenza. La soluzione consiste nel configurare il router cosı̀ che possa
trasportare 802-1Q: in tal caso sarà sufficiente una sola interfaccia per poter permettere a
host appartenenti a VLAN differenti di poter comunicare tra loro, ognuno con un proprio
gateway (diverso nelle varie VLAN).
Si consideri la topologia riportata in Figura 5.3 (si faccia riferimento, a tal proposito,
alle activity di Packet Tracer Simple VLAN 2 e Sottointerfacce 802.1q e access list disponibili
nella homesite). Si assegnino ai PC da 0 a 4 gli indirizzi IP da 192.168.0.1 a 192.168.0.4,
con gateway 192.168.0.254 (in sostanza l’ultimo indirizzo IP disponibile è riservato al
gateway, mentre i primi sono assegnati agli host). Analogamente si assegnino ai PC
da 5 a 8 gli indirizzi IP da 192.168.1.1 a 192.168.1.4, con gateway 192.168.1.254. Per
poter avvalersi del protocollo 802.1Q, gli switch devono essere configurati in modo tale
15
Univ. Milano Packet Tracer
Figura 5.3: Topologia con 2 VLAN in cui tutti gli host possono comunicare tra loro.
da aggiungere due VLAN all’interno del proprio database (Uffici con id 20 e Magazzino
con id 30). Le stesse interfacce che collegano host sulla VLAN Magazzino (risp. Uffici)
devono essere configurate in modalità Access sulla VLAN 30 (risp. 20). L’interfaccia
su cui è inserito il cavo cross che collega i due switch deve invece essere configurata in
modalità Trunk, eventualmente specificando l’id delle due VLAN di cui si vuole permettere
il transito dei pacchetti (di default il traffico è consentito a tutte le VLAN, sia quelle
predefinite sia quelle user-defined). Rimane solo da configurare il router. A tal fine, si
usa il concetto di sottointerfaccia (subinterface), una suddivisione logica e non fisica di una
interfaccia. In modalità configurazione (enable → configure terminal), si digitano i comandi:
interface FastEthernet 0/0.20
encapsulation dot1Q 20
ip address 192.168.0.254 255.255.255.0
no shutdown
dove in sostanza nella prima riga viene creata la sottointerfaccia responsabile dei pacchetti
delle singole VLAN (aggiungendo un punto ed un numero identificativo come suffisso
al nome standard dell’interfaccia); nella seconda viene specificato l’uso del protocollo
Trunking 802.1Q; nella terza viene indicato l’indirizzo IP e subnet mask dell’interfaccia
(alias il gateway configurato sugli host appartenenti alla VLAN in questione); questa
16
Univ. Milano Packet Tracer
operazione identifica la VLAN di cui la sottointerfaccia appartiene; si noti che si è
utilizzato lo stesso ID numerico anche nel suffisso del nome della sottointerfaccia; non è
un obbligo ma una bestpractice; per finire, nell’ultima riga viene abilitata a livello fisico
l’interfaccia. Di tali istruzioni, l’unica che può essere compiuta direttamente tramite
GUI è quest’ultima, cliccando sull’apposito checkbox Port Status nella scheda Config →
FastEthernet0/0.
6. DHCP
Il servizio DHCP serve per configurare in maniera automatica indirizzo IP, subnet mask
e gateway negli host appartenenti a una certa sottorete. Ovviamente non è necessario
avere un server DHCP per ogni sottorete, purchè si specifichino correttamente i serverPool,
ovvero strutture dati definite all’interno del server DHCP che specificano come gestire gli
host appartenenti a una certa sottorete.
Esempio 6.1. Si consideri la topologia riportata in Figura 6.1. In particolare sono definite
due VLAN: First (abbreviazione di First Floor) con id 200 e Second (abbreviazione di
Second Floor) con id 400; l’interfaccia GigabitEthernet0/0 di Router0 è inoltre configurata
in modo tale da permettere agli host appartenenti alle due VLAN di poter comunicare tra
loro in modalità trunk (si faccia riferimento alla Sezione 5). Se 192.168.1.30 è l’indirizzo
del gateway nella subnet First Floor e 192.168.1.14 quello del gateway nella subnet Second
Floor, Router0 viene dunque configurato con i seguenti comandi:
17
Univ. Milano Packet Tracer
interface GigabitEthernet0/0.400
encapsulation dot1Q 400
ip address 192.168.1.14 255.255.255.240
interface GigabitEthernet0/0.200
encapsulation dot1Q 200
ip address 192.168.1.30 255.255.255.240
ip helper-address 192.168.1.13
Si noti che in una delle due sottoreti non è presente un server DHCP; conseguentemente
una richiesta DHCP inviata in broadcast sarà confinata all’interno del broadcast domain;
l’ultima istruzione è necessaria per specificare l’indirizzo IP del server DHCP che con-
figurerà gli host della sottorete. In sostanza viene istruito il router per inoltrare una
richiesta DHCP in broadcast all’indirizzo IP specificato. In generale, tale istruzione va
specificata per ogni interfaccia la cui subnet non contiene il server DHCP ma in cui gli
host si avvalgono di tale servizio di configurazione automatica.
Per poter attivare il servizio DHCP, nella scheda Services → DHCP del server deputato
a erogare detto servizio è necessario attivare il checkbox Service. Inoltre, per ogni subnet
che contiene host gestiti dal server DHCP, ad eccezione di quella in cui il server è inserito
(per cui esiste già un serverPool di default), si dovrà creare un nuovo serverPool specificando
il nome del pool (Pool Name), il gateway di default (Default Gateway, il primo indirizzo IP
disponibile che può essere assegnato agli host (Start IP Address), la subnet mask (Subnet
Mask) e per finire il numero massimo di host che possono avvalersi del servizio (Maximum
number of Users). La Figura 6.2 mostra un esempio di configurazione compatibile con lo
scenario in esame (si noti che alcuni parametri, quali Start IP Address e Maximum number of
Users sono settati in modo da rispettare specifiche di progetto non riportate nell’esempio).
Per finire, in talune situazioni (come nel caso corrente), si ricorda che può essere necessario
modificare la configurazione del serverPool di default.
Si ricorda infine che per tutti gli host che si avvalgono del servizio DHCP si dovrà attivare
il checkbox DHCP nella scheda Config. 4
Le Access Control List (ACL) sono usate per filtrare (permettere o negare selettivamente)
traffico di rete su apparati di livello 3 (router), controllando se i pacchetti possono
essere inoltrati o se devono essere bloccati in ingresso a o in uscita da una determinata
interfaccia. Il router esamina dunque ogni pacchetto per determinare se inoltrarlo o
bloccarlo sulla base dei criteri specificati nella ACL applicata all’interfaccia per qui questi
transitano. Nel seguito si fornirà solo una breve panoramica delle ACL; si consiglia al
lettore di riferirsi a materiale disponibile sul web per ulteriori approfondimenti.
18
Univ. Milano Packet Tracer
Figura 6.2: Esempio di configurazione dei serverPool.
1. ACL standard. Si tratta del primo tipo di ACL definito in Packet Tracer (attual-
mente deprecato). Il traffico può essere filtrato solo sulla base dell’indirizzo IP
sorgente dei pacchetti IP. Il numero identificativo di tali ACL deve essere compreso
tra 1 e 99 o tra 1300 e 1999.
2. ACL extended. Si tratta di ACL più complesse che permettono il filtraggio del
traffico IP sulla base di una combinazione di diversi criteri: indirizzo IP sorgente,
indirizzo IP destinazione, porte TCP o UDP, protocollo, . . . . Il numero identificativo
di tali ACL deve essere compreso tra 100 e 199 o tra 2000 e 2699.
Essendo più flessibili e potenti, nel seguito si farà riferimento esplicito alle sole ACL
extended1 . I passi di base per configurare una ACL sono due:
Per quanto riguarda la prima fase, si riporta di seguito la sintassi del comando access-list:
1
Nel seguito per riferirsi alle ACL extended si utilizzerà semplicemente l’acronimo ACL.
19
Univ. Milano Packet Tracer
access-list access-list-number permit | deny protocol source
source-wildcard [operator port] destination destination-wildcard
[operator port] [established] [log]
Tabella 7.1: Comando access-list usato per definire una ACL e descrizione sommaria dei suoi
argomenti.
Esempio 7.1. Consideriamo la topologia in Figura 7.1 (si faccia riferimento, a tal
proposito, alla activity di Packet Tracer Sottointerfacce 802.1q e access list disponibile nella
homesite). Supponiamo che a Server-PT sia assegnato l’indirizzo IP 192.168.200.200 e
supponiamo di voler permettere l’accesso al server web ma non ICMP. I comandi da
digitare sono:
20
Univ. Milano Packet Tracer
Figura 7.1: Topologia con 2 VLAN per introdurre il concetto di ACL.
dove il primo consente di far passare traffico TCP proveniente da any diretto all’host
192.168.200.200 sulla porta 80; il secondo vieta ICMP (ping) da qualunque sorgente a
qualunque destinazione.
Per quanto riguarda invece la seconda fase, ovvero l’attivazione di una ACL su una
specifica interfaccia, è necessario specificare a quale interfaccia si vuole che venga appli-
cata. Nel caso in esame o la si applica all’interfaccia che contiene l’host 192.168.200.200
o all’altra. Sebbene per quanto concerne la configurazione del router i due approcci sono
interscambiabili, a livello operativo bisogna prestare attenzione ad aspetti funzionali.
In altre parole, se si applicasse la ACL all’altra interfaccia e in futuro dovessero essere
aggiunte nuove VLAN, queste non si troverebbero applicata la regola; è di indubbio van-
taggio dunque l’applicazione della ACL alla interfaccia che contiene l’host 192.168.200.200.
I comandi per ottenere questo risultato sono:
Una possibile fonte di confusione è la scelta del parametro in o out nell’ultima istruzione,
ovvero nell’applicazione del filtro ai pacchetti che entrano o che escono dall’interfaccia.
In sostanza cambia la direzione in cui il traffico viene filtrato: siccome nel caso in esame
si sta filtrando il traffico diretto verso la rete che contiene l’host 192.168.200.200, la scelta
corretta è out, visto che si vuole filtrare il traffico che esce dall’interfaccia e va verso
21
Univ. Milano Packet Tracer
Figura 7.2: Topologia con accesso limitato alla Intranet (vedi Esempio 7.2). Si noti il cavo cross tra
PC0 e Router0, obbligatorio nei vecchi router in mancanza di uno switch intermedio.
la rete che contiene l’host. Attenzione, dunque, alla prospettiva con cui considerare la
direzione in entrata o in uscita del traffico: prospettiva che è quella del router su cui il
filtro viene attivato. In altre parole, è necessario mettersi nei panni del router: il traffico
da filtrare è sı̀ in ingresso alla rete che contiene l’host, ma per il router è diretto alla rete
che contiene l’host e dunque è in uscita. 4
Esempio 7.2. Si consideri ora la topologia illustrata in Figura 7.2. Si supponga che la
Intranet aziendale disponga di due siti web: uno accessibile a tutto il mondo (Server1),
l’altro riservato ad uso interno privato (Server0). Si supponga inoltre che nessun host
esterno all’azienda abbia accesso alla Intranet. Il router dispone di due interfacce:
FastEthernet 0/0 (interna) con indirizzo IP 192.168.0.254 e FastEthernet 0/1 (esterna) con
indirizzo IP 10.0.0.254.
La prima fase consta nella definizione del filtro. Anzitutto la scelta ricade in una ACL
extended, dovendo filtrare solo il traffico web e non solo sull’indirizzo IP sorgente.
In sostanza, nella ACL nr. 100 si permette il traffico TCP diretto da qualunque sorgente
all’host 192.168.0.200 sulla porta 80. L’ultima istruzione serve per vietare l’accesso di
tutto il traffico Internet: adottando le ACL una politica first match, lasciando in ultima
posizione il comando deny non si rischia di bloccare il traffico TCP diretto a Server1.
22
Univ. Milano Packet Tracer
Figura 7.3: Topologia con accesso limitato alla Intranet (vedi Esempio 7.2). Si noti il cavo cross tra
PC0 e Router0, obbligatorio nei vecchi router in mancanza di uno switch intermedio.
La seconda fase consiste nell’applicazione della ACL alla giusta interfaccia. È necessario
anzitutto entrare in modalità configure interface per poi attivare l’ACL:
Si noti come sia possibile impartire questi comandi anche all’interfaccia interna. In tal caso
la modalità di accesso non sarebbe in, ma out, per i motivi spiegati in precedenza. 4
Esempio 7.3. Si consideri infine la topologia rappresentata in Figura 7.3 che rappresenta
una variante dello scenario adottato nell’esempio precedente. Si noti anzitutto come
Server2 non sia in grado di pingare Router0, visto che la ACL definita nell’Esempio 7.2 è
applicata alla interfaccia esterna. Se Server2 si connettesse a Server1 (il server aziendale
pubblico), non sarebbe in grado di visionare la pagina web, visto che i pacchetti di ritorno
non riescono a uscire da Router0 quando la porta sorgente è la 80, come quella su cui
è in ascolto Server2. Per risolvere il problema entra in gioco TCP e, in particolare, il
three-way-handshake. In sostanza, volendo permettere a tutto il traffico generato nella
Intranet di uscire, senza specificare nel dettaglio tutte le porte, è sufficiente osservare
che questo genere di pacchetti ha il campo ack del three-way-handshake settato a 1.
Operativamente, in aggiunta al filtro già applicato, va inserito il comando:
dove established significa appunto “pacchetti con ack pari a 1” ovvero a connessione
TCP stabilita. 4
23
Univ. Milano Packet Tracer
8. Network Address Translation (NAT)
Sebbene svariati siano i compiti del NAT (si faccia riferimento alle lezioni di teoria), in
queste dispense ci si limiterà a nascondere gli indirizzi interni quando alcuni pacchetti
escono dalla Intranet. Si usi a tal fine la stessa topologia illustrata in Figura 7.3, togliendo
le ACL correntemente attive (è sufficiente a tal fine togliere ip access-group nell’interfaccia,
con il comando no IP access-group).
Nella configurazione dell’interfaccia interna (FastEthernet 0/0) si digita:
ip nat inside
Tornando al NAT:
ip nat inside source list 110 ?
si legge: “quando si fa NAT degli indirizzi interni si usi come criterio degli indirizzi da
tradurre quello indicato nella ACL 110 e si traducano gli indirizzi usando l’indirizzo IP
dell’interfaccia FastEthernet 0/1”.
Esistono altre modalità di utilizzo del NAT; ad esempio si potrebbero avere nella
Intranet diversi server web con indirizzi privati che si vuole rendere pubblici. Sul router
si dovrebbe definire un mapping statico tra porta e indirizzo privato. Tali argomentazioni
esulano dagli obiettivi del corso.
24
Univ. Milano Packet Tracer
Appendice A. Breve introduzione alla CLI
Cosı̀ come per il resto di questa dispensa, le informazioni riportate in questa appendice
hanno carattere parziale e servono esclusivamente ad introdurre lo studente nell’uso
della Command Line Interface (CLI) dei router. Le stesse slide consigliate nella parte
introduttiva coprono parte degli argomenti trattati e forniscono le informazioni essenziali
per poter interagire con la CLI.
Se la CLI (accessibile dall’omonima scheda del dispositivo) copre tutte le funzionalità
fornite dalla GUI, non è vero l’opposto; in altre parole alcune funzioni e strumenti del
dispositivo sono configurabili solo tramite CLI. Nondimento è utile visionare come i
comandi effettuati tramite GUI siano tradotti automaticamente nel linguaggio della CLI.
Nonostante sia opportuno conoscere alcuni comandi basilari, due funzionalità della CLI
permettono anche a utenti meno esperti di interagire con lo strumento senza eccessiva
difficoltà:
– tasto ?: mostra una lista dei possibili comandi disponibili (e annessa descrizione)
in un certo contesto operativo; inoltre, all’interno di un comando, mostra un elenco
dei parametri disponibili per poterlo correttamente completare;
– tasto tab: permette di completare un comando immettendone i primi caratteri che
lo compongono, purchè questi lo specifichino univocamente;
– uso di forme abbreviate: è possibile utilizzare un comando immettendone solo i
primi caratteri; se la stringa immessa è lunga a sufficienza da evitare confusione
con altri comandi, allora questo viene eseguito come fosse stato digitato nella sua
interezza. Ad esempio en può sostituire enable, cosı̀ come config t il comando
configure terminal;
25
Univ. Milano Packet Tracer
Tabella Appendice A.1: Elenco delle principali modalità di accesso alla CLI.
Prompt Descrizione
Router> User mode
Router# Privileged mode (o EXEC-level mode)
Router(config)# Global configuration mode
Router(config-if)# Interface mode
Router(config-subif)# Subinterface mode
Router(config-line)# Line mode
Router(config-router)# Router configuration mode
– enable password cisco: assegna una password per accedere alla modalità di
configurazione;
Esistono tantissimi altri comandi: i più importanti saranno discussi nelle sezioni di
competenza.
26
Univ. Milano Packet Tracer