web-dev-qa-db-fra.com

Comment puis-je changer automatiquement mon adresse Mac lorsque mon périphérique réseau est allumé ou éteint?

le script automatique de macchanger ne fonctionne pas.

J'ai cherché ici avant de demander et tout ce que j'ai trouvé était de lancer macchanger dans /etc/rc.local avec ce script simple:

ifconfig enp2s0 down
macchanger -r enp2s0
ifconfig enp2s0 up

(Je viens de modifier eth0 parce que mon nom de périphérique est enp2s0)

Clairement, il ne configure qu’une adresse MAC aléatoire au démarrage, mais si je reconnecte mon périphérique réseau, il obtient toujours ma véritable adresse Mac, ce qui n’est pas ce que je cherchais.

J'ai essayé de laisser au moins une adresse usurpée permanente mais l'option mac usurpation du gestionnaire de réseau par défaut d'ubuntu ne fait rien , elle a toujours envoyé mon adresse réelle.

Je ne me souviens pas exactement où mais j’ai lu quelque part que c’était peut-être la faute de systemd mais je ne sais pas trop comment gérer cette affaire ou si c’est vraiment sa faute.

Quelle est la bonne façon d'obtenir une adresse MAC aléatoire chaque fois que je connecte mon périphérique réseau dans Ubuntu? Je manque d'idées.

2
Hola

Travailler depuis le article de blog Gnome . Ces paramètres pour Ubuntu 17.10

Via CLI

D'abord, obtenez le nom de la connexion Internet filaire

nmcli connection show

Deuxièmement, configurez la connexion enternet pour générer une adresse "stable" ou "aléatoire"

nmcli connection modify "wired_connection_name" ethernet.cloned-mac-address random

Pour le WiFi, utilisez wifi.cloned-mac-address. Sur le gestionnaire de réseau 1.2.6, vous aurez vous devez définir une adresse MAC au lieu de random.

Enfin, vérifiez votre adresse Mac, établissez une connexion de haut en bas, puis vérifiez à nouveau votre adresse Mac.

ifconfig | grep Ether
nmcli connection down "wired_connection_name"
nmcli connection up "wired_connection_name"
ifconfig | grep Ether

Via GUI

le programme nm-connection-manager peut également être utilisé pour accéder à ce paramètre. Vous obtiendrez alors un écran similaire à celui présenté ci-dessous, dans lequel la liste déroulante "Adresse MAC clonée" peut être modifiée en un ou plusieurs paramètres.

enter image description here

3
Charles Green

Nous pouvons atteindre cet objectif avec un simple script utilisant ifconfig.

Créez un fichier de script exécutable dans le répertoire _/etc/network/if-up.d_. Ainsi, le script sera exécuté chaque fois que la commande ifup sera exécutée, notamment au démarrage du système. Appelons le script mac-changer:

_Sudo touch /etc/network/if-up.d/mac-changer
Sudo chmod +x /etc/network/if-up.d/mac-changer
Sudo nano /etc/network/if-up.d/mac-changer
_
  • Copiez le contenu du script ci-dessous et utilisez-le dans nanoShift+Insert pour la pâte; Ctrl+O et Enter pour sauver; Ctrl+X pour la sortie.

Le contenu du script _mac-changer_ devrait être:

_#!/bin/bash

change_mac(){
        # Prevent enless loop on error
        if (( COUNT >= 10 )); then exit 0; else COUNT=$(( COUNT + 1 )); echo "Attempt: $COUNT"; fi
        # Generate a new MAC address
        MAC="$(echo $RANDOM | md5sum | head -c 17 | sed -r 's/(..)./\1:/g')"
        # Change the MAC address of the target network interface
        /sbin/ifconfig "$1" hw ether "${MAC}"
        # Chech whether the MAC is successfully changed anf if is not call the function again
        if [ $? -ne 0 ]; then change_mac; fi
        # Log the change
        echo "Interface: $1 | MAC: $MAC"
}

# Call of the function; Change 'enp0s25' with the actual interface in use; Create a log file `/tmp/mac-changer-...`
change_mac 'enp0s25' > /tmp/mac-changer-enp0s25 2>&1
_

Remarques:

  • Dans la plupart des cas, si vous le souhaitez, vous pouvez exécuter le script directement avec Sudo et l'adresse MAC sera modifiée:

    _Sudo /etc/network/if-up.d/mac-changer
    _
  • Veuillez noter que certaines interfaces réseau ne prennent pas en charge la fonctionnalité de modification MAC.

Voici la démonstration de cela, comment fonctionne le script:

enter image description here

Références:

0
pa4080