Configurazione del routing statico


next up previous
Next: Routing su larga scala Up: Introduzione Previous: Problematiche di routing

La tabella di routing, che è alla base del routing statico, può essere modificata in vari modi:

Il contenuto della tabella può naturalmente essere esaminato tramite opportuni comandi di visualizzazione. Altri comandi consentono di tracciare il percorso dei datagram IP dal nodo sorgente alla destinazione, e di verificare la raggiungibilità di un nodo.


Configurazione delle interfacce di rete

Comandi su host Unix: ifconfig

Il comando ifconfig viene usato per configurare un'interfaccia di rete e assegnarle un indirizzo. Il comando ha la seguente sintassi:

ifconfig interfaccia [indirizzo] [parametri]

Esempi:

ifconfig ln0 130.180.4.1 netmask 255.255.255.0 up
ifconfig sl0 194.20.20.1 194.20.20.11 up

Generalmente deve essere assegnato a ciascuna interfaccia un indirizzo IP appartenente ad una (sotto)rete diversa. Sulle interfacce punto-punto è però spesso consentito utilizzare lo stesso indirizzo usato per un'altra interfaccia (in genere quella sulla LAN).

I comandi ifconfig -a oppure netstat -i presentano lo stato corrente di tutte le interfacce attive:

bash$ netstat -in
Name  Mtu   Network     Address               Ipkts Ierrs    Opkts Oerrs  Coll
tu0   1500  194.20.20   194.20.20.20       75359946    24 106545176   403 14045127
sl0*  296   Link                                  0     0        0     0     0
sl1*  296   Link                                  0     0        0     0     0
lo0   1536  127         127.0.0.1            575214     0   575214     0     0

Comandi su router CISCO: interface

Il comando interface viene usato sui router CISCO per configurare le interfacce di rete:
interface ethernet 0
ip address 194.20.20.1 255.255.255.0

interface serial 0
ip unnumbered ethernet 0
Il comando show interface [interfaccia] viene usato per mostrare lo stato di tutte o di una specifica interfaccia.
garisenda>show interface serial 3
Serial3 is up, line protocol is up 
  Hardware is HD64570
  Description: Collegamento con UNISOURCE (MI)
  Internet address is 194.20.20.126 255.255.255.248
  Backup interface BRI7, kickin load not set, kickout load not set
      failure delay 0 sec, secondary disable delay 30 sec
  MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec, rely 255/255, load 207/255
  Encapsulation HDLC, loopback not set, keepalive set (10 sec)
  Last input 0:00:00, output 0:00:00, output hang never
  Last clearing of "show interface" counters never
  Input queue: 1/75/20 (size/max/drops); Total output drops: 13648
  Output queue: high 0/50/11, medium 0/50/0, normal 0/500/2581, low 0/500/11056
  5 minute input rate 117000 bits/sec, 60 packets/sec
  5 minute output rate 104000 bits/sec, 64 packets/sec
     97677780 packets input, 536453886 bytes, 20 no buffer
     Received 234016 broadcasts, 0 runts, 0 giants
     22907 input errors, 22900 CRC, 6 frame, 0 overrun, 0 ignored, 202 abort
     100944043 packets output, 4208436370 bytes, 0 underruns
     0 output errors, 0 collisions, 2 interface resets, 0 restarts
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up


Configurazione di route statiche

Comandi su host Unix: route

Il comando route consente di modificare in maniera statica la tabella di routing.
Il comando ha la seguente sintassi:

route {add|delete|change} [-net|-host] address gateway [metric] .

Esempi:

route add 194.20.21.0  194.20.20.7  2
      (route per la rete 194.20.21.0 tramite router 194.20.20.7 con costo 2)
route add -net 194.20.22.64 194.20.20.6
      (route per la rete 194.20.22.64 mask 255.255.255.192 tramite 194.20.20.6)
route add default 194.20.20.7
      (route di default tramite router 194.20.20.7)

Comandi su router CISCO: ip route

Il comando ip route consente di inserire route statiche su un router CISCO. Il comando ha la seguente sintassi:

ip route address mask router [metric]

Esempi:

ip route 193.43.125.0 255.255.255.0 194.20.20.7

ip route 194.20.144.0 255.255.255.0 Serial0 200

ip route 0.0.0.0 0.0.0.0 Serial3


Messaggi ICMP redirect

I messaggi ICMP redirect vengono mandati da un router al mittente di undatagram IP quando il datagram avrebbe dovuto essere inviato ad un altro router.

La figura seguente dovrebbe chiarire questa possibile situazione:

I messaggi ICMP redirect provocano l'installazione di una route statica sulla tabella di routing con l'indicazione del router corretto per la destinazione che ha provocato il messaggio.

