Как изменить mac адрес linux сервера

Изменение MAC-адреса в операционных системах на ядре Linux возможно посредством как системных средств, так и сторонних утилит из официальных репозиториев.

Содержание

  • Этап 1: Получение адреса и имени адаптера
  • Этап 2: Изменение MAC-адреса
    • Вариант 1: ip link
    • Вариант 2: ifconfig
    • Вариант 3: macchanger
  • Вопросы и ответы

где прописать мак адрес в linux

Этап 1: Получение адреса и имени адаптера

Прежде чем изменить существующий МАК, следует узнать его текущее значение. Как и большинство других системных операций, рассматриваемая выполняется посредством терминала.

  1. Запустить требуемое приложение можно несколькими способами. Первый – откройте перечень установленного софта нажатием на соответствующую кнопку в левом нижнем углу, затем выберите пункт «Утилиты»«Терминал».
    где прописать мак адрес в linux-2

    Второй и более предпочтительный – воспользоваться сочетанием клавиш, по умолчанию это Alt+Ctrl+T.

  2. После вызова терминала введите в нём следующую команду:

    ip link show

    Это отобразит адреса всех сетевых адаптеров, распознанных операционной системой. Нужные значения представляют собой последовательность после строки link/show, а в начале находится конкретный идентификатор того или иного адаптера.

  3. где прописать мак адрес в linux-3

  4. Альтернативный метод просмотра MAC-адреса – использование пакета сетевых инструментов. Последние сперва потребуется установить путем ввода в терминале следующей команды:

    sudo apt install net-tools

    где прописать мак адрес в linux-5

    При первом применении с аргументом sudo нужно ввести пароль от учётной записи.

    где прописать мак адрес в linux-6

    Далее, когда нужные пакеты будут загружены и установлены, введите следующее:

    ifconfig | grep ether

    где прописать мак адрес в linux-7

    Здесь обратите внимание на значения после последовательности ether – это и есть искомое.

где прописать мак адрес в linux-8

Этап 2: Изменение MAC-адреса

Дальше у нас есть несколько вариантов решения рассматриваемой задачи: использовать ip link, уже инсталлированные на предыдущем этапе net-tools или воспользоваться загружаемой утилитой macchanger.

Вариант 1: ip link

Для смены MAC с помощью этих средств потребуется выполнить следующие действия:

Lumpics.ru

  1. Для начала понадобится отмонтировать рассматриваемое устройство следующей командой (вместо *интерфейс* впишите название нужного сетевого адаптера, полученного на предыдущем этапе):

    sudo ip link set dev *интерфейс* down

    Важно! Если через этот интерфейс происходит подключение к интернету, соединение пропадёт!

  2. где прописать мак адрес в linux-9

  3. После отключения адаптера введите в терминале следующее:

    sudo ip link set dev *интерфейс* address *XX:XX:XX:XX:XX:XX*

    Вместо *XX:XX:XX:XX:XX:XX* нужно вписать новый адрес, заменяя символы XX на пары битов и убрав звёздочки.

  4. где прописать мак адрес в linux-10

  5. Теперь остаётся только запустить карту заново – для этого введите команду:

    sudo ip link set dev *интерфейс* up

  6. где прописать мак адрес в linux-11

    Сетевые утилиты ip link присутствуют в большинстве дистрибутивов Linux по умолчанию, поэтому их можно считать системными средствами.

Вариант 2: ifconfig

Данное средство является частью пакета net-tools и уже достаточно давно не используется в дистрибутивах Linux как инструмент управления сетями, однако с его помощью также можно решить рассматриваемую задачу.

  1. По умолчанию ifconfig отсутствует в стандартном пакете программ, поэтому его потребуется доустановить, если этого не было сделано на шаге 4 предыдущего этапа.
  2. Как и в случае с утилитой ip link, сперва потребуется отключить используемое устройство командой:

    sudo ifconfig *интерфейс* down

    Замените *интерфейс* именем требуемого сетевого устройства.

  3. где прописать мак адрес в linux-12

  4. Теперь предстоит ввод операторов замены адреса – сама последовательность выглядит так:

    sudo ifconfig *интерфейс* hw ether *XX:XX:XX:XX:XX:XX*

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

  5. где прописать мак адрес в linux-13

  6. После применения команды заново активируем отсоединённый сетевой интерфейс, прописав в консоли следующее:

    sudo ifconfig *интерфейс* up

  7. где прописать мак адрес в linux-14

    Средство ifconfig работает точно так же, как и ip link, что пригодится пользователям старых дистрибутивов.

Вариант 3: macchanger

Последним способом решения рассматриваемой задачи будет очередная консольная программа, именуемая macchanger.

  1. Приложение не является частью ядра или оболочки, поэтому его нужно устанавливать отдельно. Вызовите терминал и введите в нём следующую команду:

    sudo apt-get install macchanger

    где прописать мак адрес в linux-15

    Префикс sudo потребует ввода пароля учётной записи.

  2. где прописать мак адрес в linux-16

  3. В процессе инсталляции появится информационное сообщение с запросом на автоматическую смену MAC при каждом подключении сетевого кабеля или активации Wi-Fi. Выберите желаемый вариант с помощью стрелок и нажмите Enter.
  4. где прописать мак адрес в linux-17

  5. Теперь нужно получить имя устройства, аппаратный идентификатор которого мы будем изменять, воспользовавшись для этого следующей командой:

    ip addr

    где прописать мак адрес в linux-18

    Ознакомьтесь с перечнем – как правило, обычно имеются два устройства, одно из которых отвечает за соединение по кабелю, второе – за коннектор Wi-Fi. Ориентируйтесь на вид названия – имена беспроводных адаптеров начинаются с букв wl, кабельных – с e либо enp.

  6. где прописать мак адрес в linux-19

  7. Для присвоения случайного MAC в терминале следует ввести следующее:

    macchanger -r *интерфейс*

    Вместо *интерфейс* напечатайте значение, полученное на шаге 2.

    где прописать мак адрес в linux-20

    Если вы получили ошибку, это значит, что команду нужно вводить с префиксом sudo.

  8. где прописать мак адрес в linux-21

  9. Установка определённой последовательности выглядит похожим образом:

    macchanger --mac=*XX:XX:XX:XX:XX:XX* *интерфейс*

    Как и в предыдущем случае, вместо вставок со звёздочками впишите идентификатор сетевого адаптера и желаемое значение МАК. Замечание о необходимости sudo для этой команды также справедливо.

  10. где прописать мак адрес в linux-22

  11. С помощью macchanger можно восстановить и заводской идентификатор – просто напишите такую команду:

    macchanger -p enp0s8

  12. где прописать мак адрес в linux-23

    Данная утилита не требует особых навыков и доступна для других дистрибутивов на ядре Linux.

Еще статьи по данной теме:

Помогла ли Вам статья?

Содержание

  1. Зачем менять MAC-адрес
  2. Изучение MAC-адреса
  3. Метод-1: Изменение MAC-адреса сетевого адаптера (непостоянный)
  4. Шаг 1: Список сетевых интерфейсов
  5. Шаг 2: Отключите интерфейсы
  6. Шаг 3: Изменение MAC-адреса
  7. Шаг 4: Проверьте новый MAC-адрес
  8. Метод-2: Изменение MAC-адреса сетевого адаптера (постоянный)
  9. Шаг-1: Установите Macchanger на Linux
  10. Шаг-2: Список доступных сетевых интерфейсов
  11. Шаг 3: Получим случайный MAC-адрес
  12. Шаг 4: Назначение статического MAC-адреса
  13. Заключение

Зачем менять MAC-адрес

Когда речь заходит о сетевых технологиях, вы, вероятно, часто слышали термин MAC-адрес.

MAC-адрес – это физический идентификатор, назначаемый каждому интерфейсу.

Теперь вы можете задаться вопросом: если MAC-адрес уже присвоен интерфейсу, то зачем его менять?

Здесь может быть несколько сценариев

У нас был очень старый стоечный сервер, на котором мы не смогли установить RHEL 8, и MAC-адрес интерфейсов этого сервера продолжал меняться после каждой перезагрузки.

Поэтому мы решили обновить PCI ID каждого интерфейса с помощью правила udev, встроенного в initrd, чтобы решить эту проблему.

Для загрузки PXE мы выполняем установку по сети.

Это не должно быть проблемой при использовании DHCP, но если вы хотите использовать статический IP, вы должны определить MAC-адрес интерфейса и IP, который будет назначен карте.

Теперь представьте, что у вас есть 100 серверов, поэтому подключение к каждому из них и получение MAC-адреса может быть неприятным, поэтому мы можем просто изменить MAC-адрес этих серверов в соответствии с нашими потребностями, а затем просто использовать их для выполнения загрузки PXE.

В этом руководстве я расскажу, что мы подразумеваем под MAC-адресом, для чего он используется и как его изменить.

Для демонстрации шагов из этой статьи мы будем использовать Kali Linux.

Изучение MAC-адреса

  • MAC-адрес расшифровывается как Media Access Control, и это постоянный, физический и уникальный адрес, присваиваемый сетевым интерфейсам производителем устройства.
  • Таким образом, независимо от того, есть ли у вас беспроводной, проводной или Ethernet, каждая из этих сетевых карт поставляется с определенным адресом, уникальным для этой карты. В мире не существует двух устройств, которые имели бы одинаковый MAC-адрес.
  • Этот адрес всегда будет одинаковым для данного конкретного устройства; даже если вы отключите его от компьютера и подключите к другому компьютеру, у этого сетевого устройства всегда будет один и тот же адрес.
  • Мало того, MAC-адрес часто используется фильтрами для предотвращения или разрешения устройствам подключаться к сетям и выполнять определенные задачи в Интернете.
  • Изменение вашего MAC-адреса на MAC-адрес другого устройства позволит вам выдать себя за это устройство и позволит вам делать то, что вы не могли бы сделать.
  • Так, вы сможете обойти фильтры или подключиться к сетям, к которым могут иметь отношение только устройства с определенными MAC-адресами, а также сможете скрыть свою личность. Изменить MAC-адрес очень просто, поэтому позвольте мне показать вам, как это сделать.

Метод-1: Изменение MAC-адреса сетевого адаптера (непостоянный)

Шаг 1: Список сетевых интерфейсов

Сначала я воспользуюсь командой ifconfig, чтобы перечислить все сетевые интерфейсы, доступные на моей машине Kali.

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

Примером может служить карта Wi-Fi, карта Ethernet и так далее.

Итак, вы видите, что, во-первых, у нас есть eth0, который является виртуальным интерфейсом, созданным virtual box, когда мы настроили Kali на использование сети NAT.

Вы можете увидеть имя интерфейса – eth0, и вы можете видеть, что у него есть IP-адрес, потому что, как я уже сказал, он подключен к сети.

Если мы перейдем сюда, то увидим надпись Wired Connected. Интерфейс представляет проводную сеть, к которой подключена Kali, которая является виртуальной сетью NAT.

Вы также можете увидеть маску сети, широковещание и важную часть информации: ether, который является MAC-адресом этого виртуального интерфейса.

Также вы можете увидеть аналогичную информацию другого интерфейса, lo.

lo – это интерфейс по умолчанию, созданный Linux.

Теперь это не имеет значения, потому что мы хотим изменить MAC-адрес, который показан под частью ether!

Шаг 2: Отключите интерфейсы

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

Чтобы отключить интерфейс, мы должны выполнить ifconfig, затем имя интерфейса, а затем down, чтобы отключить его.

Теперь, если я нажму Enter, вы увидите, что команда выполняется без ошибок, так что это означает, что она выполнена правильно.

ifconfig eth1 down

Следующее, что нам нужно сделать, это изменить параметр, который мы хотим изменить.

В данном примере мы хотим изменить ether, то есть MAC-адрес.

Шаг 3: Изменение MAC-адреса

Сначала наберите ifconfig, введите интерфейс, который мы хотим изменить, одну из его опций, затем введите опцию, которую мы хотим изменить.

Мы хотим изменить аппаратный адрес, поэтому вводим hw ether.

Для этого примера я собираюсь использовать 00:89:76:88:82:33.

Очень, очень простая команда, мы делаем ifconfig wlan0, чтобы выбрать интерфейс, который мы хотим изменить, далее установим аппаратный адрес, и еще позже установим этот адрес на этот интерфейс.

ifconfig eth1 down

ifconfig eth1 hw ether 00:89:76:88:82:33.
ifconfig eth1 up

Шаг 4: Проверьте новый MAC-адрес

Теперь все готово, и ваш MAC-адрес изменился.

Теперь вы можете начать использовать интерфейс, и он будет иметь этот MAC-адрес вместо своего первоначального.

Как я уже сказал, это может быть полезно во многих сценариях.

Имейте в виду, что MAC-адрес вернется к исходному после перезагрузки компьютера, потому что мы изменили MAC-адрес только в памяти.

Мы не меняли физический MAC-адрес.

Метод-2: Изменение MAC-адреса сетевого адаптера (постоянный)

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

Шаг-1: Установите Macchanger на Linux

Установите macchanger:

$ sudo apt install macchanger

Шаг-2: Список доступных сетевых интерфейсов

Важно знать, с каким сетевым интерфейсом вы работаете.

Выполните команду ifconfig, чтобы увидеть все доступные сетевые интерфейсы в системе.

$ ifconfig

Получив имя интерфейса, у которого мы хотим изменить MAC-адрес, мы также можем использовать следующую команду:

Шаг 3: Получим случайный MAC-адрес

Используйте параметр -r для получения случайного MAC-адреса и укажите имя вашего сетевого интерфейса.

$ sudo macchanger -r eth0

Шаг 4: Назначение статического MAC-адреса

Если вам необходимо использовать определенный MAC-адрес, вы можете сделать это с помощью опции -m и следующего синтаксиса команды.

$ sudo macchanger –m 34:3c:56:d4:e3:23 eth0

В выводе должен быть показан текущий и новый MAC-адрес, назначенный с помощью macchanger.

Чтобы проверить изменения, попробуйте выполнить команду ip a

$ ip a

Заключение

Возможно, вы уже знаете, что IP-адрес используется в Интернете для идентификации компьютеров и обмена данными между устройствами.

