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

Надеюсь, что те, кто узнают свои посты - не будут на меня в обиде...
Имеется много причин по которым вы можете захотеть вручную установить MAC адрес вашей сетевой карты. Для изменения этой опции, вам необходимо отредактировать файл etc/network/interfaces. Вы можете использовать любой текстовый редактор, который вам нравится.
sudo gedit /etc/network/interfaces
Вы должны увидеть строчку с вашим сетевым интерфейсом, который обычно называется eth0. Если вы используете dhcp, строчки будут приблизительно такими.
auto eth0
iface eth0 inet dhcp
Просто добавьте следующую строчку ниже, чтобы получилось примерно следующее.
auto eth0
iface eth0 inet dhcp
hwaddress ether 01:02:03:04:05:06
Вам необходимо перезапустить сеть или перегрузиться для достижения эффекта.
sudo /etc/init.d/networking restart
Как узнать MAC адрес сетевой карты: смена МАК адреса в Linux
loc=location.href;
if(location.host!='mydebianblog.blogspot.com')
loc=loc.substring(loc.lastIndexOf('=')*1+6);Select Language English
Иногда может потребоваться узнать или изменить 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 restart
Setting up IP spoofing protection: rp_filter.
Reconfiguring network interfaces...SIOCDELRT: No such process
ifup: interface lo already configured
SIOCSIFHWADDR: Device or resource busy
run-parts: /etc/network/if-pre-up.d/pre-up exited with return code 1
done.
Повторяем команду, на этот раз всё должно быть без шума и пыли:
notebeast:/home/beast# /etc/init.d/networking restart
Setting up IP spoofing protection: rp_filter.
Reconfiguring network interfaces...ifup: interface lo already configured
done.
Всё, MAC изменён и останется таковым и после перезагрузки.
Узнать 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-адрес (в данном случае, сетевой карты моего ноутбука).
И ещё несколько способов смены МАК-адреса от уважаемых комментаторов
ulmen
Наиболее мне понравилось как подобное реализовано в Gentoo. Вот кусок содержимаго файла /etc/conf.d/net
mac_eth0="00:50:8D:63:41:DE"
config_eth0=( "192.168.100.37 netmask 255.255.252.0" )
routes_eth0=(
"default via 192.168.100.1"
)
Anonymous
А зачем выносить скрипт? У меня запись сразу в /etc/network/interfaces :
pre-up ifconfig eth0 hw ether 00:00:00:00:00:00
GiNeR
Вариантов много. Это ж Линукс

Если читать man interfaces, то результат будет следующий:
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
hwaddress ether xxxxxxxxxxxx
Anonymous
У меня hwaddress ether xxxxxxxxxxxx не работает по неизвестнымпричинам. Но я не удивлен, у меня долго не работал replacedefaultroute, пока не исправили

virens: Кстати, у меня на ноутбуке тоже это не работает. Поэтому, собственно, и задался выяснением этого вопроса. Теперь вариантов много :-)
jmv
У меня в interfaces:
auto eth1
iface eth1 inet dhcp
hwaddress ether 00:00:00:00:00:00