Come cambiare l'indirizzo MAC della porta ethernet di Ubuntu

Vi sono situazioni nelle quali è indispensabile, per le motivazioni più varie, dover assegnare un indirizzo MAC diverso da quello predefinito nella scheda ethernet del proprio PC o magari di un server che stai installando.

Che cosa è l'indirizzo MAC ?

Lindirizzo MAC (Media Access Control) è quello che può essere definito come "Indirizzo Fisico della Porta Etherner". Non ha nulla a che fare con l'indirizzo IP della macchina (ricordate la pila OSI ? Quella a 7 livelli ? Beh, il MAC sta al livello 2 della pila !). Esso è "scritto" all'interno dell'elettronica che compone la porta ethernet di rete ed è un codice univoco che che viene assegnato ad ogni singolo dispositivo che si dovrà connettere ad una rete Internet; viene assegnato dal costruttore dell'hardware dl dispostitivo stesso, assegnando un numero univoco ad ogni singolo pezzo che viene prodotto. Per una descrizione dettagliata, c'è questa eloquente pagina di Wikipedia che ne descrive diligentemente i dettagli tecnici.

Come trovare il MAC Address

In un sistema Ubuntu, il dispositivo ethernet principale è tipicamente individuato come eth0. Per mostrare l'indirizo MAC di tutte le interfacce ethernet, il comando da utilizzare è ifconfig -a in quale mostra anche moltissime delle informazioni più rilevanti delle interfacce ethernet installate nel sistema.

L'esempio qui sotto, mostra il risultat del comando ifconfig -a 

momo@srvnodoy:~$ sudo ifconfig -a
[sudo] password for momo:
eth0      Link encap:Ethernet  HWaddr 52:54:00:d8:91:d9  
          inet addr:192.168.122.206  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fed8:91d9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6251 errors:0 dropped:12 overruns:0 frame:0
          TX packets:2393 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4904760 (4.9 MB)  TX bytes:203955 (203.9 KB)
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:322 errors:0 dropped:0 overruns:0 frame:0
          TX packets:322 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:27604 (27.6 KB)  TX bytes:27604 (27.6 KB)
momo@srvnodoy:~$

Tralasciando per il momento l'interfaccia lo, che non corrisponde di fatto ad una vera e propria interaccia fisica, puoi notare che l'interfaccia eth0 mostra numeroseinformioni. Nella fattispecie, l'indirizzo MAC dell'interfaccia eth0 è quello riportato come HWaddr ed in questo sistema l'attuale indirizzo MAC è 52:54:00:d8:91:d9

Come cambiare l'Indirizzzo MAC

Supponiamo che il nuovo indirizzo MAC che vogliao assegnare è: 52:54:00:77:88:99. Come già detto più sopra, l'indirizzo MAC è l'indirizzo fisico dell'hardware della scheda ethernet quindi in realtà esso non può essere fisicamente cambiato. Quello che andremo a fare è un cambiamento "software" dell'indirizzo MAC; per meglio dire: cambieremo l'indirizzo MAC in memoria. Niente paura. Vedremo come cambiare il MAC sia in modo volatile, sia in modo permanente, facendo si che il nuovo indirizzo MAC verrà sostituito ad ogni riavvio del sistema. Continua a leggere.

Cambiare l'indirizzo MAC in Memoria

Per alcuni scopi di test e verifica di alcune caratteristiche dei dispositivi che si trovano sulla nostra LAN, potrebbe essere necessario a volte, cambiare "al volo" il MAC Address, semza però che questo rimanga permanente, ovvero, che tutto venga ripristinato alle condizioni iniziali del sistema al prossimo reboot.

Prima di cambiare il l'indirizzo MAC "al volo" è bene sapere preventivamente se l'assegnazione dell'indirizzo IP è ottenuta automaticamente dalla rete (dal DHCP) oppure se l'indirizzo IP è assegnato staticamente.

Indirizzo MAC in memoria con Indirizzo IP Dinamico

In caso di assegnazione dell'indirizzo IP ottenuto automaticamente dal DHCP della LAN, il nuovo IP verrà assegnato automaticamente all'interfaccia ethernet, non appena questa tornerà attiva. Eseguire quindi i comandi:

momo@srvnodoy:~$ sudo ifconfig eth0 down
momo@srvnodoy:~$ sudo ifconfig eth0 hw ether 52:54:00:77:88:99 up

L'interfaccia sarà immediatamente disponibile e in un paio di secondi acquisirà il nuovo indirizo IP fornito dal server DHCP


Indirizzo MAC in memoria con Indirizzo IP Statico

In caso di indirizzo IP assegnato staticamente (ad esempio, vogliamo assegnare l'indirizzo IP: 192.168.122.123), esso deve essere specificato direttamente sulla linea di comando, insieme alla NetMask. Eseguire quindi i comandi:

momo@srvnodoy:~$ sudo ifconfig eth0 down
momo@srvnodoy:~$ sudo ifconfig eth0 hw ether 52:54:00:77:88:99 192.168.122.123 netmask 255.255.255.0 up

 

Cambiare l'indirizzo MAC in modo permanente

Per cambiare l'indirizzo MAC in modo permanente nel sistema, in modo che ad ogni riavvio venga assegnato il MAC che si desidera, è necessaria un po più di destrezza. Bisognerà infatti modificre il file di configurazione delle interface, nella fattispecie il file /etc/network/interfaces, che contiene le definizioni necessarie alla configurazione di tutte le interfacce di rete.

Anche in questo caso va fatta la medesima distinzione che abbiamo fatto precedentemente, nel caso di cambiamento "al volo" del Mac; ovvero. bisogna tenere conto se l'indirizzamento IP è statico o dinamico.

Indirizzo MAC Permanente con Indirizzo IP Dinamico

Nel caso in cui l'indirizzo IP dell'interfaccia eth0 sia dinamico (assegnato dal server DHCP), il tuo file /etc/network/interfaces conterrà press'appoco queste poche righe:

momo@srvnodoy:~$ sudo cat /etc/network/interfaces
auto lo
iface lo inet loopback


Aprire il file con il tuo editor di testo preferito (da linea di comando puoi utilizzare "nano" o  "vi") e modificare il file come mostrato qui di seguito

momo@srvnodoy:~$ sudo vi /etc/network/interfaces

... e modificare il contenuto del file come mostrato qui di seguito

auto lo
iface lo inet loopback
#
auto eth0
iface eth0 inet dhcp
    hwaddress ether 52:54:00:77:88:99

Salvare, chiudere il file e riavviare il sistema per verificare che sia tutto andato per il verso giusto.

Indirizzo MAC Permanente con Indirizzo IP Statico

Nel caso in cui l'indirizzo IP dell'interfaccia eth0 sia assegnato staticamente (nell'esempio, l'IP è 192.168.122.19), il tuo file /etc/network/interfaces avrà press'appoco questo aspetto:

momo@srvnodoy:~$ sudo cat /etc/network/interfaces
auto lo
iface lo inet loopback
#
auto eth0
iface eth0 inet static
address 192.168.122.19
netmask 255.255.255.0

Aprire il file con il tuo editor di testo preferito (da linea di comando puoi utilizzare "nano" o  "vi") e modificare il file come mostrato qui di seguito

momo@srvnodoy:~$ sudo vi /etc/network/interfaces

... e modificare il contenuto del file come mostrato qui di seguito

auto lo
iface lo inet loopback
#
auto eth0
iface eth0 inet static
  address 192.168.122.19
  netmask 255.255.255.0
hwaddress ether 52:54:00:77:88:99

Salvare, chiudere il file e riavviare il sistema per verificare che sia tutto funzioni correttamente.

 

Lascia un commento

Tutti i commenti dovranno essere verificati ed approvati dal webmaster, prima di essere pubblicati

 

Quote of the Day

Si può esser tutto ciò che si vuole, basta trasformarsi in tutto ciò che si pensa di essere

Freddie Mercury

Chi è online

Abbiamo 324 visitatori e nessun utente online

Newsletter

Per essere sempre aggiornato sulle ultime novità.

Go to top