Home > Comandi Console, Connessioni, Internet, Linux, Ubuntu > Definire le rotte di un’interfaccia

Definire le rotte di un’interfaccia

29 giugno 2008

Connettendosi a reti privati virtuali (VPN) diventa utile definire una rotta in modo da redirigere i pacchetti destinati ad un certo indirizzo verso l’interfaccia di rete corretta, ad esempio ppp0, anziché l’interfaccia predefinita. Lo abbiamo visto configurando la connessione ad un server PPTP.

Le rotte aggiunte manualmente sono provvisorie, saranno quindi rimosse non appena la connessione termina e dovranno essere aggiunte nuovamente alla riconnessione mentre utilizzando interfacce permanenti potranno essere aggiunte rotte permanenti che saranno mantenute anche dopo il riavvio dell’interfaccia.

La sintassi generale per aggiungere una rotta temporanea da terminale è la seguente:

route add [-net] <IP/CIDR> [netmask <Subnet>] dev <Interfaccia>

E’ possibile indicare un singolo IP oppure una subnet più ampia, utilizzando sia la notazione IP/CIDR  (Classless Inter-Domain Routing) sia la subnet mask, ad esempio:

route add 123.123.123.1 dev ppp0
route add -net 123.123.123.0/24 dev ppp0
route add -net 123.123.123.0 subnet 255.255.255.0 dev ppp0

La prima rotta definisce unicamente un host 123.123.123.1, il traffico sarà inviato attraverso l’interfaccia di rete ppp0. La seconda e la terza rotta indicano la stessa rete, tutto il traffico degli indirizzi tra 123.123.123.0 e 123.123.123.255 sarà inviato attraverso l’interfaccia ppp0. La prima delle due rotte utilizza la notazione IP/CIDR (il CIDR 24 indica l’accensione di 24 bits, ovvero 255.255.255.0), la seconda esplicita la subnet utilizzata.

In maniera similare è possibile cancellare una rotta utilizzando la sintassi:

route del [-net] <IP/CIDR> [netmask <Subnet>]  dev <Interfaccia>

L’unica differenza è il del anziché add. Naturalmente ciò vale per tutte le interfacce, non solo quelle ppp.


Utilizzando interfacce statiche, quali ad esempio quelle ethernet, è possibile definire delle rotte permanenti, che saranno mantenute anche dopo il riavvio dell’interfaccia. Ciò sarà possibile modificando il file /etc/network/interfaces premendo ALT+F2 e scrivendo:

gksudo gedit /etc/network/interfaces

Al suo interno troveremo le definizione delle interfacce di rete, generalmente simili a queste:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.1.3
  netmask 255.255.255.0
  gateway 192.168.1.1

auth eth1
iface eth1 inet dhcp

In questo esempio il sistema dispone dell’interfaccia locale lo, di un’interfaccia ethernet eth0 con IP statico e un’interfaccia ethernet secondaria eth1 con indirizzo IP assegnato tramite dhcp. Il tipo di interfaccia non ha importanza nè il metodo utilizzato (loopback, dhcp, static o ppp), è possibile aggiungere una rotta permanente includendo subito sotto la definizione dell’interfaccia il comando route come nell’esempio seguente:

auto lo
iface lo inet loopback

auto eth0
iface eth1 inet static
  address 192.168.1.3
  netmask 255.255.255.0
  gateway 192.168.1.1

auto eth1
iface eth1 inet dhcp
  up route add -net 123.123.123.0 subnet 255.255.255.0 dev $IFACE

Le uniche differenze rispetto il comando manuale sono il prefisso up che indicherà appunto di eseguire il comando successivo all’avvio dell’interfaccia e la definizione $IFACE che si riferisce al nome dell’interfaccia che stiamo definendo, nell’esempio eth1, servirà unicamente per non ripetere il nome dell’interfaccia. La rotta 123.123.123.0/24 sarà automaticamente aggiunta sin dall’avvio dell’interfaccia eth1 e farà si che i dati per quella subnet verranno inviati attraverso l’interfaccia eth1.


Per completezza è importante sapere che utilizzando una connessione ppp permanente, ovvero attiva automaticamente all’avvio del sistema, è possibile definire delle rotte permanenti:

auto ppp0
iface ppp0 inet ppp
  provider VPNAzienda
  up sleep 5; route add -net 123.123.123.0 subnet 255.255.255.0 dev $IFACE

All’avvio del sistema verrà attivata automaticamente la connessione ppp VPNAzienda, che dovrà essere già definita come trattato in precedenza e all’avvio dell’interfaccia ppp0 sarà eseguita una pausa di 5 secondi per dare il tempo a pppd di compiere la connessione e quindi verrà aggiunta la rotta permanente verso la subnet indicata.

%d blogger cliccano Mi Piace per questo: