Sei sulla pagina 1di 9

Routing

Consideriamo la seguente rete, facciamo comunicare tu3 i nodi:

Host Network Interface Card LAN Subnet Mask


H1 eth0=192.168.1.1
LAN1=192.168.1.0
eth0=192.168.1.254
H2 255.255.255.0
eth1=192.168.2.254
LAN2=192.168.2.0
H3 eth0=192.168.2.1
Usando una configurazione con bridge, potremmo fare comunicare facilmente tu3 i nodi, ma non
rispe:eremmo la configurazione richiesta nello schema. Dallo studio delle due so:ore> dello
schema (LAN1 e LAN2) si evince che:
LAN (CIDR) Host-Min Host-Max
LAN1=192.168.1.0/24 192.168.1.1 192.168.1.254
LAN2=192.168.2.0/24 192.168.2.1 192.168.2.254
Ogni nodo di una so:orete (H1, H2 o H3) può comunicare a Livello-2 solo con i nodi appartenen>
alla stessa so:orete (ad es. H1 con H2, e H2 con H3). Per ogni altro nodo, è necessario ricorrere al
Rou>ng dei pacche3 a livello IP.
Quindi, dato il seguente schema, dove sono visibili graficamente le aree coperte dalle due LAN, a
Livello-2 è possibile:
§ Collegare H1 con H2
§ Collegare H2 con H3
§ Non è possibile collegare H1 e H3

1
Routing
Allo scopo di fare comunicare due o più so:ore>, si individuano degli host che svolgono il ruolo di
router, che inoltrano pacche3 da una so:orete a un'altra. L'inoltro dei pacche3 viene
determinato in base all'indirizzo IP di des>nazione (Livello-3 dello stack TCP/IP)
L'host che svolge il ruolo di router quando riceve un pacche:o con un indirizzo IP di des>nazione
non suo, invece di scartarlo (azione effe:uata da un host comune), lo inoltra ad un altro router
secondo Regole di Rou5ng prestabilite.
Nel caso in cui il des>natario del pacche:o non faccia parte della so:orete dell'host, quest'ul>mo
inoltrerà il pacche:o ad un router prestabilito iden>ficato con il termine di gateway.
I problemi principali da risolvere all'interno delle configurazioni di rete che comprendono mul>ple
so:ore> (ad esempio quella nello schema precedente) sono:
§ Ogni router deve sapere come raggiungere ogni rete, sia quelle alle quali è connesso
dire:amente sia quelle a cui è connesso indire:amente (ad esempio, nello schema precedente
la comunicazione tra H1 e H3).
§ Ogni host deve sapere a quali router (gateway) della propria so:orete deve inviare i pacche3
in base alla des>nazione.

NOTA del Corso:


Agli scopi del corso la configurazione (sta>ca) degli host e dei gateway deve comprendere:
§ La definizione di Tabelle di Rou5ng su tu3 gli host
§ L'abilitazione dell'IP Forwarding sugli host iden>fica> come gateway

IP Forwarding
L'IP Forwarding, o inoltro IP, è il processo che perme:e a un disposi>vo di rete, come un router, di
acce:are pacche3 IP in arrivo e di inoltrarli alla des>nazione corre:a basandosi sulle informazioni
contenute nelle intestazioni dei pacche3.
È possibile controllare lo stato dell'IP Forwarding su un host tramite il comando:
§ Se il parametro è 0 (valore di default), l'IP Forwarding è disabilitato
$ sysctl net.ipv4.ip_forward
net.ipv4.ip forward = 0
Per abilitare la funzionalità di IP Forwarding temporaneamente si esegue il comando:
$ sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip forward = 1
Per abilitare l'IP Forwarding in maniera permanente su un host, all'interno del file
/etc/sysctl.conf si modifica il campo net.ipv4.ip_forward impostandolo ad 1:
§ Al termine va effe:uato il riavvio del Network Manager per rendere effe3ve le modifiche
$ nano /etc/sysctl.conf

net.ipv4.ip_forward=1

$ service networking restart ← Riavvia i servizi di rete
Oppure:
$ sysctl -p /etc/sysctl.conf ← Legge e Applica le modifiche nel file specificato

