Router CISCO
In questa pagina 9
Questo laboratorio (LAB4) si fa in aula con dispositivi veri, non con Katharà: due router Cisco e tre PC Linux del laboratorio. Per i PC i comandi sono gli stessi di Routing statico in KatharàLaboratorio 2 (LAB2). Due LAN (195.11.14.0/24 e 200.1.1.0/24) sono unite da due router r1 e r2 collegati da una rete 100.0.0.8/30. Una interfaccia attiva inserisce da sola nella tabella di instradamento solo la rete direttamente collegata: per le altre servono rotte inserite a mano. I PC usano una rotta predefinita (route add default gw 195.11.14.1), i router rotte statiche (route add -net 195.11.14.0/24 gw 100.0.0.9 dev eth1). Senza la rotta di ritorno su r2 le richieste di ping arrivano ma le risposte no: la raggiungibilità vale solo se c'è un percorso in entrambi i versi. A configurazione finita ping da pc1 a pc2 risponde con ttl=62 (64 meno 2 router).Routing statico in Katharà → e Routing avanzato in KatharàLaboratorio 3 (LAB3). Tre router r1, r2, r3 a triangolo con tre LAN (96.96.0.0/24, 192.192.192.0/20, 128.128.0.0/20) e tre collegamenti /30 (10.0.0.0/30, 20.0.0.0/30, 30.0.0.0/30). Obiettivo: ogni dispositivo deve poter fare ping a ogni interfaccia di ogni altro. Gli host usano una rotta predefinita; i router soltanto rotte statiche (vietato il default), tre per router, una per ogni rete non direttamente collegata. Con soli default in un triangolo i percorsi si allungano e i pacchetti per indirizzi sconosciuti girano in cerchio fino al TTL; un buon compromesso è un default più qualche rotta specifica. traceroute scopre i router incrementando il TTL: ogni router che lo porta a 0 risponde con ICMP time exceeded.Routing avanzato in Katharà →; per i router Cisco si impara un'altra sintassi. Il compito è creare una topologia lineare, configurare indirizzi e tabelle di instradamento di tutti gli elementi e controllare con ping la comunicazione tra ogni coppia di dispositivi. Teoria di riferimento: Instradamento e inoltroL'inoltro (forwarding) mette il pacchetto sulla strada verso la destinazione, un salto alla volta (hop by hop). Se la destinazione è nella stessa rete del mittente l'inoltro è diretto (si usa l'ARP per il MAC del destinatario), altrimenti è indiretto: il pacchetto va al router successivo (next hop) indicato dalla tabella di instradamento, o al default gateway. Con le netmask: l'inoltro è diretto attraverso l'interfaccia $x$ se $\text{IP(dst)}\ \text{AND}\ \text{NM}(x)=\text{IP}(x)\ \text{AND}\ \text{NM}(x)$; altrimenti si scorre la tabella dalla maschera più lunga (longest prefix match) e si usa il primo match. La riga con rete $0.0.0.0$ e maschera $0.0.0.0$ (default route) corrisponde sempre. L'aggregazione di rotte (route aggregation) riduce la tabella, e nell'inoltro con etichette (MPLS) la tabella si consulta per indice.Instradamento e inoltro → e Elementi di rete - hub, switch e routerI dispositivi che interconnettono le reti si distinguono per il livello della pila che arrivano a leggere. Hub (livello 1): ripetitore, rigenera il segnale e lo manda su tutte le porte, tutte le stazioni condividono la capacità. Bridge e switch (livello 2): leggono l'indirizzo MAC e inoltrano solo verso la porta giusta, imparando la tabella (FDB) dagli indirizzi sorgente. Router (livello 3): leggono l'indirizzo IP e collegano reti indipendenti (internetwork). Switch e bridge isolano il traffico e sono plug and play; il router fa instradamento ottimo ma va configurato.Elementi di rete - hub, switch e router →.
La topologia lineare
pcB (eno1: rete del lab, invariata)
pcB enp2s0 .1 --- .2 FE0/0 r1 FE0/1 .1 --- .2 eno1 pcC enp2s0 .1 --- .2 FE0/0 r2 FE0/1 .1 --- .2 eno1 pcD
192.168.2x.0/24 192.168.3x.0/24 192.168.4x.0/24 192.168.5x.0/24Il valore x è il numero della riga del banco dove si trova il PC: PC 1-4 , 5-8 , 9-12 , 13-16 , 17-20 , 21-24 . In formula, per il PC numero , (parte intera: ogni riga ha PC): per , ; per , . Nel terzo byte l'indirizzo scrive le cifre 2, 3, 4, 5 seguite da x: per le reti sono 192.168.22.0/24, 192.168.32.0/24, 192.168.42.0/24, 192.168.52.0/24; per sono 192.168.25.0/24, 192.168.35.0/24, 192.168.45.0/24, 192.168.55.0/24 (verificato con Python). Esempio delle slide: se pcD è il pc24, la sua interfaccia eno1 ha l'indirizzo 192.168.55.2/24.
| PC | eno1 |
enp2s0 |
|---|---|---|
| pcB | invariato (rete del laboratorio) | 192.168.2x.1/24 |
| pcC | 192.168.3x.2/24 | 192.168.4x.1/24 |
| pcD | 192.168.5x.2/24 | non usata |
| Router | FE 0/0 |
FE 0/1 |
|---|---|---|
| r1 | 192.168.2x.2/24 | 192.168.3x.1/24 |
| r2 | 192.168.4x.2/24 | 192.168.5x.1/24 |
eno1 è l'interfaccia «nativa» del PC (quella già collegata alla rete del laboratorio); enp2s0 è la seconda scheda. Se enp2s0 non compare, si attiva con ifconfig -a (elenca anche le interfacce spente). FE 0/0 e FE 0/1 sono le due interfacce FastEthernet del router. I nomi cambiano rispetto a Katharà (eth0, eth1), ma i concetti sono gli stessi.
Ogni rete ha due soli dispositivi: quello a sinistra nello schema prende l'indirizzo .1, quello a destra .2. Per esempio nella rete 192.168.3x.0/24 ci sono r1 (.1, su FE 0/1) e pcC (.2, su eno1).
Accedere a un router Cisco
Il router non ha schermo né tastiera: si usa un PC collegato alla porta console del router con un cavo seriale.
- Si collega la porta seriale del PC (
/dev/ttyUSB0) alla porta console del router (routerXX). - Si collegano anche i cavi Ethernet alle due interfacce
FE 0/0eFE 0/1. - Si apre una connessione remota con
minicom(login sul PCrdclab, consudoquando servono privilegi di amministratore):
rdclab@pcXX# minicom -D /dev/ttyUSB0 -8b 9600 # -D porta seriale; -8b 8 bit di dati; 9600 baudPer uscire da minicom: Ctrl+A e poi X. Se compare il prompt routerXX# si è già in modalità privilegiata; altrimenti si preme più volte Invio. Alla richiesta di utente e password si inseriscono quelli indicati nelle slide del laboratorio.
Le modalità dei comandi Cisco
Il router ha una gerarchia di modalità, e il prompt dice dove si è. Ogni modalità accetta solo certi comandi.
| Modalità | Prompt | Come ci si entra | Come si esce |
|---|---|---|---|
| User EXEC | routerXX> |
accesso iniziale | logout chiude la sessione |
| Privileged EXEC | routerXX# |
enable (con password) da User EXEC |
disable torna a User EXEC |
| Global Configuration | routerXX(config)# |
configure terminal |
exit, end o Ctrl+Z |
| Interface Configuration | routerXX(config-if)# |
interface FastEthernet 0/0 |
exit (sale di uno), end (torna a Privileged) |
| Router Configuration | routerXX(config-router)# |
router <protocollo> |
exit, end |
Per vedere e cambiare i parametri di sistema bisogna essere in Privileged EXEC (#). exit risale di un livello; end (o Ctrl+Z) torna direttamente in Privileged EXEC da qualsiasi modalità di configurazione. La modalità Router Configuration serve ai protocolli di instradamento ed è citata nello schema delle slide; in questo laboratorio non si usa.
Configurare gli indirizzi dei router
Dalla modalità Privileged EXEC:
Router1# configure terminal ! entra in configurazione globale
Router1(config)# no ip routing ! spegne l'inoltro IP (azzera lo stato)
Router1(config)# ip routing ! lo riaccende: ora il router instrada tra le interfacce
Router1(config)# interface FastEthernet 0/0 ! entra nella configurazione dell'interfaccia FE 0/0
Router1(config-if)# ip address <ip> <maschera> ! assegna indirizzo e maschera (es. 192.168.22.2 255.255.255.0)
Router1(config-if)# no shutdown ! attiva l'interfaccia (di default è spenta)
Router1(config-if)# interface FastEthernet 0/1 ! passa all'interfaccia FE 0/1
Router1(config-if)# ip address <ip> <maschera>
Router1(config-if)# no shutdown
Router1(config-if)# end ! torna in Privileged EXECIl testo dopo ! è un commento Cisco (non si scrive). Spiegazione, riga per riga:
no ip routingseguito daip routingspegne e riaccende la funzione di instradamento: serve a partire da uno stato pulito;interface FastEthernet 0/0sceglie l'interfaccia da configurare (0/0= modulo 0, porta 0);ip address <ip> <maschera>usa la maschera scritta per esteso (255.255.255.0), non il prefisso: la sintassi di Cisco è diversa daifconfig eth0 ip/24. I due modi dicono la stessa cosa:/24sono bit a seguiti da a , cioè e, convertito ottetto per ottetto (),255.255.255.0(Basi di numerazione e conversioni - binario, ottale ed esadecimaleUn numero in base $r$ vale $\sum a_i r^i$ (cifre $a_i\in{0,\dots,r-1}$). Conversioni: base $r\to$ decimale con la somma pesata; decimale $\to$ base $r$ per divisioni successive (parte intera, resti letti dal basso) e moltiplicazioni successive (parte frazionaria, parti intere lette dall'alto); binario $\leftrightarrow$ ottale/esadecimale a gruppi di 3/4 bit. Somma, differenza e prodotto binari seguono le regole decimali con cifre 0 e 1; la differenza ha prestiti, il prodotto somma prodotti parziali traslati.Basi di numerazione e conversioni - binario, ottale ed esadecimale →, Subnetting e supernettingIl subnetting divide un blocco di indirizzi in sottoblocchi più piccoli allungando la maschera ($n_{\text{sub}}=n_{\text{rete}}+s$, con $2^s$ sottoreti); il supernetting (aggregazione CIDR) fa l'opposto, accorciando il prefisso per unire blocchi contigui in uno più grande. Regole di progetto: ogni sottorete ha un numero di indirizzi potenza di 2 ($M=2^k\ge$ host richiesti $+2$), prefisso $n=32-k$, indirizzo iniziale multiplo di $M$; si assegnano prima le sottoreti più grandi. Per aggregare $2^j$ blocchi di prefisso $n$ servono blocchi contigui il cui primo indirizzo sia multiplo della dimensione dell'aggregato, e il nuovo prefisso è $n-j$.Subnetting e supernetting →). La rete dell'interfaccia èindirizzo AND maschera:192.168.22.2AND255.255.255.0192.168.22.0(Algebra di Boole e porte logicheVariabili booleane, operatori AND, OR, NOT e derivati (NAND, NOR, XOR, XNOR) con tabelle di verità; assiomi e teoremi dell'algebra di Boole, De Morgan; porte logiche e completezza di NAND e NOR; semplificazione algebrica con esempio.Algebra di Boole e porte logiche →);no shutdownaccende l'interfaccia.shutdownla spegne: le interfacce dei router Cisco partono spente e questo comando è quindi indispensabile (in Katharà bastavaup). Il prefissonodavanti a un comando lo annulla.
Esempio (). Su r1: FE 0/0 ip address 192.168.22.2 255.255.255.0; FE 0/1 ip address 192.168.32.1 255.255.255.0. Su r2: FE 0/0 192.168.42.2, FE 0/1 192.168.52.1.
Rotte sui router Cisco
Dalla modalità di configurazione globale:
ip route <destinazione> <maschera> <indirizzo del gateway> ! aggiunge una rotta statica
ip route <destinazione> <maschera> <interfaccia> ! idem, indicando l'interfaccia di uscita
no ip route <destinazione> <maschera> <indirizzo del gateway> ! la cancella
ip route 0.0.0.0 0.0.0.0 <indirizzo del gateway> ! rotta predefinita (default gateway)Formula (rotta statica Cisco).
ip route <rete> <maschera> <next hop>: «per raggiungere<rete>/<maschera>si invia al<next hop>», con la maschera per esteso. La rotta predefinita è la rete0.0.0.0con maschera0.0.0.0.
Esempio (). Su r1, per raggiungere la rete di pcD: ip route 192.168.52.0 255.255.255.0 192.168.32.2, cioè «la 192.168.52.0/24 si raggiunge tramite l'eno1 di pcC».
Le reti collegate direttamente (qui, per r1, le prime due) sono nella tabella da sole, come in Katharà e su qualunque router.
Maschera e wildcard. Nei comandi ip address e ip route Cisco usa la maschera (bit a sulla parte di rete). In altri comandi (per le liste di accesso e per il comando network di OSPF, che qui non si usano) usa la wildcard, che è il complemento: bit a dove la maschera ha , e viceversa. Si ottiene con ottetto per ottetto: 255.255.255.0 0.0.0.255; 255.255.255.252 () 0.0.0.3; 255.255.240.0 () 0.0.15.255. Una wildcard a vuol dire "questo bit deve coincidere", a "non importa": 192.168.22.0 con wildcard 0.0.0.255 descrive tutti gli indirizzi 192.168.22.x.
Comandi di controllo, da Privileged EXEC:
| Comando | Cosa mostra |
|---|---|
show interfaces |
stato e indirizzi di tutte le interfacce |
show ip route |
la tabella di instradamento |
show ip cache |
la cache di instradamento |
Configurare i PC
Per i PC si usano i comandi già noti di Katharà:
ifconfig <interfaccia> <indirizzo> netmask <maschera> broadcast <broadcast> up # indirizzo e attivazione
route add default gw <gateway> dev <interfaccia> # rotta predefinita
route add -net <rete> netmask <maschera> gw <gateway> dev <interfaccia> # rotta statica
sysctl -w net.ipv4.ip_forward=1 # inoltro IP abilitato (solo pcC)L'ultima riga serve ai PC che fanno da router: pcC sta in mezzo tra r1 e r2 e deve inoltrare i pacchetti da un'interfaccia all'altra; senza net.ipv4.ip_forward=1 il kernel Linux li scarta (in Katharà l'inoltro è già attivo nelle macchine). Servono i privilegi (sudo).
La configurazione completa (esempio )
Calcolate con Python: reti 192.168.22.0/24 (pcB-r1), 192.168.32.0/24 (r1-pcC), 192.168.42.0/24 (pcC-r2), 192.168.52.0/24 (r2-pcD).
pcB. Ha già eno1, che non si tocca.
ifconfig enp2s0 192.168.22.1 netmask 255.255.255.0 broadcast 192.168.22.255 up # verso r1
route add -net 192.168.32.0 netmask 255.255.255.0 gw 192.168.22.2 dev enp2s0 # rete r1-pcC
route add -net 192.168.42.0 netmask 255.255.255.0 gw 192.168.22.2 dev enp2s0 # rete pcC-r2
route add -net 192.168.52.0 netmask 255.255.255.0 gw 192.168.22.2 dev enp2s0 # rete r2-pcDLe slide indicano come comodo il default gateway; su pcB, che ha già eno1 collegata alla rete del laboratorio, le tre rotte statiche evitano di toccare l'instradamento verso il resto del laboratorio (osservazione: la scelta è nostra, entrambi i modi raggiungono lo scopo).
r1 (Cisco).
interface FastEthernet 0/0
ip address 192.168.22.2 255.255.255.0
no shutdown
interface FastEthernet 0/1
ip address 192.168.32.1 255.255.255.0
no shutdown
exit
ip route 192.168.42.0 255.255.255.0 192.168.32.2
ip route 192.168.52.0 255.255.255.0 192.168.32.2pcC (in mezzo).
ifconfig eno1 192.168.32.2 netmask 255.255.255.0 broadcast 192.168.32.255 up # verso r1
ifconfig enp2s0 192.168.42.1 netmask 255.255.255.0 broadcast 192.168.42.255 up # verso r2
sysctl -w net.ipv4.ip_forward=1 # pcC fa da router
route add -net 192.168.22.0 netmask 255.255.255.0 gw 192.168.32.1 dev eno1 # a sinistra: via r1
route add -net 192.168.52.0 netmask 255.255.255.0 gw 192.168.42.2 dev enp2s0 # a destra: via r2r2 (Cisco).
interface FastEthernet 0/0
ip address 192.168.42.2 255.255.255.0
no shutdown
interface FastEthernet 0/1
ip address 192.168.52.1 255.255.255.0
no shutdown
exit
ip route 192.168.22.0 255.255.255.0 192.168.42.1
ip route 192.168.32.0 255.255.255.0 192.168.42.1pcD.
ifconfig eno1 192.168.52.2 netmask 255.255.255.0 broadcast 192.168.52.255 up
route add default gw 192.168.52.1 dev eno1 # unica uscita: r2Un ping da pcB a pcD, passo per passo (esempio , destinazione 192.168.52.2). A ogni nodo si confronta 192.168.52.2 AND maschera con le righe della tabella:
| nodo | rotta usata | next hop | TTL all'uscita |
|---|---|---|---|
| pcB | 192.168.52.0/24 (192.168.52.2 AND 255.255.255.0 192.168.52.0) |
192.168.22.2 (r1) |
64 (parte da pcB) |
| r1 | ip route 192.168.52.0 255.255.255.0 192.168.32.2 |
192.168.32.2 (pcC) |
63 |
| pcC | 192.168.52.0/24 |
192.168.42.2 (r2) |
62 |
| r2 | rete collegata (FE 0/1, 192.168.52.0/24) |
consegna diretta a pcD | 61 |
pcD riceve il pacchetto con TTL (tre dispositivi hanno sottratto : r1, pcC, r2). La risposta riparte da pcD con TTL e torna con regole analoghe in senso inverso: la rotta predefinita di pcD manda tutto a r2, poi r2 usa ip route 192.168.22.0 ... 192.168.42.1 (pcC), pcC usa la rotta per 192.168.22.0/24 verso r1, r1 consegna a pcB; a pcB arriva con TTL , il ttl=61 che si legge nel ping. Con l'aumento dei salti cresce anche il tempo di andata e ritorno (ogni dispositivo aggiunge elaborazione e attesa, Analisi delle prestazioni di reteLe prestazioni di una rete si misurano con tre famiglie di metriche: traffico (bitrate $R_0$ massimo del collegamento, throughput $S\le R_0$ dati consegnati con successo, goodput al livello applicazione), ritardo (end-to-end $d_{tot}=d_{proc}+d_{queue}+d_{trans}+d_{prop}$ con $d_{trans}=L/R$ e $d_{prop}=d/v$; jitter; RTT) e capacità del tubo (BDP $=R\cdot$ ritardo, bit che riempiono il collegamento), più l'affidabilità (PER, PDR, PLR). Il throughput di un percorso è quello del collegamento collo di bottiglia, $\min$ dei bitrate, ricordando che i collegamenti condivisi dividono la capacità.Analisi delle prestazioni di rete →): per questo il foglio chiede di annotare i tempi dai vicini ai lontani.
Regola per scrivere le rotte in una topologia lineare: ogni nodo ha una rotta per ogni rete lontana, e il next hop è sempre il vicino dal lato in cui sta quella rete. Per esempio r1 (a sinistra pcB, a destra pcC) manda a destra le reti 4x e 5x; pcC manda a sinistra la 2x e a destra la 5x. Le due reti adiacenti a un nodo sono collegate e non richiedono rotte.
Verifiche richieste
Il foglio chiede, a ogni passo, di verificare con ping la comunicazione tra ogni coppia di dispositivi e di annotare i tempi di ogni coppia. Si procede dal vicino al lontano: prima i vicini diretti, poi con un salto in più, e così via fino a pcB pcD. Quando tutte le sottoreti sono collegate, la prova finale è un traceroute da un estremo all'altro:
traceroute 192.168.52.2 # da pcB a pcD: attraversa r1, pcC e r2Il percorso ha tre router intermedi: 192.168.22.2 (r1), 192.168.32.2 (pcC, che fa da router) e 192.168.42.2 (r2), poi pcD. Con ping, se pcD risponde con , a pcB arriva ttl=61 (, tre dispositivi che inoltrano). In Wireshark si controllano le intestazioni IP delle sonde, come in Routing avanzato in KatharàLaboratorio 3 (LAB3). Tre router r1, r2, r3 a triangolo con tre LAN (96.96.0.0/24, 192.192.192.0/20, 128.128.0.0/20) e tre collegamenti /30 (10.0.0.0/30, 20.0.0.0/30, 30.0.0.0/30). Obiettivo: ogni dispositivo deve poter fare ping a ogni interfaccia di ogni altro. Gli host usano una rotta predefinita; i router soltanto rotte statiche (vietato il default), tre per router, una per ogni rete non direttamente collegata. Con soli default in un triangolo i percorsi si allungano e i pacchetti per indirizzi sconosciuti girano in cerchio fino al TTL; un buon compromesso è un default più qualche rotta specifica. traceroute scopre i router incrementando il TTL: ogni router che lo porta a 0 risponde con ICMP time exceeded.Routing avanzato in Katharà →: TTL crescente a ogni gruppo di sonde e messaggi ICMP time exceeded dai router (Protocollo ICMPIPv4 non ha meccanismi per segnalare o correggere gli errori né per interrogare host e router: li fornisce l'ICMP (Internet Control Message Protocol), un protocollo di rete i cui messaggi viaggiano dentro datagrammi IP con campo Protocol $=1$. I messaggi sono di errore (destination unreachable, tipo 3; time exceeded, tipo 11; redirect, tipo 5; parameter problem, tipo 12), sempre inviati alla sorgente originale e con l'intestazione IP più i primi 8 byte del datagramma che ha causato l'errore, oppure di interrogazione (echo request 8 e reply 0, timestamp 13-14). ICMP segnala ma non corregge. Con l'echo si fanno ping (RTT) e scoperta dell'MTU (bit D, codice 4, payload massimo $1500-20-8=1472$ byte); con time exceeded e port unreachable si fa traceroute ($n+1$ messaggi con TTL crescente). Attacchi: smurf e redirect.Protocollo ICMP →). Il laboratorio si chiude premendo il pulsante Finish.
Errori tipici
- Dimenticare
no shutdown: l'interfaccia Cisco resta spenta (show interfacesla dà administratively down). - Scrivere il prefisso (
/24) nei comandi Cisco: serve la maschera per esteso. - Dimenticare
sysctl -w net.ipv4.ip_forward=1su pcC: i pacchetti arrivano e non ripartono. - Sbagliare il valore di
x: gli indirizzi vanno calcolati dalla riga del banco. - Dimenticare una rotta: ogni nodo deve conoscere tutte le reti lontane (andata e ritorno).
- Cercare la configurazione dal prompt sbagliato: i comandi
ip routevanno in Global Configuration,ip addressin Interface Configuration.
Versione ripasso
- LAB4, su macchine vere. Topologia lineare pcB - r1 - pcC - r2 - pcD con reti
192.168.2x.0/24(pcB-r1),3x(r1-pcC),4x(pcC-r2),5x(r2-pcD). Su ogni rete il dispositivo a sinistra prende.1, quello a destra.2. Valore = riga del banco: PC 1-4 , 5-8 , 9-12 , 13-16 , 17-20 , 21-24 . Per :192.168.22.0/24,32,42,52(pc24: pcD192.168.55.2/24). - Indirizzi. pcB:
enp2s0.2x.1(eno1non si tocca). pcC:eno1.3x.2,enp2s0.4x.1. pcD:eno1.5x.2. r1:FE 0/0.2x.2,FE 0/1.3x.1. r2:FE 0/0.4x.2,FE 0/1.5x.1. Seenp2s0non compare:ifconfig -a. - Accesso. Cavo seriale da
/dev/ttyUSB0alla porta console del router, poiminicom -D /dev/ttyUSB0 -8b 9600; uscita conCtrl+A, poiX. Privilegi consudo. - Modalità. User EXEC
routerXX>, poienable(password) porta a Privileged EXECrouterXX#, poiconfigure terminalporta a(config)#, poiinterface FastEthernet 0/0porta a(config-if)#;router <protocollo>porta a(config-router)#.exitsale di un livello;endoCtrl+Ztorna a#;disabletorna a>;logoutchiude. Vedere e cambiare i parametri richiede#. - Comandi su r1 ().
no ip routing # spegne e riaccende l'inoltro: stato pulito
ip routing
interface FastEthernet 0/0
ip address 192.168.22.2 255.255.255.0 # maschera per esteso, non il prefisso
no shutdown # le interfacce Cisco partono spente
interface FastEthernet 0/1
ip address 192.168.32.1 255.255.255.0
no shutdown
exit
ip route 192.168.42.0 255.255.255.0 192.168.32.2 # rotta statica: rete, maschera, next hop
ip route 192.168.52.0 255.255.255.0 192.168.32.2- Rotte. Da
(config)#:ip route <rete> <maschera> <gateway>(oppure con l'interfaccia di uscita);no ip route ...cancella; rotta predefinitaip route 0.0.0.0 0.0.0.0 <gateway>. Controllo da#:show interfaces(stato e indirizzi),show ip route,show ip cache. Le reti collegate sono nella tabella da sole (Routing statico in KatharàLaboratorio 2 (LAB2). Due LAN (195.11.14.0/24 e 200.1.1.0/24) sono unite da due router r1 e r2 collegati da una rete 100.0.0.8/30. Una interfaccia attiva inserisce da sola nella tabella di instradamento solo la rete direttamente collegata: per le altre servono rotte inserite a mano. I PC usano una rotta predefinita (route add default gw 195.11.14.1), i router rotte statiche (route add -net 195.11.14.0/24 gw 100.0.0.9 dev eth1). Senza la rotta di ritorno su r2 le richieste di ping arrivano ma le risposte no: la raggiungibilità vale solo se c'è un percorso in entrambi i versi. A configurazione finitapingda pc1 a pc2 risponde con ttl=62 (64 meno 2 router).Routing statico in Katharà →). - PC Linux. Come in Katharà:
ifconfig <if> <ip> netmask <m> broadcast <b> up,route add default gw <gw> dev <if>,route add -net <rete> netmask <m> gw <gw> dev <if>. Il PC che sta in mezzo deve inoltrare:sysctl -w net.ipv4.ip_forward=1(su pcC), altrimenti il kernel scarta i pacchetti che passano da un'interfaccia all'altra. - Configurazione completa ().
- pcB:
ifconfig enp2s0 192.168.22.1 netmask 255.255.255.0 broadcast 192.168.22.255 up, poi tre rotte statiche via192.168.22.2verso le reti32,42,52(scelta di comodo rispetto al default gateway, perché pcB ha giàeno1sulla rete del laboratorio). - pcC:
eno1192.168.32.2,enp2s0192.168.42.1,ip_forward=1;route add -net 192.168.22.0 ... gw 192.168.32.1 dev eno1eroute add -net 192.168.52.0 ... gw 192.168.42.2 dev enp2s0. - r2:
FE 0/0192.168.42.2,FE 0/1192.168.52.1; rotteip route 192.168.22.0 255.255.255.0 192.168.42.1e192.168.32.0allo stesso next hop. - pcD:
ifconfig eno1 192.168.52.2 ..., poiroute add default gw 192.168.52.1 dev eno1(unica uscita: r2).
- pcB:
- Regola. Ogni nodo deve avere una rotta per ogni rete lontana, con next hop il vicino dal lato in cui sta quella rete. Le reti adiacenti a un nodo sono collegate e non richiedono rotte. Ad esempio r1 manda verso destra le reti
4xe5x. - Verifiche. A ogni passo
pingtra ogni coppia, dai vicini ai lontani, annotando i tempi. Finale:traceroute 192.168.52.2da pcB, che attraversa r1 (192.168.22.2), pcC (192.168.32.2) e r2 (192.168.42.2). Con TTL 64 su pcD, pcB ricevettl=61, cioè : tre dispositivi inoltrano. Le sonde si controllano in Wireshark (Routing avanzato in KatharàLaboratorio 3 (LAB3). Tre router r1, r2, r3 a triangolo con tre LAN (96.96.0.0/24, 192.192.192.0/20, 128.128.0.0/20) e tre collegamenti /30 (10.0.0.0/30, 20.0.0.0/30, 30.0.0.0/30). Obiettivo: ogni dispositivo deve poter fare ping a ogni interfaccia di ogni altro. Gli host usano una rotta predefinita; i router soltanto rotte statiche (vietato il default), tre per router, una per ogni rete non direttamente collegata. Con soli default in un triangolo i percorsi si allungano e i pacchetti per indirizzi sconosciuti girano in cerchio fino al TTL; un buon compromesso è un default più qualche rotta specifica.traceroutescopre i router incrementando il TTL: ogni router che lo porta a 0 risponde con ICMP time exceeded.Routing avanzato in Katharà →), con i messaggi ICMP time exceeded (Protocollo ICMPIPv4 non ha meccanismi per segnalare o correggere gli errori né per interrogare host e router: li fornisce l'ICMP (Internet Control Message Protocol), un protocollo di rete i cui messaggi viaggiano dentro datagrammi IP con campo Protocol $=1$. I messaggi sono di errore (destination unreachable, tipo 3; time exceeded, tipo 11; redirect, tipo 5; parameter problem, tipo 12), sempre inviati alla sorgente originale e con l'intestazione IP più i primi 8 byte del datagramma che ha causato l'errore, oppure di interrogazione (echo request 8 e reply 0, timestamp 13-14). ICMP segnala ma non corregge. Con l'echo si fanno ping (RTT) e scoperta dell'MTU (bit D, codice 4, payload massimo $1500-20-8=1472$ byte); con time exceeded e port unreachable si fa traceroute ($n+1$ messaggi con TTL crescente). Attacchi: smurf e redirect.Protocollo ICMP →). Il laboratorio si chiude con il pulsante Finish. - Errori tipici:
no shutdowndimenticato (show interfacesdà administratively down); prefisso/24al posto della maschera;ip_forwardspento su pcC (i pacchetti arrivano e non ripartono); sbagliato; rotta mancante (vanno scritte andata e ritorno); comandi nella modalità sbagliata:ip routein Global Configuration,ip addressin Interface Configuration.