macchanger автоматический сценарий не работает.
Я искал здесь, прежде чем я спросил и все, что я нашел, должен был выполнить macchanger в/etc/rc.local с этим простым сценарием:
ifconfig enp2s0 down
macchanger -r enp2s0
ifconfig enp2s0 up
(Я просто изменяю eth0, потому что мое имя устройства является enp2s0),
Очевидно это только устанавливает случайный MAC-адрес при запуске, но если я повторно подключаю свое сетевое устройство, это всегда получает мой реальный MAC-адрес, таким образом, это не то, что я искал.
Я пытался, по крайней мере, оставить постоянный имитировавший адрес, но опция имитации Mac в менеджере по стандартной сети человечности ничего не делает, она всегда отправляла мой действительный адрес.
Я не могу помнить точно, где, но я считал где-нибудь, что это мог быть отказ systemd, но я не действительно уверен, как обработать ту вещь или если действительно ее отказ.
Что правильный путь состоит в том, чтобы получить случайный MAC-адрес каждый раз, когда я подключаю свое сетевое устройство в Ubuntu? У меня заканчиваются идеи.
Работа от сообщения в блоге Gnome. Эти настройки для для Ubuntu 17.10
Во-первых, получите название проводного интернет-соединения
nmcli connection show
Во-вторых, установите интернет-соединение для генерации или "стабильного" или "случайного" адреса
nmcli connection modify "wired_connection_name" ethernet.cloned-mac-address random
Для использования WiFi wifi.cloned-mac-address
. На администраторе сети 1.2.6 необходимо будет установить MAC-адрес вместо random
.
Наконец, проверьте свой MAC-адрес, снизьте соединение и и проверьте Ваш MAC-адрес снова
ifconfig | grep Ether
nmcli connection down "wired_connection_name"
nmcli connection up "wired_connection_name"
ifconfig | grep Ether
программа nm-connection-manager
может также использоваться для доступа к этой установке, поднимая экран как один показанный ниже, где выпадающее поле для 'Клонированного MAC-адреса' может быть изменено на одну из нескольких настроек.
Мы можем достигнуть этой цели простым сценарием, который использует ifconfig
.
Создайте исполняемый файл сценария в каталоге /etc/network/if-up.d
, таким образом сценарий будет выполняться каждый раз когда команда ifup
выполняется, включая при системном запуске. Давайте назовем сценарий 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
nano
: Shift+Insert для вставки; Ctrl+O и Вводят, сохраняют; Ctrl+X для выхода.Содержание сценария mac-changer
должен быть:
#!/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
Примечания:
В большинстве случаев, если Вы хотите, Вы могли бы выполнить сценарий непосредственно sudo
и MAC-адрес будет изменен:
sudo /etc/network/if-up.d/mac-changer
Обратите внимание, что некоторые сетевые интерфейсы не поддерживают функцию изменения MAC.
Вот демонстрация этого, как сценарий работает:
Ссылки: