Macchanger работает до подключения к сети в Debian 10

Macchanger работает до подключения к сети в Debian 10

Я пытался проверить свои возможности подмены MAC-адресов в домашней сети с помощью Macchanger. Когда нет подключения к WiFi, все работает отлично. Я могу отключить интерфейс с помощью ifconfig, изменить mac, а затем снова включить его без проблем. Проверка с помощью ifconfig показывает случайный эфир — так что я знаю, что все в порядке.

Однако, когда я пытаюсь подключиться к своему WiFi, он показывает оригинальный BIA, когда я запускаю ifconfig. Вход в мой маршрутизатор показывает, что мой BIA также является зарегистрированным MAC-адресом, а не случайным.

Тогда мой вопрос таков: какая настройка по умолчанию заставляет Debian возвращаться к BIA моего интерфейса Wi-Fi вместо адреса, который я подделал?

Я уже пробовал следовать нескольким разным руководствам, в которых говорилось, что нужно попробовать изменить файл NetworkManager.conf и 00-default.link, но ни одно из них не сработало. Любая помощь будет оценена по достоинству. Спасибо!

решение1

NetworkManager получил возможность изменять MAC-адреса Ethernet интерфейсов, которые он обрабатывает, и делает это по умолчанию на беспроводных интерфейсах. Это переопределит любой другой инструмент, который ранее изменил MAC-адрес интерфейса.

Настройки подключения для Ethernet имеют префикс 802-3-ethernet., для беспроводного — 802-11-wireless.. Я покажу пример с Ethernet, а затем расскажу о различиях с беспроводным подключением.

Ethernet

Основная настройка этого для каждого соединения называется 802-3-ethernet.cloned-mac-address. Обратите внимание, что это cloned-mac-addressто, что отображаетсянмклипо причинам совместимости. Фактическое свойствовнутренне названныйassigned-mac-address. Есть еще несколько связанных:

$ nmcli connection show id Myeth0 |grep mac # permanent MAC was redacted
802-3-ethernet.mac-address:             06:05:04:03:03:01
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
802-3-ethernet.mac-address-blacklist:   --

mac-addressесли установлено (обычно так), соединение применяется только к сетевой карте с этимпостоянныйMAC-адрес (который также может быть получен с помощью ethtool --show-permaddr eth0), mac-address-blacklistявляется противоположным: чтобы избежать применения общего соединения к заданному интерфейсу с этим MAC-адресом (очевидно, что должен быть установлен только один из них). Они не используются для настроек подмены MAC-адресов.

Итак, есть несколько вариантов:

  • не использую NetworkManager

    а например напрямую wpa_supplicantи DHCP клиент.

  • прошу NetworkManager больше не вмешиваться

    Вы можете попросить NetworkManager вообще не трогать MAC-адрес:

    # nmcli connection down id Myeth0
    # nmcli connection modify id Myeth0 802-3-ethernet.cloned-mac-address preserve
    # ip link set eth0 down #very old NICs don't support changing MAC when up
    # ip link set eth0 address 0A:09:08:07:06:05
    # nmcli connection up id Myeth0
    

    Новый установленный MAC-адрес будет сохранен в том значении, которое он имеет в данный момент.

  • или просто позволить NetworkManager выполнить эту работу и не использовать другой инструмент до этого:

    $ nmcli connection modify id Myeth0 802-3-ethernet.cloned-mac-address 0e:0d:0c:0b:0a:09
    $ nmcli connection down id Myeth0
    $ nmcli connection up id Myeth0
    

    Теперь NM позаботится об изменении MAC-адреса на указанный.

Чтобы вернуться к постоянному значению, можно установить 802-3-ethernet.cloned-mac-addressзначение permanent(или оставить его пустым, так как это значение по умолчанию для Ethernet).

Есть и другие режимы, такие какслучайныйилистабильныйгде generate-mac-address-maskтакже может использоваться (например, для генерации случайного MAC-адреса, но при этом всегда выглядящего как от одного и того же реального производителя)

Беспроводной

  • По умолчанию, когда 802-11-wireless.cloned-mac-addressпусто,случайныйиспользуется.

  • Есть 802-11-wireless.mac-address-randomizationwhich, который может быть устаревшим, который может повлиять на предыдущую настройку. Не очень понятно в документации, но на самом деле не нужно

Большинство этих настроек также представлены в апплете GUI. Поле «Клонированный MAC-адрес» там не ограничивается раскрывающимся меню: вы можете ввести MAC-адрес в поле вместо предопределенных значений (Preserve, Permanent, Random, Stable).

Есть дополнительная настройка Wi-Fi, которую я не знаю, как изменить, кроме как отредактировав файлы конфигурации NetworkManager: wifi.scan-rand-mac-addressустановите значениедапо умолчанию он сообщает NetworkManager о необходимости изменить MAC-адрес интерфейса Wi-Fiпри сканировании. Этот параметр является глобальным или для каждого устройства, но не для каждогосвязь, так как пока нет активированного соединения. Чтобы изменить его нанетвместодаВы можете добавить файл, /etc/NetworkManager/conf.d/devicewlan0.confвыглядящий примерно так:

[device]
match-device=interface-name:wlan0
wifi.scan-rand-mac-address:no

но документация не очень многословна об этом. В любом случае эта настройка может понадобиться, возможно, только если был выбран 2-й вариант выше ( preserve), а не 3-й (установка MAC-адреса).

Рекомендации:

https://developer.gnome.org/NetworkManager/stable/settings-802-3-ethernet.html

https://developer.gnome.org/NetworkManager/stable/settings-802-11-wireless.html

https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html(проверьте раздел устройства)

Связанный контент