Меняем MAC адрес

Вариант 1

Утилита ip уже должна быть в составе каждого дистрибутива

Для начала посмотрим где у нас и чего

1
ip link show

Должны получить список интерфейсов и некоторой инфой, включая MAC адреса и имена интоерфесов
Для смены наберем

1
sudo ip link set dev enpXsX address XX:XX:XX:XX:XX:XX

где enpXsX это имя интерфейса где необходимо сменить MAC, где XX:XX:XX:XX:XX:XX это MAC который вам нужен

Вариант 2

При помощи утилиты macchanger

Для генерации случайного MAC можно использовать аргумент -r

1
sudo macchanger -r enpXsX

для проверки можно набрать

1
ip addr

Для того что бы указать конкретный MAC можно использовать аргумент --mac или -m

1
sudo macchanger --mac=XX:XX:XX:XX:XX:XX enpXsX

Что бы сбросить изменения можно выполнить

1
macchanger -p enpXsX

Важно, эффект сохранится только до перезагрузки, после MAC снова сбросится.

Для постоянного эффекта можно создать systemd service

1
sudoedit /etc/systemd/system/changemac@.service

С таким содержимым, значения подставляете свои.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[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
User=root
ExecStart=/usr/bin/macchanger --mac=XX:XX:XX:XX:XX:XX enpXsX %I
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Включаем сервис

1
sudo systemctl enable changemac@enpXsX.service

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

Удаление сервиса.

Отключаем сервис

1
sudo systemctl disable --now changemac@enpXsX.service

И удаляем service

1
sudo rm /etc/systemd/system/changemac@.service