2
Routing
Una Tabella di Rou5ng è una stru:ura da> u>lizzata da router, gateway e computer per
determinare il percorso più ada:o per l'inoltro dei pacche3 di da> in una rete.
Essa con>ene informazioni sui percorsi di rete, compreso l'indirizzo IP di des>nazione, la so:orete
di des>nazione, l'indirizzo IP del gateway (il "next hop") e l'interfaccia di rete da u>lizzare per
inviare i pacche3 a quella des>nazione.
Quando un pacche:o arriva a un disposi>vo, la tabella di rou>ng viene consultata per decidere
dove inviare il pacche:o successivamente. Se la des>nazione finale del pacche:o è all'interno della
stessa rete del disposi>vo, il pacche:o viene inviato dire:amente all'host di des>nazione. Se la
des>nazione finale è in un'altra rete, il pacche:o viene inviato al gateway appropriato per essere
inoltrato alla rete di des>nazione.

Consultazione Tabella di Routing


Nei sistemi Linux, la tabella di rou>ng è consultabile e modificabile tramite i comandi:
$ route → se non si è root /sbin/route
Oppure:
$ ip route show
L'opzione -n del comando route consente di visualizzare l'indirizzo IP degli host/network al
posto di tradurli nel nome di dominio. Questa opzione rende l'output più veloce e facile da leggere.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Iface
192.168.1.0 * 255.255.255.0 U eth1
155.185.48.128 * 255.255.255.192 U eth0
192.168.2.5 192.168.1.254 255.255.255.255 UGH eth1
0.0.0.0 155.185.54.190 0.0.0.0.0 UG eth0

§ Target di Des>nazione
§ Des>nazione Selezionata
Output corrispondente ip route:
$ ip route show
default via 155.185.54.190 dev eth1 proto static metric 1024
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.35
155.185.48.128/26 dev eth1 proto kernel scope link src 155.185.48.147
192.168.2.5 via 192.168.1.254 dev eth0 proto static metric 1024

Il target di des>nazione può essere una Subnet o un Host, inoltre, è possibile impostare un
Gateway di Default per tu:e le des>nazioni target che non soddisfano nessuna delle des>nazioni
presen> nella Tabella di Rou>ng.
§ le des>nazioni nella tabella sono definite da NetID + Subnet Mask, e non solo da "Destination"

3
Routing
Aggiungere Regole di Routing
Le regole di rou>ng, memorizzate nella tabella di rou>ng, determinano come i pacche3 di da>
vengono indirizza> tra diverse so:ore> all'interno di una rete, oppure tra la rete locale e altre re>,
incluso Internet. Queste regole possono essere configurate per o3mizzare il flusso del traffico di
rete, migliorare la sicurezza, bilanciare il carico, e soddisfare altre esigenze specifiche.

Impostare il Rou>ng verso un Host:


$ route add -host <target> gw <gw_addr>
§ -host <target>
Indica che il <target> è un singolo host o un indirizzo IP specifico, non una rete.
§ gw <gw_addr>
Specifica l'indirizzo IP <gw_addr> del gateway, che è il disposi>vo di rete a cui i pacche3 da>
dovrebbero essere invia> se sono des>na> a <target>.
Esempio:
$ route add -host 192.161.4.1 gw 192.161.1.254

Impostare il Rou>ng verso una Subnet:


$ route add -net <target> gw <gw_addr>
§ -net <target>
Questa opzione indica che il des>natario <target> è una rete, non un singolo host.
<target> è l'indirizzo IP del network di des>nazione.
Esempio:
$ route add -net 155.185.48.128 netmask 255.255.255.128 gw 192.161.1.254

Impostare il Rou>ng tramite Default Gateway:


$ route add default gw <gw_addr>
§ default
Indica che si tra:a del gateway predefinito, se non c'è nessuna regola specifica sulla
des>nazione di un pacche:o, invierà i da> al gateway <gw_addr>.
Esempio:
$ route add default gw 192.168.2.254

