Home > Comandi Console, Connessioni, Internet, Linux, Sistema, Ubuntu > Assegnare più indirizzi IP ad una scheda di rete

Assegnare più indirizzi IP ad una scheda di rete

08 aprile 2008

Una possibilità molto comoda è quella di assegnare due o più indirizzi IP ad una singola scheda di rete, anche se appartenenti a due o più sottoreti differenti. Ciò renderà possibile accedere da una singola postazione a più reti contemporanee senza dover riconfigurare la rete per accedere una volta ad una e una volta all’altra. Vediamo quindi come creare degli Alias alle schede di rete a cui assegnare un IP differente.

E’ possibile eseguire l’operazione volta per volta nel terminale eseguendo il comando:

sudo ifconfig ethX:N xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx up

Indicando con ethX il nome dell’interfaccia da configurare, ad esempio eth0 e con N il numero dell’alias da creare e di seguito l’indirizzo IP e la subnet mask da assegnare. Due esempi potrebbe essere:

sudo ifconfig eth0:0 10.1.2.3 netmask 255.255.255.240 up
sudo ifconfig eth0:1 192.168.4.10 netmask 255.255.255.0 up

Il primo assegnerà all’interfaccia eth0 l’alias 0 con indirizzo 10.1.2.3, il secondo assegnerà l’alias 1 alla medesima interfaccia con IP 192.168.4.10. Ciò consentirà di accedere a risorse su altre due reti oltre quella indicata dall’interfaccia principale.

In questo modo sarà possibile aggiungere tutti gli alias desiderati ad un’interfaccia di rete però le modifiche saranno temporanee, dopo il riavvio saranno perdute.

Per mantenere le impostazioni anche tra un riavvio e l’altro è necessario modificare il file con le definizioni delle interfacce: /etc/network/interfaces aprendolo ad esempio così:

gksudo gedit /etc/network/interfaces

La sua struttura è discretamente semplice e mostrata nell’esempio seguente:

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

auto eth0:0
iface eth0:0 inet static
address 10.1.2.3
netmask 255.255.255.240

auto eth0:1
iface eth0:1 inet static
address 192.168.4.10
netmask 255.255.255.0

Il primo gruppo di 5 righe definisce l’interfaccia da avviare automaticamente (auto), il tipo di indirizzo (static), il suo indirizzo IP (192.168.1.12), la relativa subnet (255.255.255.0) e il gateway di uscita per l’accesso alle reti esterne (192.168.1.1).

Il secondo gruppo di 4 righe definisce il primo alias, in maniera similare a quanto visto in precedenza, verrà assegnato IP statico 10.1.2.3 con subnet 255.255.255.240 e l’interfaccia con l’alias verrà avviata automaticamente. L’ultimo gruppo definisce un secondo alias con IP 192.168.4.10 e subnet 255.255.255.0.

Salvato il file sarà possibile applicare subito le modifiche alla configurazione di rete eseguendo:

sudo /etc/init.d/networking restart

