Временная смена 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Всё, MAC изменён и останется таковым и после перезагрузки.
Setting up IP spoofing protection: rp_filter.
Reconfiguring network interfaces...ifup: interface lo already configured
done.
Сменить MAC-адрес в Линукс можно разными способами - на то он и Линукс. Например, можно заменить содержимое /etc/network/interfaces на следующее:
# The primary network interfaceНули, как и ранее, заменяем на требуемый MAC-address. В Debian всё проще: в описание интерфейса в /etc/network/interfaces добавляем:
allow-hotplug eth0
iface eth0 inet dhcp
hwaddress ether 00:00:00:00:00:00
hwaddress ether XX:XX:XX:XX:XX:XXДругие способы описаны в комментариях к этому посту ниже.
Узнать MAC-адрес сетевой карты в LinuxЧтобы узнать текущий MAC-адрес просто: набираем
sudo ifconfigИ видим нечто вроде:
eth0 Link encap:Ethernet HWaddr 00:0A:E4:53:AA:2DКрасное полужирное выделение и есть MAC-адрес (в данном случае, сетевой карты моего ноутбука).
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)
Замечания
Этот пост может быть полезен абонентам московской сети Кверти (qwerty) и Корветт (провайдер OnLime), чтобы лишний раз не пытаться пробиться в службу тех.поддержки, а решить проблему самостоятельно.
36 комментариев: |высказаться!| RSS-лента дискуссии.|
Сегодня наконец-то решил опубликовать пост, который уже успел покрытся слоем пыли, по этой же теме, но только при помощи пакетика macchanger :)
2 dim4ik
Сегодня наконец-то решил опубликовать пост, который уже успел покрытся слоем пыли
Аналогичная ситуация: надо бы пост уже наконец выложить, чтобы не потереть случайно и самому потом не забыть :-)
Наиболее мне понравилось как подобное реализовано в 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"
)
Все понятно и чисто, за это я и люблю Gentoo :)
Если MAC-адрес используется для авторизации доступа — это повод сменить провайдера, а не MAC-адрес. Без шуток.
2 ulmen
Наиболее мне понравилось как подобное реализовано в Gentoo.
Ну так! Потому гента, как известно, и рулит :-))
Все понятно и чисто, за это я и люблю Gentoo :)
У нас тоже не особенно мутно, но со своими особенностями. Но если у нас в Москве похолодает ещё круче - буду ставить генту и оптимизировать всё до полного посинения :-)
2 jankkhvej
Если MAC-адрес используется для авторизации доступа — это повод сменить провайдера
Зачем так категорично? Если честно, я не очень в курсе этой кухни, но МАК там используется в пределах небольшого сегмента и, вместе с IP-адресом, они определяют пользователя. Никаких накладок и проблем в Центеле по этому поводу не было никогда - всё работает (в отличие от любителей виндовых VPN) на ура.
А зачем выносить скрипт? У меня запись сразу в interfaces :
pre-up ifconfig eth0 hw ether 00:00:00:00:00:00
Вариантов много. Это ж Линукс :)
Если читать man interfaces, то результат будет следующий:
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
hwaddress ether xxxxxxxxxxxx
У меня hwaddress ether xxxxxxxxxxxx не работает по неизвестным причинам. Но я не удивлен, у меня долго не работал replacedefaultroute, пока не исправили :)
У меня в interfaces:
auto eth1
iface eth1 inet dhcp
hwaddress ether 00:00:00:00:00:00
И все работает. Удивительно, как многим нужна смена адреса. :)
Мне она понадобилась из-за смены компьютера, чтобы не звонить провайдеру, а то их как попросишь о чем-нибудь, так они все ломают и связь минимум на сутки пропадет.
2 jmv
Удивительно, как многим нужна смена адреса. :)
Да, и естественно, что в Линуксе вариантов куча. Большое спасибо комментаторам за то, что избавили от необходимости читать man ifconfig :-))
Мне она понадобилась из-за смены компьютера, чтобы не звонить провайдеру
Та же песня: настраивали интернет на старом ноутбуке, купил новый - в суппорт не прозвониться. Решил на местном форуме спросить - немного помаялся и теперь всё отлично. Чтобы не забыть / не потерять МАК-адрес, решил его сюда забросить. И потом, мало ли кому пригодится.
Верьте мне, я провайдер ;)
Привязка к MAC-адресу имено так легко обходится, а это уже означает, что защита не работает. Неудобств от привязки MAC-адреса для провайдера больше, а выгоды нет никакой.
Если IP и MAC используются для идентификации пользователя - это опять таки легко обходится. Если свитч с определённого порта пропускает определённый MAC и/или IP - это достаточно дорогой свитч. И его ж каждый раз надо конфигурировать, как только меняется что-то. Можно использовать много наворотов, но в итоге это неоправданно. Проще использовать 802.1x или PPPoE, технологии специально для этого сделанные.
Заранее хочу сказать что я в линухе безгоду неделю...
Пытаюсь познать Debian Etch...
но что касается смены Мака, отключается у меня интерфейс после данных изменений:
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
iface eth0 inet static
address *.*.*.*
netmask 255.255.0.0
gateway *.*.*.*
hwaddress enter 00:00:00:00:00:00
auto eth0
нет в жизни счастья:\
...продолжаю копать,может чего поскажите?;)
А Блог просто супер, надо же нам ЛинухЛамерам на чём-то учиться :)
...продолжайте в том же духе!
Побольше статей, хороших и разныХ!:)
2 Senpai
Пытаюсь познать Debian Etch...
И это правильно. Настоящие джедаи никогда не ищут лёгких путей типа убунты :-)
но что касается смены Мака, отключается у меня интерфейс после данных изменений:
И правильно делает: в конфиге ошибка.
hwaddress enter 00:00:00:00:00:00
А надо ether.
нет в жизни счастья:\
Есть, только не сразу. Держаться и не поддаваться соблазну перебежать куда-нибудь ещё.
...продолжаю копать,может чего поскажите?;)
Собственно, выше. Можно смело писать на почту - я её просматриваю и даже отвечаю :-)
...продолжайте в том же духе!
Спасибо за тёплые слова. Будем продолжать.
2 jankkhvej
>>Верьте мне, я провайдер ;)
Привязка к MAC-адресу имено так легко обходится, а это уже означает, что защита не работает. Неудобств от привязки MAC-адреса для провайдера больше, а выгоды нет никакой.
--reply
Именно для провайдера нет никаких неудобств - исключительно выгоды, одной из которых является "лекго обходится". Регистрация нового MAC пользователя проводится в 2 счёта, "нелегалы" отсеиваются как мухи от котлет - отдельно, безопасность и контроль пользовательского сегмента заметно повышаются.
>>Если IP и MAC используются для идентификации пользователя - это опять таки легко обходится. Если свитч с определённого порта пропускает определённый MAC и/или IP - это достаточно дорогой свитч. И его ж каждый раз надо конфигурировать, как только меняется что-то. Можно использовать много наворотов, но в итоге это неоправданно. Проще использовать 802.1x или PPPoE, технологии специально для этого сделанные.
--reply
С применением PPPoE метода авторизации пользователя аналогично применимо ограничение по MAC. Ограничивается не на свитче, следовательно их нет необходимости тысячи раз перепрограммировать. Масштабировать такую сеть значительно легче.
Выше спрашивали, - "Зачем писать смену в отдельный pre-up скрипт, а не ограничиться, например, дополнительной строкой в interfaces"
У меня возникла такая ситуация: есть очень капризный пакет network-manager в ubuntu 7.04, который перестает нормально работать с vpn, если хоть чуть-чуть тронешь interfaces.
2 jankkhvej
>>Верьте мне, я провайдер ;)
>>Привязка к MAC-адресу имено так легко обходится, а это уже означает, что защита не работает. Неудобств от привязки MAC-адреса для провайдера больше, а выгоды нет никакой.
>>Если IP и MAC используются для идентификации пользователя - это опять таки легко обходится. Если свитч с определённого порта пропускает определённый MAC и/или IP - это достаточно дорогой свитч. И его ж каждый раз надо конфигурировать, как только меняется что-то. Можно использовать много наворотов, но в итоге это неоправданно. Проще использовать 802.1x или PPPoE, технологии специально для этого сделанные.
вот, блин, после такого сообщения могу только сказать об уровне твоей сети - один-два дома.
ты еще добавь, что использование вланов - это очень неудобно в настройке и требует, опять же, дорогого оборудования...
в общем, не неси бред.
по нормальному все происходит так:
управляемые свитчи, два влана (на каждый район) - один для свитчей, второй для пользователей.
каждому пользователю прописывается его мак на порту свитча (и, понятое дело, что только эти пакеты свитч будет пропускать), тем самым гарантируется, что ни кто другой из любого места сети под этим маком в сеть не выйдет. на сервере же под этот мак спокойно привязывается интернет.
при нормальной техподдержке прописывание мака на порт - 5 (ну хорошо, 10) минут.
система же надежна как молоток.
говорю это как работавший в НОРМАЛЬНОЙ провайдерской конторе 2.5 года (и как админ, и как техподдержка).
интересно, здесь только с генты и убунты сидят?
У меня вопрос тоже по смене мак адреса. компа 2 а кабель один, приходится перетыкать каждый раз. в техподдержке уже тупо посылают потому как задолбал звонить им по 5 раз в день. Нужно сменить мак но то что тут написано не подходит. у меня Альтлинукс и там в /etc нет папок /network /interfaces или /conf.d
Куда что писать?
Ну почему только гента или убунта, я вот на федьке с арчем сижу :) Те же вопросы также решаются. Никаких проблем, только мелкие отличия :)
Анонимный пишет...
У меня hwaddress ether xxxxxxxxxxxx не работает по неизвестным причинам.
---
причина:
http://bugs.busybox.net/view.php?id=880
Спасибо за статью, как раз появилась необходимость подключения двух разных компов, а в сети идет привязка по маку и постоянно приходиться звонить в суппорт. Теперь проблема решена :)
Мне нужно подменить МАС спутникового ресивера.
Сервис меняет МАС в течение 5 минут, в течение 1 часа 3 раза бесплатно, 4 раз снимают 100 рублей. Но возникла потребность подключиться с другого компьютера с другим ресивером.
Присвоение МАС адреса делаю так: вписываю в .etc/rc.local
dvbnet -p 4175
ifconfig dvb0_0 10.251.55.372 netmask 255.255.255.255 broadcast 255.255.255.0 hw ether 00:02:CB:1$
Так вот вопрос, если я этот МАС пропишу для ресивера с Другим МАС адресом, он будет работать?
Просто хочу присоединиться к благодарностям автору за данную статью, спасибо. Все работает (комп и ноут, один кабель). Вот.
dncaps
> А зачем выносить скрипт? У меня запись сразу в /etc/network/interfaces :
/etc/conf.d/net из gentoo =
/etc/network/interfaces in debian
> у меня Альтлинукс и там в /etc нет папок /network /interfaces или /conf.d
> Куда что писать?
спроси девелоперов Альта. Меня честно говоря не очень радует находить подобные отличия.
Не знаю, правильно ли, но в ALT Linux 4.1 долговременно MAC можно изменить так:
1) Открыть для редактирования (с правами root) файл /etc/rc.d/rc.sysinit (в комментарии в начале файла сказано, что он "run once at boot time").
2) Вставить в конец файла строки
/sbin/ifconfig eth0 down #Выключаем eth0
/sbin/ifconfig eth0 hw ether 11:22:33:44:55:FF #Нужный Вам MAC
/sbin/ifconfig eth0 up #Включаем eth0
Особенность ALT Linux'a - основные утилиты собраны в /sbin
При этом IP адрес должен настраиваться через NetworkManager (апплет в правой части панели задач), а соединение должно привязываться к интерфейсу по MAC адресу. Сам MAC при настройке можно не указывать.
спасибо за статью...очень помогло!
В ALTLinux'е правильно скрипт ifup-pre положить в каталог /etc/net/ifaces/eth0/
Понято после чтения http://www.altlinux.org/Etcnet :).
А ещё лучше в этом случае содержание скрипта сделать следующим:
#!/bin/sh
eth=$(basename $(pwd))
ifconfig $eth hw ether < ваш_мак-адрес >
* Строку
eth=$(basename $(pwd))
нужно заменить строкой
eth=$(basename $(dirname $0))
для того, чтобы работало в ifup и в service network start :). (ну или оставить просто eth0 и не мучаться))
А что можно сделать, что бы при воровстве чужих, логинов и паролейот сервера статистики, при пользовании чужим тарифом тебя самого не запалили? Слышал что это палится по мак адресу это правда?только не подумайте этой бредятиной я не занимаюсь просто интересно
Подскажите как в Ubuntu 10.04 войти под рутом, чтобы изменить МАС. Ничего из вышеперечисленного не действует. Спасибо
Дык просто до команды набирать sudo, только там мак менять нужно в NetworkManager.
Mint Linux.
файлик в /etc/network/pre-up.d сделала, в /etc/network/interfaces новый МАС тоже вписала. Работает до первого ребута О_о
Что я упустила?
to Sakura:
на файлик pre-up.d поставить права на исполнение (x).
Также для Sakura:
У меня инет по маку и Линукс Минт 9. Стоит 2 сетевые, на той с которой беру инет(eth0) - разболтано гнездо... коннектор не держится. Решил перебросить провод на 2 сетевую(eth1), ибо звонить в техподдержку сообщать новый МАК лень. Сменил вот как:
sudo gedit /etc/network/interfaces(редактирование файла interfaces с правами рута)
в редакторе затем заменил(!именно заменил, а не дописал - если боитесь что-то испортить - сохраните содержимое в другом файле) содержимое на:
auto eth1
iface eth1 inet dhcp
pre-up ifconfig eth1 hw ether хх:хх:хх:хх:хх:хх(это МАК, подставишь)
и сохранил. перезагрузил сеть командой:
sudo /etc/init.d/networking restart
работает. перезагрузка проявила единственный минус - с панели пропал индикатор сети. как вернуть - пока не знаю, но сие не важно. главное инет работает не до первого ребута!
а вот подскажите пожалуйста: у меня всё прекрасно получилось сменить мак адрес. В сетевых соединениях пишет auto eth0 типа соединено, но инета нету. прописал там ещё статический ip, маску, шлюз и dns. все сделал правильно в этом я уверен, может просто чего то пропустил?
ПС: когда подключаешь кабель, автоматически не соединяется к auto eth0, а просто идёт какое то пподключение к ethernet, потом он не может соединиться и переходит в автономный режим))
помогите пожалуйста..
В 11-той mandrive прямо в networkmanager есть клонирование MAC. Каждому сетевому соеденению приписывается свой...
Спасибо автору! статья актуальна даже сейчас в 2012году!от себя хочу сказать что если что-то добавлять в файле /etc/network/interfaces:при
установленном network-manager-пустая трата времени.
Отправить комментарий