Questa situazione si può presentare quando vi sono più router su una LAN e gli host sulla LAN usano solo una route statica di default per controllare il routing.


Comandi che mostrano il contenuto della tabella

Comandi su host Unix: netstat -r

Sugli host Unix, il comando netstat -r consente di esaminare il contenuto attuale della tabella di routing (il comando netstat ha numerose opzioni tramite le quali si possono analizzare varie informazioni sulla rete e i protocolli).

Esempio:

bash$ netstat -rn
Routing tables
Destination      Gateway            Flags     Refs     Use  Interface
Route Tree for Protocol Family 2:
default          194.20.20.6        UG        196 18646259  tu0
127.0.0.1        127.0.0.1          UH          2    27417  lo0
194.20.20        194.20.20.20       U         190 44212849  tu0
192.36.73        194.20.20.6        UGDM        0    33189  tu0
193.45.68        194.20.20.32       UGD         0    91719  tu0
193.45.71        194.20.20.33       UGD         0     6484  tu0
194.20.20.211    194.20.20.7        UGHD        0     7508  tu0
Significato dei Flags:
U
La route è attiva (UP)
G
La route è tramite un gateway
H
La route è verso un host
D
La route è stata creata da un ICMP redirect
M
La route è stata modificata da un ICMP redirect
Il campo Refs indica il numero di connessioni TCP in uso, il campo Use indica il numero di pacchetti trasferiti.

Comandi su router CISCO: show ip route

Su un router CISCO il contenuto della tabella di routing si esamina con il comando show ip route.

Esempio:

show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default

Gateway of last resort is 0.0.0.0 to network 0.0.0.0

D    194.21.195.0 [90/40537600] via 194.20.20.36, 00:01:06, Ethernet0
D    194.20.194.0 [90/281600] via 194.20.20.35, 17:46:12, Ethernet0
D    194.20.195.0 [90/281600] via 194.20.20.35, 17:46:12, Ethernet0
D    194.20.192.0 [90/281600] via 194.20.20.35, 17:46:14, Ethernet0
D    194.20.193.0 [90/281600] via 194.20.20.35, 17:46:12, Ethernet0
S    194.20.146.0 is directly connected, Serial0
S    194.20.147.0 is directly connected, Serial0
S    194.20.144.0 is directly connected, Serial0
     194.20.145.0 is variably subnetted, 2 subnets, 2 masks
S       194.20.145.0 255.255.255.0 is directly connected, Serial0
C       194.20.145.252 255.255.255.252 is directly connected, Serial0
     194.20.158.0 is variably subnetted, 2 subnets, 2 masks
S       194.20.158.0 255.255.255.0 is directly connected, Serial2
C       194.20.158.240 255.255.255.240 is directly connected, Serial2
S    194.20.159.0 is directly connected, Serial2
S    194.20.156.0 is directly connected, Serial2

Informazioni più dettagliate su una singola route si possono avere con il comando show ip route indirizzo:

garisenda>show ip route 194.21.195.0
Routing entry for 194.21.195.0 255.255.255.0
  Known via "eigrp 1", distance 90, metric 40537600, type internal
  Redistributing via eigrp 1
  Last update from 194.20.20.36 on Ethernet0, 00:01:37 ago
  Routing Descriptor Blocks:
  * 194.20.20.36, from 194.20.20.36, 00:01:37 ago, via Ethernet0
      Route metric is 40537600, traffic share count is 1
      Total delay is 21000 microseconds, minimum bandwidth is 64 Kbit
      Reliability 255/255, minimum MTU 1500 bytes
      Loading 3/255, Hops 1


Traccia del percorso seguito da un datagram IP: il comando traceroute

Il comando traceroute (o trace su un router CISCO) consente di vedere il percorso, ovvero la sequenza di router attraversati, seguito da un datagram IP per raggiungere una certa destinazione.

Ad ogni router attraversato vengono mandati tre pacchetti, e viene registrato il tempo trascorso tra l'invio di ciascun pacchetto a l'arrivo della risposta (round-trip time). Gli asterischi indicano che non si è avuta risposta per quel pacchetto.

Questo comando sfrutta i messaggi di controllo ICMP e il campo TTL dei datagram IP.

bash$ traceroute 
traceroute www.cisco.com
traceroute to cio-sys.cisco.com (192.31.7.130), 30 hops max, 40 byte packets
 1  garisenda (195.32.0.254)  6 ms  6 ms  5 ms
 2  sansiro-s0-0 (195.250.255.206)  31 ms  31 ms  42 ms
 3  Serial3-7.GW1.MLN2.ALTER.NET (146.188.33.85)  33 ms  32 ms  54 ms
 4  Serial3-7.GW1.MLN2.ALTER.NET (146.188.33.85)  32 ms  31 ms  59 ms
 5  Fddi0-0.CR1.MLN2.Alter.Net (146.188.31.33)  38 ms  42 ms  37 ms
 6  217.Hssi5-0.CR1.LND2.Alter.Net (146.188.3.33)  74 ms  75 ms  86 ms
 7  311.Atm1-0.BR2.LND2.Alter.Net (146.188.3.106)  113 ms  80 ms  71 ms
 8  215.ATM4-0-0.CR2.TCO1.Alter.Net (137.39.103.86)  204 ms  154 ms  172 ms
 9  312.atm12-0-0.br1.tco1.alter.net (137.39.13.9)  155 ms  154 ms  151 ms
10  137.39.23.14 (137.39.23.14)  161 ms  163 ms  160 ms
11  vienna1-nbr3.bbnplanet.net (4.0.5.46)  172 ms  157 ms  149 ms
12  paloalto-nbr2.bbnplanet.net (4.0.3.178)  251 ms  250 ms  236 ms
13  paloalto-cr18.bbnplanet.net (4.0.3.86)  218 ms  249 ms  221 ms
14  cisco.bbnplanet.net (131.119.26.10)  265 ms  231 ms  243 ms
15  sty.cisco.com (192.31.7.39)  279 ms  231 ms  278 ms
16  cio-sys.cisco.com (192.31.7.130)  237 ms  276 ms
# 
Questo comando è evidentemente molto utile nel diagnosticare problemi di routing. In particolare, le annotazioni !H, !N, !P indicano rispettivamente che l'host, la rete o il protocollo non sono raggiungibili.


Verifica della raggiungibilità di un host: il comando ping

Il comando ping consente di verificare la raggiungibilità e lo stato di funzionamento di un host o router sulla rete. Anch'esso, come traceroute, sfrutta i messaggi di controllo ICMP (ICMP echo request e echo reply), gestiti direttamente dal livello IP del software di rete.

Il comando mostra anche, in genere, il round-trip time del pacchetto e la percentuale di pacchetti perduti, dando indicazione sulla bontà del collegamento.

bash$ ping www.cisco.com
PING cio-sys.cisco.com (192.31.7.130): 56 data bytes
64 bytes from 192.31.7.130: icmp_seq=0 ttl=239 time=265 ms
64 bytes from 192.31.7.130: icmp_seq=1 ttl=239 time=259 ms
64 bytes from 192.31.7.130: icmp_seq=2 ttl=239 time=252 ms
64 bytes from 192.31.7.130: icmp_seq=3 ttl=239 time=245 ms
64 bytes from 192.31.7.130: icmp_seq=4 ttl=239 time=231 ms
64 bytes from 192.31.7.130: icmp_seq=5 ttl=239 time=261 ms
64 bytes from 192.31.7.130: icmp_seq=6 ttl=239 time=241 ms
64 bytes from 192.31.7.130: icmp_seq=7 ttl=239 time=241 ms
64 bytes from 192.31.7.130: icmp_seq=8 ttl=239 time=252 ms
64 bytes from 192.31.7.130: icmp_seq=9 ttl=239 time=284 ms
64 bytes from 192.31.7.130: icmp_seq=10 ttl=239 time=295 ms
64 bytes from 192.31.7.130: icmp_seq=11 ttl=239 time=282 ms
64 bytes from 192.31.7.130: icmp_seq=12 ttl=239 time=268 ms
64 bytes from 192.31.7.130: icmp_seq=13 ttl=239 time=267 ms
64 bytes from 192.31.7.130: icmp_seq=14 ttl=239 time=243 ms
64 bytes from 192.31.7.130: icmp_seq=15 ttl=239 time=232 ms
64 bytes from 192.31.7.130: icmp_seq=16 ttl=239 time=233 ms
64 bytes from 192.31.7.130: icmp_seq=17 ttl=239 time=232 ms
64 bytes from 192.31.7.130: icmp_seq=18 ttl=239 time=241 ms

----cio-sys.cisco.com PING Statistics----
19 packets transmitted, 19 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 231/254/295 ms


L'host svolge funzioni di routing?

Non tutti gli hosts che hanno più interfacce di rete svolgono effettivamente la funzione di routing: questa deve essere esplicitamente abilitata dal software.

Non esiste purtroppo un comando unico per verificare se un host svolga la funzione di routing ne' per abilitare/disabilitare la stessa.
Sul sistema Linux, ad esempio, è necessario ricompilare il kernel; altri sistemi abilitano automaticamente il routing quando vi sono più interfacce di rete. La maggior parte dispone di un comando che svolge questa funzione (ad es. il comando iprsetup su DEC OSF/1).



SOFTWARE PROGETTO DSNET
Mercoledi` 13 maggio 1998