Come già precisato, questi valori verranno ripristinati anche dopo il riavvio, mantenendo così la continuità di configurazione della rete.

  1. Michele Renda
    08 aprile 2008 alle 10:44

    Grazie per il tutorial. Era da un po che mi chiedevo se fosse stato possibile, e finalmente mi son levato il dubbio.

    Grazie

  2. 08 aprile 2008 alle 11:14

    Molto interessante!
    Utilizzo il multihoming in xp, ma non avevo idea di come farlo con ubuntu.

  3. genna
    08 aprile 2008 alle 15:12

    Molto utile grazie

  4. 08 maggio 2008 alle 15:18

    interessante, grazie…

    però che strano, se provo a crearne un alias con indirizzo fisso va bene e ci posso anche fare delle bind sopra… tutto come se fosse un interfaccia di rete come le altre.. ma se prova ad attivarla senza ip non me lo permette…

    jack0e@jack0e-laptop:~$ sudo ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0 up

    jack0e@jack0e-laptop:~$ ifconfig -a
    eth0 Link encap:Ethernet HWaddr 00:18:F3:65:F9:91
    inet addr:10.196.136.110 Bcast:10.196.136.255 Mask:255.255.255.0
    inet6 addr: fe80::218:f3ff:fe65:f991/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:61561 errors:0 dropped:0 overruns:0 frame:0
    TX packets:7727 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:7738353 (7.3 MiB) TX bytes:800092 (781.3 KiB)
    Interrupt:18 Base address:0x8c00

    eth0:0 Link encap:Ethernet HWaddr 00:18:F3:65:F9:91
    inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    Interrupt:18 Base address:0x8c00

    [CUT]

    adesso la disattivo e provo ad attivarla senza ip…

    jack0e@jack0e-laptop:~/socket$ sudo ifconfig eth0:0 down
    jack0e@jack0e-laptop:~/socket$ sudo ifconfig eth0:0 up
    SIOCSIFFLAGS: Cannot assign requested address
    jack0e@jack0e-laptop:~/socket$

    ok allora penso, la attivo e poi mi faccio assegnare l’IP dal mio DHCP server.
    Il mio abbiettivo era avere 2 IP sulla stessa scheda e per la stessa LAN
    e poi inviare un pacchetto fuori.

    Volevo capire quali dei 2 ip avrebbe utilizzato per valorizzare sul pacchetto ip (mi riferisco al 2 livello della pila adesso). Quale dei due? ma non riesco a farlo… perchè perchè😐

    jack0e@jack0e-laptop:~/socket$ sudo ifconfig eth0:0 down
    jack0e@jack0e-laptop:~/socket$ sudo ifconfig eth0:0 up
    SIOCSIFFLAGS: Cannot assign requested address
    jack0e@jack0e-laptop:~/socket$ sudo ifconfig eth0:0 10.192.136.110 netmask 255.255.255.0 up
    jack0e@jack0e-laptop:~/socket$ sudo dhclient eth0:0
    There is already a pid file /var/run/dhclient.pid with pid 134993416
    Internet Systems Consortium DHCP Client V3.0.4
    Copyright 2004-2006 Internet Systems Consortium.
    All rights reserved.
    For info, please visit http://www.isc.org/sw/dhcp/

    SIOCSIFFLAGS: Cannot assign requested address
    SIOCSIFFLAGS: Cannot assign requested address
    Bind socket to interface: No such device
    jack0e@jack0e-laptop:~/socket$

    no dhcp no party

    ciao

  5. 08 maggio 2008 alle 20:47

    buffo esperimento il tuo😀
    comunque gli alias non sono interfacce separate, assegnate allo stesso dispositivo, e ciò puoi notarlo con un semplice paragone tra i dati e le statistiche delle interfacce, così come non puoi assegnare parametri differenti (mtu o metrica) alle due interfacce

    quanto al tuo desiderio di conoscere quale ip verrebbe utilizzato è molto semplice immaginarlo, basta osservare la tabella di routing (route -n), il primo ip che rientra nel range della rete di destinazione verrebbe utilizzato, quindi per forza di cose l’ultimo creato, ovvero l’alias.

    per eseguire l’esperimento pratico basterebbe avere due schede di rete reali. volendo per forza utilizzare l’interfaccia eth0 anzichè l’alias dovresti, in seguito alla creazione dell’interfaccia, ridefinire la tabella di routing sempre usando route

    ciaooo

  6. claudio
    20 ottobre 2008 alle 8:53

    ciao,
    ho qualche prob lema su ubuntu. il sistema mi dà un errore ” “connessione di rete cablata con un indirizzo auto-assegnato” mentre nelle impostazioni della scheda di rete, ho assegnato un indirizzo ip statico!
    risultato:
    non riesco più a raggiungere nessuna macchina nella sulla mia rete ne su altre!

    come posso fare!!!!????

  7. 24 ottobre 2008 alle 20:38

    non ho mai visto quell’errore ma potresti semplicemente configurare la rete manualmente da /etc/network/interfaces cosi`:

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

  8. Matteo
    03 febbraio 2009 alle 16:34

    Bel tutorial,
    per windowsxp ho trovato diversi programmi che permettono di cambiare l’indirizzo mac delle schede di rete.
    In questo esempio l’indirizzo mac resta sempre lo stesso o si genera anche un mac logico?
    é possibile avendo due schede di rete modificare il mac di una per fare in modo che siano uguali? Sotto winxp ho trovato programmi che lo fanno ma sotto linux niente, sigh!! Mi sto divertendo con i filtri proxy sui mac address

  9. 03 febbraio 2009 alle 16:38

    per linux c’è macchanger che cambia il mac della scheda di rete, tuttavia non l’ho mai provato con un’interfaccia alias tipo eth0:0, non ti garantisco che funzioni

  1. 12 agosto 2009 alle 13:42
I commenti sono chiusi.
%d blogger cliccano Mi Piace per questo: