
ВОПРОС:
Как я могу изменить MAC-адрес конкретноenp3s0иwlp2s0интерфейсы через/etc/сеть/интерфейсыфайл? Какой код мне нужно включить внутрь? Я пытаюсь уже некоторое время, но безуспешно, как ни печально.
РАЗРАБОТКА:
Итак, я нашел в Интернете замечательную статью, объясняющую, как изменить MAC-адрес навсегда с помощью/etc/сеть/интерфейсыфайл на моем Ubuntu.
В статье говорится:
В Debian, Ubuntu и подобных системах поместите следующее в соответствующий раздел /etc/network/interfaces (в строфу iface, например, сразу после строки шлюза), чтобы MAC-адрес устанавливался при запуске сетевого устройства:
hwaddress эфир 02:01:02:03:04:08
Источник:https://en.wikibooks.org/wiki/Изменение_вашего_MAC_адреса/Linux
Теперь, когда я использую следующий код:
cat /etc/network/interfaces
Я получаю следующий вывод
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
А когда я выполняю ifconfig на моем Ubuntu, я получаю 3 разных интерфейса:
enp3s0
вот
wlp2s0
Я хотел бы изменить MAC-адреса всех моих интерфейсов (enp3s0, wlp2s0) (lo — это петля, поэтому в этом нет необходимости), но я не знаком с командами в/etc/сеть/интерфейсыфайл. Я просматривал руководства в Интернете, но, похоже, у меня ничего не получается, и мой компьютер даже несколько раз после этого начинал вести себя очень странно.
решение1
Используйте hwaddress ether
внутри вашего блока конфигурации интерфейса. Пример:
auto enp3s0
iface enp3s0 inet static
address 192.0.2.7
netmask 255.255.255.0
gateway 192.0.2.254
hwaddress ether 00:11:22:33:44:55
или, если dhcp:
allow-hotplug enp3s0
iface enp3s0 inet dhcp
hwaddress ether 00:11:22:33:44:55
Деталь, которую я упустил: hwaddress
элемент конфигурации должен находиться после строфы шлюза, если вы устанавливаете статический IP-адрес.
Похожие материалы: Хорошее подробное объяснение синтаксиса /etc/network/interfaces?
Однако, если у вас возникли проблемы при смене Mac, network/interfaces
вы можете сделать это черезudev
метод udev -Создайте файл etc/udev/rules.d/75-mac-spoof.rules
со следующим содержимым:
ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="XX:XX:XX:XX:XX:XX", RUN+="/usr/bin/ip link set dev %k address YY:YY:YY:YY:YY:YY"
Вы также можете сделать это с помощью модулей systemd, как описано здесь:Изменение mac с помощью модулей systemd. Но в конце концов, они также являются лишь оболочками для выполнения ip link set
и macchanger
.
решение2
Чтобы навсегда изменить свой MAC-адрес, добавьте следующую строку в свой файл /etc/network/interfaces
:
pre-up ifconfig <interface> hw ether xx:xx:xx:yy:yy:yy
NetworkManager сбросит ваш MAC-адрес во время сканирования Wi-Fi. Чтобы отключить это, вы можете изменить свой /etc/NetworkManager/NetworkManager.conf
следующим образом:
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=false
[device]
wifi.scan-rand-mac-address=no
[keyfile]
Затем перезагрузите компьютер.
На сайте есть полезная информация о рандомизации MAC-адресов во время сканирования Wi-Fi.АрхВики:
Настройка рандомизации MAC-адресов
Начиная с версии 1.4.0, NetworkManager поддерживает два типа рандомизации MAC-адресов: рандомизация во время сканирования и стабильная рандомизация. Оба режима можно настроить, изменив
/etc/NetworkManager/NetworkManager.conf
Рандомизация во время сканирования Wi-Fi включена по умолчанию, начиная с версии 1.2.0, и ее можно отключить, добавив следующие строки
/etc/NetworkManager/NetworkManager.conf
:
[device] wifi.scan-rand-mac-address=no
решение3
MAC-адрес зарегистрирован в его устройстве Wi-Fi, и обычно он не может быть изменен на другой MAC-адрес.
Поэтому, если вы меняете MAC-адрес, вам неизбежно придется использовать другое устройство Wi-Fi.
Как вы упомянули в комментарии, что повторное появление того же MAC-адреса после
перезагрузки, ОС просто считывает MAC-адрес с устройства Wi-Fi.
Это нормальное поведение.
Кстати, в виртуальной среде вы можете свободно настраивать MAC-адрес.