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. Si queremos automatizar el cambio de dirección MAC con el inicio del sistema operativo, podríamos hacerlo perfectamente con un script para poner una dirección MAC aleatoria, de esta forma, cada vez que iniciemos nuestro sistema operativo tendremos una nueva dirección MAC. Hoy en día en los smartphones con Android y iOS, tenemos la posibilidad de que cada vez que nos conectamos a una red WiFi, la dirección MAC cambie para proteger nuestra privacidad, además, tenemos la posibilidad de utilizar esta funcionalidad en ciertas redes o no, por lo que en casa podríamos usar la misma MAC y luego en otras redes WiFi usaremos otras.

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, por lo que seguramente no puedas utilizar estos comandos al no estar ya instalado el programa de ifconfig que está completamente deprecated.

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. Este comportamiento es exactamente el mismo que el de los smartphones con Android y iOS, gracias a esta función podremos tener algo más de privacidad ya que no nos podrán «seguir» en base a nuestra dirección MAC, tal y como ocurre en algunos centros comerciales donde se puede geoposicionar a las personas en base a la MAC de su smartphone y a qué AP están conectados, si en cada conexión usamos una MAC diferente, no podrán seguir nuestro «rastro».

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 en vuestro servidor Linux. Las dos mejores formas es usando ip link y el programa macchanger, porque ahora mismo el popular programa ifconfig ya está «deprecated» y no se recomienda su utilización en favor del popular iproute2 que ya se encuentra de forma predeterminada en todas las distribuciones de Linux.

¿Se pueden falsificar las direcciones MAC?

La respuesta, es que sí, se puede falsificar una dirección MAC. Estos identificadores únicos asignados a los componentes por los fabricantes, pueden no ser realmente los que el fabricante ha asignado. A pesar de que están diseñadas para ser únicas y permanentes, la mayoría de los sistemas operativos y controladores permiten establecer cambios en las mismas. Y los motivos pueden ser muy variados.

  • Privacidad: Una de las opciones es para evitar ser rastreado, sobre todo en redes públicas. Al realizar cambios regulares de las direcciones MAC, es más complicado que las entidades puedan monitorizar la actividad de un dispositivo en particular a lo largo del tiempo.
  • Acceso a redes restringidas: En algunas ocasiones el acceso a dispositivos específicos, puede estar limitado por una dirección MAC. Falsificando la misma, un atacante podría llegar a acceder a la red si es conocedor de la posible situación.
  • Pruebas y desarrollo: Los desarrolladores y administradores de red, podrían llegar a necesitar falsificar alguna dirección MAC para realizar pruebas en los sistemas y las redes de las que se encargan. Estas pueden ser muy variadas.
  • Operaciones maliciosas: Obviamente una de las opciones para falsificar una MAC, es llevar a cabo operaciones maliciosas. Los atacantes podrían realizar cambios de direcciones MAC para realizar diferentes tipos de ataques, como pueden ser los Man-in-the-Middle. O simplemente, para realizar una suplantación de identidad.

Es importante tener en cuenta, que a pesar de que se pueden falsificar las direcciones MAC, estas no van a proporcionar una privacidad y seguridad total. Por otro lado, los administradores de las redes y los fabricantes de los componentes, están cada vez más concienciados de que esto es una técnica bastante habitual. Por lo cual algunas redes, ya cuentan con mecanismos para detectar si una dirección MAC ha sido falsificada.

¡Sé el primero en comentar!