Así puedes cambiar la dirección MAC de tu tarjeta de red en Linux

Así puedes cambiar la dirección MAC de tu tarjeta de red en Linux

Sergio De Luz

Todas las tarjetas de red, independientemente de si son Ethernet (cableadas) o WiFi (inalámbricas) tiene un identificador de 48 bits a nivel de capa de enlace, la dirección MAC. La dirección MAC es un conjunto de números hexadecimales (6 bloques de dos caracteres hexadecimales) separados por dos puntos generalmente. Esta dirección MAC es fundamental para el buen funcionamiento de la red local, ya que la MAC es usada por el protocolo ARP para encontrar a los diferentes equipos en la red, y también se utiliza en redes IPv6 para configurar el SLAAC haciendo uso de EUI-64. Hoy en RedesZone os vamos a explicar cómo cambiar la dirección MAC en tu tarjeta de red en sistemas Linux, ideal para hacerlo en servidores.

La dirección MAC está grabada en la tarjeta de red (NIC), ya sea Ethernet o WiFi. En principio, esta MAC no se puede modificar porque es un identificador único del dispositivo en cuestión, no puede haber dos direcciones MAC en el mismo segmento de la red, porque eso conllevaría muchos problemas. Las direcciones MAC de un determinado dispositivo (tarjeta de red, router, switch, punto de acceso, cámara IP con WiFi ) son únicas a nivel mundial, puesto que son escritas directamente, en forma binaria, en el hardware en su momento de fabricación. Además, en la dirección MAC de 48 bits, los 24 primeros bits identifican al fabricante del dispositivo, y los últimos 24 bits identifican al dispositivo en cuestión.

La dirección MAC de una tarjeta no puede ser modificada fácilmente de manera permanente, sin embargo, en los sistemas operativos modernos sí que se puede modificar a nivel de software. Los usuarios de sistemas operativos basados en Linux, por ejemplo, Debian, podemos cambiar la dirección MAC de nuestra tarjeta de red fácilmente desde un terminal utilizando diferentes métodos. A continuación, os vamos a enseñar cómo cambiar la dirección MAC de nuestro servidor Linux con los principales métodos.

Cambiar dirección MAC en servidores Linux con ip link

La suite iproute2 es la que actualmente se utiliza para gestionar toda la red de un servidor o sistema operativo Linux, podremos cambiar la dirección IP, enrutamiento, crear nuevas tablas de enrutamiento secundarias, y también podremos cambiar la dirección MAC de una determinada tarjeta de red de manera muy fácil y rápida.

Lo único que tendremos que hacer, es mostrar la MAC actual con el siguiente comando:

ip link show interfaz

En nuestro caso, la interfaz es «ens33». A continuación, tenemos que deshabilitar la tarjeta de red, si no la deshabilitamos no funcionará el cambio de MAC porque está en uso.

ip link set dev interfaz down

Cambiamos la dirección MAC con la siguiente orden:

ip link set dev interfaz address XX:XX:XX:XX:XX:XX

Y levantamos la tarjeta de red Ethernet:

ip link set dev interfaz up

En la siguiente captura de pantalla podéis ver todo el proceso:

Esta es la forma más fácil y rápida de cambiar la dirección MAC, sin necesidad de instalar absolutamente nada.

Cambiar dirección MAC con ifconfig

El comando ifconfig ha sido utilizado durante muchos años para gestionar la red en sistemas operativos Linux, pero hoy en día ya no se utiliza, en el caso de que aún lo sigas utilizando, también os vamos a ayudar a cambiar la dirección MAC con esta suite de comandos.

Lo primero que debemos hacer es consultar la MAC actual de nuestra tarjeta de red. Para ello abriremos un terminal o un TTY en nuestro sistema y teclearemos:

ifconfig

Una vez conocemos la dirección MAC actual de nuestra tarjeta debemos realizar las siguientes configuraciones:

Deshabilitar la tarjeta de red a la que vamos a cambiar la dirección MAC:

ifconfig eth0 down

Cambiamos la MAC de dicha tarjeta por la que queramos (cambiando 00:00:00:00:00:00 por la MAC en cuestión que queramos establecer).

ifconfig eth0 hw ether 00:00:00:00:00:00

Volvemos a levantar de nuevo la tarjeta de red:

ifconfig eth0 up

Tal y como habéis visto, cambiar la dirección MAC es realmente fácil y rápido con ifconfig, el mismo número de comandos que con ip link. Debemos recordar que ifconfig ya no se encuentra instalado en las últimas versiones de Debian y otras distribuciones, en favor de iproute2.

macchanger: automatiza el cambio de dirección MAC

El programa macchanger está diseñado para automatizar el cambio de dirección MAC, e incluso nos permite generar una dirección MAC completamente aleatoria. Este programa no viene instalado de forma predeterminada, tenemos que instalarlo nosotros mismos a través del repositorio:

sudo apt install macchanger

Al instalarlo, nos preguntará si queremos que se ejecute automáticamente al activar un dispositivo de red, para tener una nueva dirección MAC cada vez que se conecte un cable de red o se active la red WiFi, ideal para tener siempre una MAC diferente.

Para cambiar la dirección MAC de forma completamente aleatoria en una determinada interfaz, debemos hacer lo siguiente:

macchanger -r interfaz

El propio programa nos informará de la dirección MAC actual, la MAC permanente (la que viene grabada en la tarjeta) y la nueva dirección MAC:

Si comprobamos la MAC con ip link show, veremos:

También tenemos la posibilidad de que la MAC sea aleatoria, pero conservando los 24 primeros bits (fabricante):

macchanger -e interfaz

Por supuesto, podremos poner la dirección MAC que nosotros queramos de la siguiente forma:

macchanger --mac=XX:XX:XX:XX:XX:XX interfaz

Por último, podemos poner la MAC original de la tarjeta:

macchanger -p interfaz

Si ejecutamos «–help» podremos ver la ayuda que nos proporciona este programa:

Esperamos que con estas tres formas que os hemos enseñado, podáis cambiar la dirección MAC de vuestra tarjeta Ethernet o WiFi de manera fácil y rápida.