MAC-адрес используется в сети для идентификации устройств и передачи данных между ними.

Каждый фрагмент данных или пакет, отправленный в сети, содержит MAC-адрес источника и MAC-адрес получателя.

Таким образом, этот пакет будет передаваться от MAC-адреса источника к MAC-адресу получателя.

Так как это уникальный физический адрес для каждого интерфейса, для каждого сетевого устройства, и так как он используется для идентификации устройств, его изменение сделает вас  более анонимным в сети.

см. также:

  • Как изменить MAC адрес в Windows
  • Как изменить MAC адрес в Kali Linux
  • Как узнать IP-адрес компьютера: Windows и Mac OS
  • 🖧 Как проверить доступные сетевые интерфейсы, связанные IP-адреса, MAC-адреса и скорость интерфейса на Linux
  • 🐳 Как узнать IP-адрес Docker контейнера

MAC-адрес записывается на сетевую карту (NIC), Ethernet или WiFi. В принципе, этот MAC-адрес не может быть изменен, потому что это уникальный идентификатор рассматриваемого устройства, не может быть двух MAC-адресов в одном и том же сегменте сети, потому что это может привести к множеству проблем. MAC-адреса определенного устройства (сетевая карта, маршрутизатор, коммутатор, точка доступа, IP-камера с Wi-Fi) уникальны во всем мире, поскольку они записываются непосредственно, в двоичной форме, в оборудование во время производства. Кроме того, в 48-битном MAC-адресе первые 24 бита идентифицируют производителя устройства, а последние 24 бита идентифицируют рассматриваемое устройство.

изменить MAC-адрес Ethernet

MAC-адрес карты не может быть легко изменен навсегда, однако в современных операционных системах он может быть изменен на программном уровне. Пользователи операционных систем на базе Linux, например Debian, могут легко изменить MAC-адрес нашей сетевой карты с терминала разными способами. Далее мы собираемся показать вам, как изменить MAC-адрес нашего Linux-сервера с помощью основных методов.

Содержание

  • Измените MAC-адрес на серверах Linux с помощью ip-ссылки
  • Измените MAC-адрес с помощью ifconfig
  • macchanger: автоматизация смены MAC-адреса

Пакет iproute2 в настоящее время используется для управления всей сетью сервера или операционной системы Linux, мы можем изменить IP-адрес, маршрутизацию, создать новые вторичные таблицы маршрутизации, а также мы можем изменить MAC-адрес определенной сети. карта очень легко и быстро.

Единственное, что нам нужно сделать, это показать текущий MAC с помощью следующей команды:

ip link show interfaz

В нашем случае это интерфейс «ens33». Затем мы должны отключить сетевую карту, если мы не отключим ее, смена MAC не будет работать, потому что она используется.

ip link set dev interfaz down

Мы меняем MAC-адрес следующей командой:

ip link set dev interfaz address XX:XX:XX:XX:XX:XX

И поднимаем сетевую карту Ethernet:

ip link set dev interfaz up

На следующем снимке экрана вы можете увидеть весь процесс:

Это самый простой и быстрый способ изменить MAC-адрес без необходимости вообще ничего устанавливать.

Измените MAC-адрес с помощью ifconfig

Команда ifconfig уже много лет используется для управления сетью в операционных системах Linux, но в настоящее время она больше не используется. Если вы все еще используете ее, мы также поможем вам изменить MAC-адрес с помощью этой команды набора.

Первое, что нужно сделать, это проверить текущий MAC нашей сетевой карты. Для этого мы откроем терминал или телетайп в нашей системе и введите:

ifconfig

Как только мы узнаем текущий MAC-адрес нашей карты, мы должны выполнить следующие настройки:

Отключаем сетевую карту, на которой собираемся менять MAC-адрес:

ifconfig eth0 down

Мы меняем MAC-адрес указанной карты на тот, который нам нужен (изменяя 00: 00: 00: 00: 00: 00 для соответствующего MAC, который мы хотим установить).

ifconfig eth0 hw ether 00:00:00:00:00:00

Снова поднимаем сетевую карту:

ifconfig eth0 up

Как вы видели, изменить MAC-адрес очень просто и быстро с помощью ifconfig, то есть того же количества команд, что и для ip link. Мы должны помнить, что ifconfig больше не устанавливается в последних версиях Debian и других дистрибутивах в пользу iproute2.

macchanger: автоматизация смены MAC-адреса

Программа macchanger предназначена для автоматизации смены MAC-адреса и даже позволяет нам сгенерировать совершенно случайный MAC-адрес. По умолчанию эта программа не устанавливается, придется установить ее самостоятельно через репозиторий:

sudo apt install macchanger

При установке он спросит нас, хотим ли мы, чтобы он запускался автоматически при активации сетевого устройства, чтобы иметь новый MAC-адрес при каждом подключении сетевого кабеля или активации сети Wi-Fi, в идеале всегда иметь другой MAC-адрес.

Чтобы полностью случайным образом изменить MAC-адрес на определенном интерфейсе, мы должны сделать следующее:

macchanger -r interfaz

Программа сама сообщит нам текущий MAC-адрес, постоянный MAC (тот, который записан на карту) и новый MAC-адрес:

Если мы проверим MAC с помощью ip link show, мы увидим:

У нас также есть вероятность, что MAC является случайным, но с сохранением первых 24 бит (производитель):

macchanger -e interfaz

Конечно, мы можем указать желаемый MAC-адрес следующим образом:

macchanger --mac=XX:XX:XX:XX:XX:XX interfaz

Наконец, мы можем поставить оригинальный MAC карты:

macchanger -p interfaz

Если мы выполним «–help», мы увидим помощь, предоставляемую этой программой:

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

This article gives several methods to spoof a Media Access Control (MAC) address.

Manually

There are two methods for spoofing a MAC address: installing and configuring either iproute2 or macchanger. Both of them are outlined below.

iproute2

First, you can check your current MAC address with the command:

# ip link show interface

where interface is the name of your network interface.

The section that interests us at the moment is the one that has «link/ether» followed by a 6-byte number. It will probably look something like this:

link/ether 00:1d:98:5a:d1:3a

The first step to spoofing the MAC address is to bring the network interface down. It can be accomplished with the command:

# ip link set dev interface down

Next, we actually spoof our MAC. Any hexadecimal value will do, but some networks may be configured to refuse to assign IP addresses to a client whose MAC does not match up with any of known vendors. Therefore, unless you control the network(s) you are connecting to, use MAC prefix of any real vendor (basically, the first three bytes), and use random values for next three bytes. For more information please read Wikipedia:Organizationally unique identifier.

To change the MAC, we need to run the command:

# ip link set dev interface address XX:XX:XX:XX:XX:XX

Where any 6-byte value will suffice for XX:XX:XX:XX:XX:XX.

The final step is to bring the network interface back up. This can be accomplished by running the command:

# ip link set dev interface up

If you want to verify that your MAC has been spoofed, simply run ip link show interface again and check the value for ‘link/ether’. If it worked, ‘link/ether’ should be whatever address you decided to change it to.

macchanger

Another method uses macchanger (a.k.a., the GNU MAC Changer). It provides a variety of features such as changing the address to match a certain vendor or completely randomizing it.

Install the package macchanger.

The spoofing is done on per-interface basis, specify network interface name as interface in each of the following commands.

The MAC address can be spoofed with a fully random address:

# macchanger -r interface

To randomize only device-specific bytes of current MAC address (that is, so that if the MAC address was checked it would still register as being from the same vendor), you would run the command:

# macchanger -e interface

To change the MAC address to a specific value, you would run:

# macchanger --mac=XX:XX:XX:XX:XX:XX interface

Where XX:XX:XX:XX:XX:XX is the MAC you wish to change to.

Finally, to return the MAC address to its original, permanent hardware value:

# macchanger -p interface

Note: A device cannot be in use (connected in any way or with its interface up) while the MAC address is being changed.

Automatically

systemd-networkd

systemd-networkd supports MAC address spoofing via link files (see systemd.link(5) for details).

To set a static spoofed MAC address:

/etc/systemd/network/00-default.link
[Match]
MACAddress=original MAC

[Link]
MACAddress=spoofed MAC
NamePolicy=kernel database onboard slot path

To randomize the MAC address on every boot, set MACAddressPolicy=random instead of MACAddress=spoofed MAC.

systemd-udevd

Udev allows you to perform MAC address spoofing by creating udev rules. Use address attribute to match the correct device by its original MAC address and change it using the ip command:

/etc/udev/rules.d/81-mac-spoof.rules
ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="XX:XX:XX:XX:XX:XX", RUN+="/usr/bin/ip link set dev $name address YY:YY:YY:YY:YY:YY"

where XX:XX:XX:XX:XX:XX is the original MAC address and YY:YY:YY:YY:YY:YY is the new one, use lower case for MAC address.

systemd unit

Creating unit

Below you find two examples of systemd units to change a MAC address at boot, one sets a static MAC using ip and one uses macchanger to assign a random MAC address. The systemd network-pre.target is used to ensure the MAC is changed before a network manager like Netctl or NetworkManager, systemd-networkd or dhcpcd service starts.

iproute2

systemd unit setting a predefined MAC address:

/etc/systemd/system/macspoof@.service
[Unit]
Description=MAC Address Change %I
Wants=network-pre.target
Before=network-pre.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
ExecStart=/usr/bin/ip link set dev %i address 36:aa:88:c8:75:3a
ExecStart=/usr/bin/ip link set dev %i up

[Install]
WantedBy=multi-user.target
macchanger

systemd unit setting a random address while preserving the original NIC vendor bytes. Ensure that macchanger is installed:

/etc/systemd/system/macspoof@.service
[Unit]
Description=macchanger on %I
Wants=network-pre.target
Before=network-pre.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
ExecStart=/usr/bin/macchanger -e %I
Type=oneshot

[Install]
WantedBy=multi-user.target

A full random address can be set using the -r option, see #macchanger.

Enabling service

Append the desired network interface to the service name (e.g. eth0) and enable the service (e.g. macspoof@eth0.service).

Reboot, or stop and start the prerequisite and requisite services in the proper order. If you are in control of your network, verify that the spoofed MAC has been picked up by your router by examining the static, or DHCP address tables within the router.

netctl interfaces

You can use a netctl hook to run a command each time a netctl profile is re-/started for a specific network interface. Replace interface accordingly:

/etc/netctl/interfaces/interface
#!/usr/bin/env sh
/usr/bin/macchanger -r interface

Make the script executable.

Source: akendo.eu

NetworkManager

See NetworkManager#Configuring MAC address randomization.

wpa_supplicant

wpa_supplicant can use random MAC address for each ESS connection(AP) (see [1] for details).

Add this to your configuration:

/etc/wpa_supplicant/wpa_supplicant-wlan0.conf
mac_addr=1
preassoc_mac_addr=1
gas_rand_mac_addr=1

iwd

To randomize the MAC address when iwd starts (see iwd.config(5) for details):

/etc/iwd/main.conf
[General]
AddressRandomization=once
AddressRandomizationRange=nic

Specifying AddressRandomizationRange enables control over which part of the address is randomized. If set to nic, only the NIC specific octets (last three octets) are randomized. The permanent mac address of the network interface is used for the initial 3 octets. If set to full, all six octets of the address are randomized.

Troubleshooting

Connection to DHCPv4 network fails

If you cannot connect to a DHCPv4 network and you are using dhcpcd, which is the default for NetworkManager, you might need to modify the dhcpcd configuration to obtain a lease.

See also

  • Wikipedia:MAC spoofing
  • Macchanger GitHub page
  • Article on DebianAdmin with more macchanger options

Before I show you how to change Mac address in Linux, let’s first discuss why would you change it in the first place.

You may have several reasons. Maybe you don’t want your actual MAC address (also called physical address) to be exposed on a public network? Other case can be that the network administrator might have blocked a particular MAC address in the router or firewall.

One practical ‘benefit’ is that some public network (like Airport WiFi) allows free internet for a limited time. If you want to use the internet beyond that, spoofing your Mac address may trick the network in believing that it’s a new device. It’s a famous meme as well.

Airport Wifi Meme
Airport WiFi Meme

I am going to show the steps for changing MAC address (also called spoofing/faking MAC address).

Changing MAC address in Linux

Let’s go through each step:

Step 1: Find your MAC address and network interface

Let’s find out some details about the network card in Linux. Use this command to get the network interface details:

ip link show

In the output, you’ll see several details along with the MAC address:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 94:c6:f8:a7:d7:30 brd ff:ff:ff:ff:ff:ff
3: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether 38:42:f8:8b:a7:68 brd ff:ff:ff:ff:ff:ff
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether 42:02:07:8f:a7:38 brd ff:ff:ff:ff:ff:ff

As you can see, in this case, my network interface is called enp0s31f6 and its MAC address is 38:42:f8:8b:a7:68.

You may want to note it down on a secure place to revert to this original MAC address later on.

Now you may proceed to changing the MAC address.

Attention!

If you do this on a network interface which is currently in use, probably your network connection will be terminated. So either try this method on an additional card or be prepared to restart your network.

Method 1: Change MAC address using Macchanger

Change Mac Address Linux

Macchanger is simple utility to view, modify, and manipulate MAC addresses for your Network interface cards. It is available in almost all GNU/Linux operating systems and you can install is using the package installer of your distribution.

On Arch Linux or Manjaro:

sudo pacman -S macchanger

On Fedora, CentOS, RHEL:

sudo dnf install macchanger

On Debian, Ubuntu, Linux Mint, Kali Linux:

sudo apt install macchanger

Important! You’ll be asked to specify whether macchanger should be set up to run automatically every time a network device is brought up or down. This gives a new MAC address whenever you attach an Ethernet cable or re-enable WiFi.

Configuring Macchanger
Not a good idea to run it automatically

I recommend not to run it automatically, unless you really need to change your MAC address every time. So, choose No (by pressing tab key) and hit Enter key to continue.

How to Use Macchanger to change MAC address

Do you remember your network interface name? You got it in the Step 1 earlier.

Now, to assign any random MAC address to this network card, use:

sudo macchanger -r enp0s31f6

After changing the MAC id, verify it using command:

ip addr

You will now see that MAC has been spoofed.

To change the MAC address to a specific value, specify any custom MAC address using command:

macchanger --mac=XX:XX:XX:XX:XX:XX 

Where XX:XX:XX:XX:XX:XX is the new MAC id that you want to change.

Finally, to revert the MAC address to its original hardware value, run the following command:

macchanger -p enp0s31f6

However, you don’t have to do this. Once you reboot the system, the changes will be automatically lost, and the actual MAC address will be restored again.

You can always check the man page for more details.

Method 2: Changing Mac address using iproute2 [intermediate knowledge]

I would recommend using Macchanger but if you don’t want to use it, there is another way to change the MAC address in Linux.

First, turn off the network card using command:

sudo ip link set dev enp0s31f6 down

Next, set the new MAC using command:

sudo ip link set dev enp0s31f6 address XX:XX:XX:XX:XX:XX

Finally, turn the network back on with this command:

sudo ip link set dev enp0s31f6 up

Now, verify new MAC address:

ip link show enp0s31f6

That’s it. You have successfully changed the MAC address in true Linux style. Stay tuned with It’s FOSS for more Linux tutorial and tips.

Dimitrios

Dimitrios Savvopoulos

Dimitrios is an MSc Mechanical Engineer but a Linux enthusiast in heart. He is well settled in Solus OS but curiosity drives him to constantly test other distros. Challenge is part of his personality and his hobby is to compete from 5k to the marathon distance.

Before I show you how to change Mac address in Linux, let’s first discuss why would you change it in the first place.

You may have several reasons. Maybe you don’t want your actual MAC address (also called physical address) to be exposed on a public network? Other case can be that the network administrator might have blocked a particular MAC address in the router or firewall.

One practical ‘benefit’ is that some public network (like Airport WiFi) allows free internet for a limited time. If you want to use the internet beyond that, spoofing your Mac address may trick the network in believing that it’s a new device. It’s a famous meme as well.

Airport Wifi Meme
Airport WiFi Meme

I am going to show the steps for changing MAC address (also called spoofing/faking MAC address).

Changing MAC address in Linux

Let’s go through each step:

Step 1: Find your MAC address and network interface

Let’s find out some details about the network card in Linux. Use this command to get the network interface details:

ip link show

In the output, you’ll see several details along with the MAC address:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN mode DEFAULT group default qlen 1000
    link/ether 94:c6:f8:a7:d7:30 brd ff:ff:ff:ff:ff:ff
3: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether 38:42:f8:8b:a7:68 brd ff:ff:ff:ff:ff:ff
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default 
    link/ether 42:02:07:8f:a7:38 brd ff:ff:ff:ff:ff:ff

As you can see, in this case, my network interface is called enp0s31f6 and its MAC address is 38:42:f8:8b:a7:68.

You may want to note it down on a secure place to revert to this original MAC address later on.

Now you may proceed to changing the MAC address.

Attention!

If you do this on a network interface which is currently in use, probably your network connection will be terminated. So either try this method on an additional card or be prepared to restart your network.

Method 1: Change MAC address using Macchanger

Change Mac Address Linux

Macchanger is simple utility to view, modify, and manipulate MAC addresses for your Network interface cards. It is available in almost all GNU/Linux operating systems and you can install is using the package installer of your distribution.

On Arch Linux or Manjaro:

sudo pacman -S macchanger

On Fedora, CentOS, RHEL:

sudo dnf install macchanger

On Debian, Ubuntu, Linux Mint, Kali Linux:

sudo apt install macchanger

Important! You’ll be asked to specify whether macchanger should be set up to run automatically every time a network device is brought up or down. This gives a new MAC address whenever you attach an Ethernet cable or re-enable WiFi.

Configuring Macchanger
Not a good idea to run it automatically

I recommend not to run it automatically, unless you really need to change your MAC address every time. So, choose No (by pressing tab key) and hit Enter key to continue.

How to Use Macchanger to change MAC address

Do you remember your network interface name? You got it in the Step 1 earlier.

Now, to assign any random MAC address to this network card, use:

sudo macchanger -r enp0s31f6

After changing the MAC id, verify it using command:

ip addr

You will now see that MAC has been spoofed.

To change the MAC address to a specific value, specify any custom MAC address using command:

macchanger --mac=XX:XX:XX:XX:XX:XX 

Where XX:XX:XX:XX:XX:XX is the new MAC id that you want to change.

Finally, to revert the MAC address to its original hardware value, run the following command:

macchanger -p enp0s31f6

However, you don’t have to do this. Once you reboot the system, the changes will be automatically lost, and the actual MAC address will be restored again.

You can always check the man page for more details.

Method 2: Changing Mac address using iproute2 [intermediate knowledge]

I would recommend using Macchanger but if you don’t want to use it, there is another way to change the MAC address in Linux.

First, turn off the network card using command:

sudo ip link set dev enp0s31f6 down

