GNU/Linux >> Tutoriels Linux >  >> Debian

Comment changer définitivement l'adresse MAC sous Linux

Dans cet article, vous apprendrez à modifier / gâcher de manière permanente les adresses MAC des interfaces réseau. Pour cela, nous utilisons Macchanger, un utilitaire de manipulation d'adresses MAC, pour lequel nous créons une unité systemd pour démarrer automatiquement au démarrage.

Macchanger, l'outil que nous allons utiliser pour changer l'adresse MAC dans cet article, a un service qui vous demande si vous voulez changer votre MAC à chaque démarrage de votre ordinateur, mais cela ne fonctionne pas pour moi sur Ubuntu 18.04. Étant donné que toute modification apportée par Macchanger sera réinitialisée lorsque vous redémarrez votre système, cet article fournit des instructions sur la façon de créer une unité systemd pour exécuter Macchanger automatiquement lorsque votre ordinateur Linux démarre, en changeant l'adresse MAC à chaque fois.

Pour utiliser ce guide, votre système Linux doit utiliser systemd , apparemment.

1. Installer Macchanger

Macchanger devrait se trouver dans les dépôts des principales distributions Linux. Pour l'installer dans Debian / Ubuntu / Linux Mint, utilisez :

sudo apt install macchanger

2. Déterminez l'interface réseau dont vous souhaitez modifier l'adresse MAC

Vous pouvez utiliser la commande suivante pour ce faire :

ifconfig -a

Si vous utilisez un système où cela a cessé de fonctionner, vous pouvez exécuter cette commande à la place :

ip link show


Vos interfaces réseau doivent maintenant s'afficher comme suit :

  • Au 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

  • Au 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

Voici l'interface réseau filaire enp10s0 et l'interface réseau sans fil est wlp3s0 (avant, eth0 , 1 etc. a été utilisé pour les interfaces filaires, et wlan0 , 1 etc. pour WLAN). Notez l'interface réseau pour laquelle vous souhaitez usurper l'adresse MAC.

3. Vérifiez si Macchanger fonctionne réellement sur votre système

Avant de créer l'unité systemd pour changer automatiquement l'adresse MAC à chaque redémarrage, vérifiez que Macchanger peut réellement changer votre adresse MAC (j'ai vu des cas où cela ne fonctionne pas pour une raison quelconque). Pour modifier temporairement votre adresse MAC (la modification sera réinitialisée après un redémarrage du système), exécutez Macchanger comme suit :

sudo macchanger -r NETWORK-INTERFACE

NETWORK-INTERFACE est l'interface réseau pour laquelle vous souhaitez modifier le MAC comme indiqué à l'étape 2 de cet article (par exemple, enp10s0, wlp3s0).

Si Macchanger fonctionne, c'est bien celui-ci -r L'option doit changer le MAC en une adresse MAC aléatoire et la commande doit renvoyer l'adresse MAC d'origine et la nouvelle.

4. Créez une unité systemd pour exécuter Macchanger automatiquement à chaque démarrage du système (cela signifie que l'adresse MAC change à chaque démarrage du système)

Nous créons le /etc/systemd/system/[email protected] fichier d'unité systemd et ouvrez-le en tant que root avec un éditeur de texte :

sudo touch /etc/systemd/system/[email protected]
gedit admin:///etc/systemd/system/[email protected]

Si Gedit n'est pas installé, remplacez-le dans la commande ci-dessus par un autre éditeur de texte installé sur votre système.

Collez ce qui suit dans le [email protected] Fichier :

[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

L'unité systemd est utilisée macchanger -r pour changer le MAC. -r définit une adresse MAC complètement aléatoire. Vous pouvez modifier -r à -e pour changer le MAC mais conserver les octets d'origine du fabricant de la carte réseau, -a pour mettre des MAC de fabricants aléatoires du même type, et ainsi de suite. Vous pouvez voir toutes les options disponibles en procédant comme suit :

macchanger --help

Vous pouvez également définir une adresse MAC personnalisée et non aléatoire. Pour cela, modifiez le ExecStart=/usr/bin/macchanger -r %I Ligne comme ceci :

ExecStart=/usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX %I

Remplacez XX:XX:XX:XX:XX:XX avec la nouvelle adresse MAC.

5. Activer le service systemd Macchanger

Il est maintenant temps d'activer le service systemd pour qu'il démarre au démarrage. Pour ce faire, utilisez :

sudo systemctl enable [email protected]enp10s0.service

Remplacez enp10s0 avec l'adresse réseau de l'étape 2.

Vous pouvez utiliser la même commande pour activer le changement d'adresse MAC pour plusieurs interfaces réseau.

6. Redémarrez le système

Votre ou vos interfaces réseau doivent maintenant avoir une nouvelle adresse MAC. Pour plus d'informations sur la vérification de l'ancienne (d'origine) et de la nouvelle adresse MAC, voir ci-dessous.

Comment vérifier les adresses MAC originales et nouvelles

Macchanger peut être utilisé pour trouver l'adresse MAC d'origine et la nouvelle adresse MAC en exécutant cette commande :

macchanger -s NETWORK-INTERFACE

NETWORK-INTERFACE  est l'interface réseau que vous avez trouvée à l'aide des commandes de l'étape 2.

Exemple :

$ macchanger -s enp10s0
Current MAC:   1d:21:da:ab:1d:71 (unknown)
Permanent MAC: 72:ab:3d:89:88:88 (Intel Corporate)

Comment désactiver la modification du MAC à chaque redémarrage à l'aide de systemd

Pour annuler les modifications, désactivez d'abord le ou les services de changeur MAC systemd :

sudo systemctl disable [email protected]enp10s0.service

Remplacez enp10s0 avec l'adresse réseau de l'étape 2 (d'après les instructions pour la configuration initiale). Effectuez cette opération pour chaque interface réseau pour laquelle vous avez précédemment activé le service.

Vous pouvez maintenant supprimer le fichier de service systemd du changeur MAC :

sudo rm /etc/systemd/system/[email protected]


Debian
  1. Comment changer l'adresse MAC sur CentOS 8

  2. Comment changer/usurper une adresse MAC dans Debian 10

  3. Comment changer le shell par défaut sous Linux

  4. Comment changer le shell par défaut sous Linux

  5. Comment changer la taille du MTU sous Linux

Comment changer l'adresse MAC du réseau sous Linux

Comment changer l'adresse MAC sous Linux

Comment changer l'adresse IP sous Linux

Comment changer automatiquement l'adresse Mac chaque fois que le périphérique réseau est en marche ou en panne ?

Comment trouver une adresse IP sous Linux

Comment changer le mot de passe root sous Linux