Как изменить mac-адрес сетевого интерфейса во FreeBSD

Обновлено Обновлено: Опубликовано Опубликовано:

Используемые термины: mac-адрес, FreeBSD.

Определение имени сетевого интерфейса

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

Выполняем команду:

ifconfig -a

Пример ответа:

igc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=4e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6,NOMAP>
        ether a8:a1:59:4d:2b:12
        inet 192.168.0.10 netmask 0xffffff00 broadcast 192.168.0.255
        inet6 fe80::aaa1:59ff:fe4d:2b12%igc0 prefixlen 64 scopeid 0x1
        media: Ethernet autoselect (2500Base-T <full-duplex>)
        status: active
        nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>

В нашем примере будет использовать интерфейс igc0. Вам необходимо в командах использовать свой.

Смена MAC адреса

Рассмотрим два варианта изменения адреса:

  1. Разовое из командной строки.
  2. Постоянное в конфигурационном файле rc.conf.

Из командной строки

Изменение таким образом mac-адреса потеряет действие после перезагрузки системы:

ifconfig igc0 ether 00:50:56:8a:4f:72

* где igc0 — сетевой ethernet адаптер; 00:50:56:8a:4f:72 — mac-адрес, который будет назначен.

В файле rc.conf

Чтобы сохранить настройку после перезагрузки, открываем на редактирование следующий файл:

ee /etc/rc.conf

и дописать (выделено желтым):

ifconfig_igc0="ether 00:50:56:8a:4f:72 inet 192.168.0.10/24"

* где igc0 — имя сетевого адаптера; 00:50:56:8a:4f:72 — mac-адрес, который будет назначен. Очень важно, чтобы mac-адрес шел перед inet.

Если мы получаем адрес по DHCP:

ifconfig_igc0="ether 00:50:56:8a:4f:72 DHCP"

Или, если настройка будет капризничать:

hwaddr_igc0="00:50:56:8a:4f:72"
ifconfig_igc0="DHCP" 

Если мы хотим, чтобы настройки применились перезагружаем сервер или вводим команду из первого способа:

ifconfig igc0 ether 00:50:56:8a:4f:72

Нюансы

Рассмотрим некоторые тонкости, с которыми можем столкнуться при смене физического адреса.

ARP кэш

После смены MAC-адреса, другие устройства в сети (шлюзы, коммутаторы) могут продолжать слать пакеты на старый адрес еще некоторое время (пока не истечет ARP-кэш). Рекомендуется очистить локальную таблицу ARP для шлюза и пингануть его, чтобы обновить таблицы соседей. Для этого выполняем команды:

arp -d 192.168.0.1

ping -c 3 192.168.0.1

* где 192.168.0.1 — адрес шлюза.

IPv6

При смене MAC-адреса локальный IPv6-адрес (Link-Local, начинающийся на fe80::) автоматически изменится, так как он вычисляется на основе MAC-адреса.

Если у вас настроены фаервольные правила в ipfw или pf, привязанные к старому fe80::..., их нужно будет обновить.

Если вы столкнетесь с тем, что IPv6 адрес не изменился после смены MAC, это означает, что в системе включены Privacy Extensions (RFC 4941), которые генерируют случайные адреса вместо привязки к MAC. Однако для серверов стандартное поведение (EUI-64) остается наиболее вероятным сценарием.

# FreeBSD # UNIX # Железо # Сети
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет

Дмитрий Моск
— IT-специалист.
Настройка серверов, услуги DevOps.

Нужна бесплатная консультация?

Мини-инструкции

Как добавить пользователя в Windows 10

Хранение лога radpostauth в MySQL

Настройка купленного сертификата в Exchange Server

Как изменить mac-адрес сетевого адаптера во FreeBSD

Шпаргалка по работе с пользователями во FreeBSD

Как восстановить базу MySQL из дампа (резервной копии)

Настройка доступа к локальной сети клиентам OpenVPN

Другие инструкции

Все статьи

Нужна помощь? Пишите:






Реклама