Iproute2

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca


Iproute2
Banner e-zine.png
La prima e-zine italiana sul mondo Debian

Quando i tools classici non bastano per configurazioni di rete complesse, viene in soccorso la suite iproute2: il futuro del networking.

Iproute2 è una suite di utility per la gestione avanzata delle configurazioni di rete e per il controllo del traffico TCP/IP in ambiente Linux.

Fa uso intensivo delle rtnetlink socket, moderna e potente interfaccia di configurazione dinamica dello stack di rete.
L'autore originale, Alexey Kuznetsov, è anche conosciuto per l'implementazione QoS nel kernel Linux.
Attualmente il mantainer del progetto è Stephen Hemminger.
Installata di default nelle maggiori distribuzioni, si trova a convivere con la suite net-tools i cui strumenti (ifconfig, route, etc.) sono ancora utilizzati negli scripts di inizializzazione delle interfacce, costituendone "standard de facto" sebbene risultino inadeguati nei moderni ambienti di rete.
In questo articolo si esploreranno le potenzialità di questa suite mettendola a confronto (quando possibile) con gli strumenti "classici" che tutti conosciamo.

Tratto dalla e-zine di Debianizzati.org

Link agli articoli:




pmate 09:22, 17 feb 2010 (CET)




Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Comandi

Informazioni

Visualizzare le informazioni di tutte le interfacce:

ip addr
ip address show

Visualizzare le informazioni di una specifica interfaccia, per esempio eth0:

ip address show dev eth0

Visualizzare le rotte della tabella di routing predefinita (cioè di quella principale):

ip route show
ip route show table main

Visualizzare tutte le regole correntemente in vigore:

ip rule show

Visualizzare tutte le regole correntemente in vigore della sola tabella predefinita:

ip rule show table main

Visualizzare la tabella ARP comprendente tutte le interfacce:

ip neighbor show

Gestione interfacce

Aggiungere un indirizzo all'interfaccia eth0:

# ip address add 192.0.2.10/24 dev eth0

Cancellare un indirizzo associato all'interfaccia eth0:

# ip address delete 192.0.2.10/24 dev eth0

Attivare l'interfaccia eth0:

# ip link set dev eth0 up

Disattivare l'interfaccia eth0:

# ip link set dev eth0 down

Svuotare la cache arp per tutte le interfacce:

ip neigh flush all

Instradamento

Aggiungere una rotta che passa per 129.0.2.1 (gateway):

# ip route add 192.0.2.128/25 via 192.0.2.1

Aggiungere una rotta che passa per ppp0:

# ip route add 192.0.2.0/25 dev ppp0

Impostare ppp0 come gateway predefinito:

# ip route add default dev ppp0

Regole

Usa la tabella di routing "tab1" (invece di quella principale, vedere anche la sezione Aggiungere tabelle di routing) quando un pacchetto arriva dall'IP <ode>101.13.15.179:

# ip rule add from 101.13.15.179 table chiaro

Usa la tabella di routing "tab1" (invece di quella principale) quando un pacchetto è diretto all'IP <ode>101.13.15.179:

# ip rule add to 101.13.15.179 table chiaro

Aggiungere tabelle di routing

È possibile aggiungere altre tabelle di routing oltre a quella principale. Per fare ciò è sufficiente editare il file /etc/iproute2/rt_tables ed aggiungere in coda i nomi delle tabelle aggiuntive, avendo cura di specificare anche il relativo ID. Per esempio per aggiungere una sola tabella di nome tab1 e ID=1 sarebbe sufficiente che il contenuto del predetto file si presentasse così:

#
# reserved values
#
255     local
254     main
253     default
0       unspec
#
# local
#
#1      inr.ruhep
1 tab1

Il vantaggio di avere più tabelle di routing è chiaramente quello di poter stabilire rotte diverse (e/o cambiare le priorità) per i pacchetti a seconda di alcuni criteri di confronto.


Approfondimenti

Manpages

  • man ip

Sitografia




Guida scritta da: Wtf 00:10, 22 gen 2019 (CET) Swirl-auth20.png Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized