La dirección MAC es un número de 48 bits único que llevan las tarjetas de red grabadas y que las identifica. Los primeros 24 bits hacen referencia al fabricante y los otros 24 restantes se establece según el IEEE.

Este dirección se puede cambiar temporalmente mientras el ordenador permanezca encendido. También se puede crear un script que cambie la dirección MAC original de la tarjeta al iniciar el sistema operativo.

Hay varias razones para querer cambiar la MAC como por ejemplo tratar de mantener la privacidad en caso de conectarse a la wifi de un bar o incluso para conectarse a un dispositivo que solo permita la conexión a una MAC concreta.

Hay tres formas de cambiar la dirección MAC en linux, usando ifconfig, iproute2 o macchanger.

Antes de cambiar la dirección debemos tener en cuenta que si cambias la MAC por una de un equipo que ya se encuentre en la red local nos quedaremos sin conexión.

Para cambiar la MAC se sigue el mismo proceso en los tres métodos. Primero se apaga la interfaz de red, después se cambia la mac y por último se enciende la interfaz.

Usando ifconfig

Abrimos un terminal y con permisos de administrador ejecutamos:

[root@equipo ~]# ifconfig eth0 down
[root@equipo ~]# ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX
[root@equipo ~]# ifconfig eth0 up

Debemos sustituir XX:XX:XX:XX:XX:XX por la MAC que queremos.

Usando iproute2

[root@equipo ~]# ip link set dev eth0 down
[root@equipo ~]# ip link set dev eth0 address XX:XX:XX:XX:XX:XX
[root@equipo ~]# ip link set dev eth0 up

Sustituimos XX:XX:XX:XX:XX:XX por la MAC que queremos.

Usando macchanger

Macchanger es un programa específico para cambiar las direcciones MAC. Se puede cambiar por una mac que nosotros queramos o por una dirección MAC aleatoria.

Para una mac que nosotros indiquemos.

[root@equipo ~]# macchanger -m XX:XX:XX:XX:XX:XX eth0

Para una MAC aleatoria.

[root@equipo ~]# macchanger -r eth0

Restaurar la MAC original de la tarjeta.

[root@equipo ~]# macchanger -p eth0