Macchanger, la herramienta que usaremos para cambiar la dirección MAC en este artículo, tiene un servicio que le pregunta si desea cambiar su MAC cada vez que se inicia la computadora, pero esto no me funciona en Ubuntu 18.04. Dado que cualquier cambio realizado por Macchanger se restablecerá cuando reinicie su sistema, este artículo brinda instrucciones sobre cómo crear una unidad systemd para ejecutar Macchanger automáticamente cuando su computadora con Linux se inicia, cambiando la dirección MAC cada vez.
Para usar esta guía, su sistema Linux debe usar systemd , aparentemente.
1. Instalar Macchanger
Macchanger debería estar en los repositorios de las principales distribuciones de Linux. Para instalarlo en Debian/Ubuntu/Linux Mint use:
sudo apt install macchanger
2. Determine la interfaz de red para la que desea cambiar la dirección MAC
Puede usar el siguiente comando para hacer esto:
ifconfig -a
Si está utilizando un sistema en el que esto dejó de funcionar, puede ejecutar este comando en su lugar:
ip link show
Sus interfaces de red ahora deberían mostrarse de la siguiente manera:
- Al
ifocnfig -a
:
$ ifconfig -a
enp10s0: flags=4163 mtu 1500
inet 192.168.1.211 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe60::cc24:29cf:2c1:1c5a prefixlen 64 scopeid 0x20
ether 1d:21:da:ab:1d:71 txqueuelen 1000 (Ethernet)
RX packets 164861 bytes 215658240 (215.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 45118 bytes 8577639 (8.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 265 bytes 20133 (20.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 265 bytes 20133 (20.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlp3s0: flags=4098 mtu 1500
ether 1e:14:57:1c:66:11 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- Al
ip link show
:
$ ip link show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp10s0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 1d:21:da:ab:1d:71 brd ff:ff:ff:ff:ff:ff
3: wlp3s0: mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
link/ether 1e:14:57:1c:66:11 brd ff:ff:ff:ff:ff:ff
Aquí está la interfaz de red cableada enp10s0
y la interfaz de red inalámbrica es wlp3s0
(antes, eth0
, 1, etc. se usó para interfaces cableadas, y wlan0
, 1 etc. para WLAN). Tome nota de la interfaz de red para la que desea falsificar la dirección MAC.
3. Compruebe si Macchanger está realmente funcionando en su sistema
Antes de crear la unidad systemd para cambiar automáticamente la dirección MAC en cada reinicio, verifique que Macchanger realmente pueda cambiar su dirección MAC (he visto casos en los que esto no funciona por alguna razón). Para cambiar temporalmente su dirección MAC (el cambio se restablecerá después de reiniciar el sistema), ejecute Macchanger de la siguiente manera:
sudo macchanger -r NETWORK-INTERFACE
NETWORK-INTERFACE
es la interfaz de red para la que desea cambiar el MAC como se indica en el paso 2 de este artículo (por ejemplo, enp10s0, wlp3s0).
Si Macchanger funciona, aquí está -r
La opción debería cambiar la MAC a una dirección MAC aleatoria y el comando debería devolver las direcciones MAC originales y nuevas.
4. Cree una unidad systemd para ejecutar Macchanger automáticamente cada vez que se inicia el sistema (esto significa que la dirección MAC cambia cada vez que se inicia el sistema)
Creamos el /etc/systemd/system/[email protected]
systemd unit y ábralo como root con un editor de texto:
sudo touch /etc/systemd/system/[email protected]
gedit admin:///etc/systemd/system/[email protected]
Si no tiene Gedit instalado, reemplácelo en el comando anterior con otro editor de texto que esté instalado en su sistema.
Pegue lo siguiente en el [email protected]
Archivo:
[Unit]
Description=changes mac for %I
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
Type=oneshot
ExecStart=/usr/bin/macchanger -r %I
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Se utiliza la unidad systemd macchanger -r
para cambiar la MAC. -r
establece una dirección MAC completamente aleatoria. Puedes cambiar -r
a -e
para cambiar la MAC pero mantener los bytes originales del fabricante de la NIC, -a
para colocar MAC de fabricantes aleatorios del mismo tipo, y así sucesivamente. Puede ver todas las opciones disponibles haciendo lo siguiente:
macchanger --help
También puede establecer una dirección MAC personalizada y no aleatoria. Para hacer esto, cambie el ExecStart=/usr/bin/macchanger -r %I
Línea como esta:
ExecStart=/usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX %I
Sustituir XX:XX:XX:XX:XX:XX
con la nueva dirección MAC.
5. Activar el servicio systemd de Macchanger
Ahora es el momento de habilitar el servicio systemd para que se inicie en el momento del arranque. Para hacer esto, use:
sudo systemctl enable [email protected]enp10s0.service
Sustituir enp10s0
con la dirección de red del paso 2.
Puede usar el mismo comando para habilitar el cambio de dirección MAC para múltiples interfaces de red.
6. Reiniciar el sistema
Su(s) interfaz(es) de red ahora deberían tener una nueva dirección MAC. Para obtener información sobre cómo verificar la dirección MAC antigua (original) y la nueva, consulte a continuación.
Cómo verificar las direcciones MAC originales y nuevas
Macchanger se puede usar para averiguar la MAC original y la nueva dirección MAC ejecutando este comando:
macchanger -s NETWORK-INTERFACE
Donde NETWORK-INTERFACE
es la interfaz de red que encontró usando los comandos en el paso 2.
Ejemplo:
$ macchanger -s enp10s0
Current MAC: 1d:21:da:ab:1d:71 (unknown)
Permanent MAC: 72:ab:3d:89:88:88 (Intel Corporate)
Cómo deshabilitar el cambio de MAC en cada reinicio usando systemd
Para deshacer los cambios, primero desactive el(los) servicio(s) de cambiador de MAC de systemd:
sudo systemctl disable [email protected]enp10s0.service
Sustituir enp10s0
con la dirección de red del paso 2 (de las instrucciones para la configuración inicial). Haga esto para cada interfaz de red para la que haya activado previamente el servicio.
Ahora puede eliminar el archivo de servicio systemd del cambiador de MAC:
sudo rm /etc/systemd/system/[email protected]