Как узнать MAC адрес сетевой карты: смена МАК адреса в Linux — Записки дебианщика

Статья последний раз была обновлена 04.03.2023


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

sudo ifconfig eth0 hw ether xx:xx:xx:xx

при этом MAC-адрес изменится и будет оставаться таковым до перезагрузки. Если нужно сделать так, чтобы MAC-адрес был таким всегда, нужно приударить в соответствующий бубен системный конфиг.Постоянный изменённый MAC-адрес в LinuxДля этого идём в /etc/network/if-pre-up.d/ и создаём там от рута файл, например имени pre-up.В этот файл пишем следующее:

#! /bin/sh

ifconfig eth0 hw ether 00:00:00:00

Нули замените своим мак-адресом. Чтобы изменения вступили сразу же, без перезагрузки, даём команду:

/etc/init.d/networking restart

При этом в первый раз (особенно при работающем интерфейсе) может вылезти такое:

# /etc/init.d/networking restartSetting up IP spoofing protection: rp_filter.Reconfiguring network interfaces…SIOCDELRT: No such processifup: interface lo already configuredSIOCSIFHWADDR: Device or resource busyrun-parts: /etc/network/if-pre-up.d/pre-up exited with return code 1done.

Повторяем команду, на этот раз всё должно быть без шума и пыли:

notebeast:/home/beast# /etc/init.d/networking restartSetting up IP spoofing protection: rp_filter.Reconfiguring network interfaces…ifup: interface lo already configureddone.

Всё, MAC изменён и останется таковым и после перезагрузки.Сменить MAC-адрес в Линукс можно разными способами — на то он и Линукс. Например, можно заменить содержимое /etc/network/interfaces на следующее:

# The primary network interfaceallow-hotplug eth0iface eth0 inet dhcphwaddress ether 00:00:00:00:00:00

Нули, как и ранее, заменяем на требуемый MAC-address. В Debian всё проще: в описание интерфейса в /etc/network/interfaces добавляем:

hwaddress ether XX:XX:XX:XX:XX:XX

Другие способы описаны в комментариях к этому посту ниже.Узнать MAC-адрес сетевой карты в LinuxЧтобы узнать текущий MAC-адрес просто: набираем

sudo ifconfig

И видим нечто вроде:

eth0 Link encap:Ethernet HWaddr 00:0A:E4:53:AA:2D inet addr:10.26.49.77 Bcast:10.26.63.255 Mask:255.255.240.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:208554 errors:0 dropped:0 overruns:0 frame:0 TX packets:125071 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:40664531 (38.7 MiB) TX bytes:45919980 (43.7 MiB) Interrupt:21 Base address:0x4c00 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:18511 errors:0 dropped:0 overruns:0 frame:0 TX packets:18511 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:537155 (524.5 KiB) TX bytes:537155 (524.5 KiB)

Красное полужирное выделение и есть MAC-адрес (в данном случае, сетевой карты моего ноутбука).ЗамечанияЭтот пост может быть полезен абонентам московской сети Кверти (qwerty) и Корветт (провайдер OnLime), чтобы лишний раз не пытаться пробиться в службу тех.поддержки, а решить проблему самостоятельно.

http://mydebianblog.blogspot.ru/2007/02/blog-post_24.html

Губарь Маргарита Александровна