Configurazione Permanente
Per rendere permanen> le Tabelle di Rou>ng si agisce sui blocchi delle interfacce all'interno del file
/etc/network/interfaces. Il Default Gateway è impostato tramite il comando gateway,
mentre altre Regole di Rou>ng possono essere impostate tramite la dire3va post-up, che
esegue un comando in seguito all'a3vazione dell'interfaccia.
Esempio:
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254
post-up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.253

4
Routing
Rete con IP Forwarding (3 Host – 2 Switch)
Si configuri la rete presente nel seguente scenario:

• Nello schema in ques>one si hanno due Subnet:


§ LAN1: 192.168.1.0/24
§ LAN2: 192.168.2.0/24
• L'Host H2 fa parte di entrambe le Subnet, quindi non ha problemi a raggiungere gli altri due nodi.
H2 deve svolgere funzionalità di Rou>ng per perme:ere la comunicazione fra le due Subnet.
• Una volta configurate le interfacce di rete dei rispe3vi host:
§ Abilitare l'IP Forward su H2
§ Configurare la Tabella di Rou5ng di H1 (H3) per raggiungere l'host H3 (H1) tramite H2, con
una delle possibili metodologie di Rou>ng:
a. Rou5ng verso l'Host
b. Rou5ng verso la Subnet
c. Rou5ng tramite Default Gateway

Soluzione:
Rete Marionnet
1. Machine: H1, H2, H3
2. Machine > Modify > H2 > Ethernet cards = 2
3. Switch: S1, S2
4. Straight cable: d1 [H1 to S1], d2 [H2 to S1], d3 [H2 to S2], d4 [H3 to S2]
§ Then press the [Start all] bu:on.

Con>nuazione →

5
Routing
Rete con IP Forwarding (3 Host – 2 Switch)
Configurazione delle Interfacce di Rete
§ H1 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
$ ifup eth0
§ H2 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.254
netmask 255.255.255.0

auto eth1
iface eth1 inet static
address 192.168.2.254
netmask 255.255.255.0
$ ifup eth0 eth1
§ H3 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
$ ifup eth0

Abilitazione IP Forwarding
§ H2 Terminal
$ sysctl -w net.ipv4.ip_forward=1 ← Abilitazione dell'IP Forwarding temp.
net.ipv4.ip forward = 1

Configurazione delle Regole di Routing


a) Routing verso un Host
H1$ route add 192.168.2.1 gw 192.168.1.254
H3$ route add 192.168.1.1 gw 192.168.2.254
b) Routing verso una Subnet
H1$ route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.254
H3$ route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.254
c) Routing tramite Default Gateway
H1$ route add default gw 192.168.1.254
H3$ route add default gw 192.168.2.254

6
Routing
Rete con IP Forwarding (4 Host – 3 Switch)
Estendere la configurazione precedente rete per consen>re la comunicazione fra i nodi della
seguente rete:

Soluzione:
Rete Marionnet
1. Machine > Modify > H3 > Ethernet cards = 2
2. Machine: H4
3. Switch: S3
4. Straight cable: d4 [H3 (eth1) to S2], d5 [H3 (eth0) to S3], d6 [H4 to S3]
§ Then press the [Start all] bu:on.

Con>nuazione →

7
Routing
Rete con IP Forwarding (4 Host – 3 Switch)

Configurazione: Interfacce di Rete + Regole di Routing


§ H1 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
post-up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.254
post-up route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.1.254
$ ifup eth0
§ H2 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.254
netmask 255.255.255.0

auto eth1
iface eth1 inet static
address 192.168.2.254
netmask 255.255.255.0
post-up route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1
$ ifup eth0 eth1
§ H3 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.3.1
netmask 255.255.255.0

auto eth1
iface eth1 inet static
address 192.168.2.1
netmask 255.255.255.0
post-up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.254
$ ifup eth0 eth1
§ H4 Terminal
$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.3.2
netmask 255.255.255.0
post-up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.3.1
post-up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.3.1
$ ifup eth0
Con>nuazione →

8
Routing
Rete con IP Forwarding (4 Host – 3 Switch)
Abilitazione IP Forwarding
§ H2 Terminal
$ sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip forward = 1
§ H3 Terminal
$ sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip forward = 1

Potrebbero piacerti anche