Next, set the new MAC using command:

sudo ip link set dev enp0s31f6 address XX:XX:XX:XX:XX:XX

Finally, turn the network back on with this command:

sudo ip link set dev enp0s31f6 up

Now, verify new MAC address:

ip link show enp0s31f6

That’s it. You have successfully changed the MAC address in true Linux style. Stay tuned with It’s FOSS for more Linux tutorial and tips.

Dimitrios

Dimitrios Savvopoulos

Dimitrios is an MSc Mechanical Engineer but a Linux enthusiast in heart. He is well settled in Solus OS but curiosity drives him to constantly test other distros. Challenge is part of his personality and his hobby is to compete from 5k to the marathon distance.

Every network interface on your Linux operating system distribution is associated with a unique number called MAC (Media Access Control). The wireless and Ethernet network modules are examples of commonly used network interfaces on a Linux operating system. MAC serves a unique role in identifying these network interfaces through system protocols and programs.

For example, through DHCP (Dynamic Host Control Protocol), a network interface is assigned an IP address by a network router automatically. In this case, the MAC address acts as a reference manual for networking devices like the router so that these devices know the identity of the other network devices they are communicating with or, in this case, assigning IP addresses.

Why Change Your MAC Address?

The MAC address is different from an IP address such that it is hardware-oriented whereas an IP address is software-oriented. Therefore, an IP address can be permanently changed whereas changing a MAC address is only temporary. If you restart your machine it will default to its original manufacturer’s value.

Three prime reasons as to why you might need to temporarily change your MAC address stand out:

  • You do not trust the public network you are using and therefore don’t want your MAC address to be exposed as it can be used to permanently identify your machine whenever you are on a network.
  • A firewall or router has been used to block your original MAC address to deny you access to a specific network.
  • Airport WiFi and other public networks operate on the “Limited Time Access” rule when it comes to gifting free internet to their clients. Changing the MAC address can bypass this limitation.

Install MAC Changer in Linux

This Linux operating system software package will help us meet the objective of this article guide. We need to make sure that macchanger is installed on your Linux distribution.

Reference the following installation commands in regards to your Linux distribution:

$ sudo apt-get install macchanger     [On Debian, Ubuntu and Mint]
$ sudo yum install macchanger         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/macchanger  [On Gentoo Linux]
$ sudo pacman -S macchanger           [On Arch Linux]
$ sudo zypper install macchanger      [On OpenSUSE]    

You are bound to run into the following prompt during the installation process.

Configure Mac Changer in Linux

Configure Mac Changer in Linux

If you choose yes, all your online presence will be associated with a new MAC address even after a successful system reboot. If you only need to change your MAC address occasionally, you should proceed with an option no.

Wait for the macchanger installation process to complete.

Changing Linux MAC Address

The use of the macchanger command should be associated with a network interface. The first step is to identify the available interfaces on your network which most of the time include loopback, wireless, and wired.

We will use the following IP command:

$ ip a

Check Linux MAC Address

Check Linux MAC Address

From the screen capture above, the wireless interface wlp2s0b1 is associated with the MAC address ec:55:f9:55:8a:ab. To temporarily change this MAC address, you will need to be a root user or have sudo privileges on your Linux machine.

To change the above MAC address, we will use the macchanger command together with the -r option and point to the network interface whose MAC address we need to temporarily change.

$ sudo macchanger -r wlp2s0b1

Change MAC Address

Change MAC Address

To avoid the above [ERROR] that says:

[ERROR] Could not change MAC: interface up or insufficient permissions: Device or resource busy

1. Stop your network manager.

$ sudo service network-manager stop

2. Take down the targeted network interface.

$ ifconfig wlp2s0b1 down

3. Now change your MAC address.

$ sudo macchanger -r wlp2s0b1

Change MAC Address in Linux

Change MAC Address in Linux

4. Restart your network manager and the associated network interface.

$ sudo service network-manager start 
$ sudo ifconfig wlp2s0b1 up

Let us now recheck the existence of the new MAC address:

$ ip a

Check Linux MAC Address

Check Linux MAC Address

The temporary new MAC address has been configured and implemented as expected.

If you want your network identity to be associated with a specific MAC address, you can reference the following macchanger command syntax:

$ sudo macchanger -m [your_custom_MAC_address] [Targeted_network_interface]

An example implementation would be:

$ sudo macchanger -m f7:ed:56:0e:aa:b2 enp0s3

Changing the MAC address on a Linux operating system environment gives you the flexibility of bypassing the limitation of various network administration rules and also the anonymity advantage. You get to play by your own network rules.

Понравилась статья? Поделить с друзьями:
  • Как изменить mac address компьютера
  • Как изменить ip адрес роутера mercusys
  • Как изменить mac address wifi
  • Как изменить ip адрес роутера huawei
  • Как изменить m3u файл