IP forwarding in LINUX
Transcript
IP forwarding in LINUX
IP forwarding in LINUX Laboratorio di Reti Ing. Telematica - Università Kore Enna A.A. 2008/2009 Ing. A. Leonardi gateway 192.168.10.0 192.168.1.0 • Il kernel deve essere abilitato all’IP forwarding • verifica: – sysctl net.ipv4.ip_forward – cat /proc/sys/net/ipv4/ip_forward • abilitazione: – sysctl –w net.ipv4.ip_forward=1 – echo 1 > /proc/sys/net/ipv4/ip_forward • disabilitazione (come prima ma con 0 al posto di 1) Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Tabella di instradamento • Serve per sapere come inoltrare i pacchetti • Informazioni contenute: – indirizzo di destinazione (host o network) – netmask (verifica la corrispondenza con la destinazione) – gateway (indica il tipo di consegna da effettuare) • nel caso di consegna indiretta indica l’indirizzo del next-hop – interfaccia di rete (specifica quale interfaccia di rete utilizzare) – metrica (indica il costo del link) Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Table lookup • Per ogni pacchetto la ricerca nella tabella avviene tramite: – indirizzo IP di destinazione del pacchetto – indirizzo di destinazione e la netmask specificati in ciascuna riga • Operazioni da effettuare: – i controlli vengono effettuati controllando prima la riga che presenta una netmask con un numero maggiore di 1 • prima host, poi reti piccole, poi reti grandi – operazione AND (bit per bit) tra indirizzo IP di destinazione e la netmask in ciascuna riga – il risultato viene confrontato con la destinazione specificata nella stessa riga • se coincidono, la riga e’ quella giusta – una volta trovata la riga, il lookup si ferma e il pacchetto instradato – se nessuna riga corrisponde si usa il default gateway Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Esempio di lookup (1) Destinazione Netmask Etc. … … 1 0.0.0.0 0.0.0.0 … … … 2 192.168.10.0 255.255.255.0 … … … 3 192.168.10.5 255.255.255.255 … … … … … … 4 … … • pacchetto con destinazione 192.168.10.5 • confronto con riga 3, poi 2, poi 1 • operazione AND (bit a bit) – 192.168.10.5 AND 255.255.255.255 == 192.168.10.5 – la riga 3 e’ giusta • si ferma alla riga 3 host Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Esempio di lookup (2) Destinazione Netmask Etc. … … 1 0.0.0.0 0.0.0.0 … … … 2 192.168.10.0 255.255.255.0 … … … 3 192.168.10.5 255.255.255.255 … … … … … … 4 … … • pacchetto con destinazione 192.168.10.10 • confronto con riga 3, poi 2, poi 1 • operazione AND (bit a bit) – 192.168.10.10 AND 255.255.255.255 == 192.168.10.10 • la riga 3 non e’ quella giusta, passa alla 2 – 192.168.10.10 AND 255.255.255.0 == 192.168.10.0 • si ferma alla riga 2 network Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Esempio di lookup (3) Destinazione Netmask Etc. … … 1 0.0.0.0 0.0.0.0 … … … 2 192.168.10.0 255.255.255.0 … … … 3 192.168.10.5 255.255.255.255 … … … … … … 4 … … • pacchetto con destinazione 151.97.6.198 • confronto con riga 3, poi 2, poi 1 • operazione AND (bit a bit) – 151.97.6.198 AND 255.255.255.255 == 151.97.6.198 • la riga 3 non e’ quella giusta, passa alla 2 – 151.97.6.198 AND 255.255.255.0 == 151.97.6.0 • passa alla riga 1 – 151.97.6.198 AND 0.0.0.0 == 0.0.0.0 • la riga 1 e’ giusta default gateway Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Screenshot • consegna indiretta tramite il gateway 151.97.6.6 Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Modifica tabella di routing • aggiungere il default gateway – route add default gw <ip_del_gateway> • aggiungere una entry (se si omette gw si ha la consegna diretta) – route add –net <dest> netmask <mask> gw <gateway> dev <interface> – route add –host <dest> gw <gateway> dev <interface> • eliminare una entry – route del default – route del –net <dest> netmask <mask> – route del –host <dest> Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009 Esercizio • Creare due reti differenti – 192.168.10.0 – 192.168.1.0 • Raggiungere un host appartente alla rete 192.168.1.0 da un host appartenente alla rete 192.168.10.0 tramite un router linux modificando la tabella di routing • Verificare lo scambio di pacchetti (es. Ping) tramite il tool tcpdump Ing. A. Leonardi - Laboratorio di Reti A. A. 2008/2009
Documenti analoghi
IP forwarding - DEISNet Reti di Telecomunicazione
• abilitazione/disabilitazione:
sysctl –w net.ipv4.conf.eth0.send_redirects=[ 1 | 0 ]
echo [ 1 | 0 ] > /proc/sys/net/ipv4/conf/eth0/send_redirects
host1
Instradamento IP - Reti di Telecomunicazioni
destinazione del datagramma e la netmask di ciascuna riga
– il risultato viene confrontato con la destinazione specificata nella
riga stessa: se coincidono, la riga è quella giusta
– il controllo v...
Network Tools in Linux
Network Tools in Linux
Laboratorio di Reti
Ing. Telematica - Università Kore Enna
A.A. 2008/2009