mmaxsim.ucoz.ua
Меню сайта
Категории раздела
Ubuntu [69]
Ubuntu
DLE [7]
баги. фиксы и тд
Windows [6]
eyeOS [3]
FreeBSD [5]
FreeBSD
Linux [0]
VMware ESXi [7]
Amazon kindle [0]
Debian [4]
Trimax TR-2012HD [1]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2010 » Август » 26 » Замена MAC-адреса: зачем и как?
22:07
Замена MAC-адреса: зачем и как?
В большинстве домашних и городских сетей используется доступ через DHCP, с привязкой внутреннего IP-адреса к MAC-адресу сетевой карты. Что само по себе не хорошо и не плохо - ибо в большинстве случаев пользователя никак не касается: при смене машины (и сетевой карты) достаточно позвонить провайдеру для перепривязки. Тем не менее, можно представить себе минимум две ситуации, когда смена MAC-адреса пользователем становится необходимостью - без всякого злого умысла.

1. потребность выходить в сеть попеременно с двух машин, при отсуствии возможности (или желания) налаживать сеть внутреннюю;
2. наличие двух операционок и двух сетевых карт, каждая из которых поддерживается только одной операционкой.

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

А во второй ситуации я оказался недавно при покупке новой машины: встроенная сетевая от чипсета nForce250 (не Ultra) прекрасно поддерживалась Linux'ом (при должным образом собранном ядре), но категорически не виделась ни во FreeBSD, ни в DragonFly. С извлеченной же из загашников NE2000-совместимой карточкой неизвестного (подозреваю, очень китайского) генезиса ситуация была почти обратная: она нормально опознавалась в DragonFly, но в Linux'е... не то чтобы совсем не работала, но время от времени куда-то девалась, так что и назвать это работой язык тоже не поворачивался.

Конечно, все эти проблемы были решаемы (и в конечном счете решены), но в тот момент мне требовался доступ в Интернет - и немедленно (дело происходило в выходные дни, что усложняло ситауцию). И я вспомнил о возможности подмены MAC-адреса, предоставляемой волшебной палочкой сетевика-POSIX'ивиста - утилитой ifconfig.

Начнем с Linux'а - проверялось на дистрибутивах CRUX и Archlinux, при как бы настроенной сети. Как бы - потому что все, касающееся старта DHCP, было прописано в конфигах должным образом. Но поскольку MAC-адресы карты не совпадал с зафиксированным у провайдера, старт этот при загрузке системы завершался ошибкой. В чем легко было убедиться, запустив ifconfig без параметров.

Оказалось, что во исправление положения всего то требовалась простая команда (опчерпнуто из man ifcongif):

$ ifcongif eth0 hw ether 00:00:00:00:00:00

где eth0 - имя сетевого интерфейса, hw (от hardware) - опция, предписывающая сменить "железный" идентификатор карты, ether - указание на класс сетевых устройств, а нули заменяются реальным MAC-адресом. После чего оставалось только перезапустить dhcp-демона. Как - зависит от дистрибутива. В Archlinux (как и в CRUX) подходящим способом оказался такой:

$ /etc/rc.d/networks restart

А для того, чтобы не проделывать все эту процедуру после каждой перезагрузки, достаточно прописать приведенную выше команду ifconfig с соответствующими параметрами в какой-либо из подходящих стартовых скриптов, отрабатываемых до запуска dhcp-демона. В моем случае подходящим оказался тот же /etc/rc.d/networks, отвечающий в Archlinux (и в CRUX) за поднятие сети вообще.

В BSD-системах - все чуть-чуть иначе: различия связаны и с именами сетевых интерфейсов, и с форматом команды ifconfig, и с особенностями скриптов инициализации. Для начала - там не стандартного имени интерфейса, eth#, а есть множество интерфейсных устройств, имена которых более-менее коррелируют с используемым в сетевой карте чипом. В моем случае (как я уже говорил, для BSD использовалась карта из семейства NE2000), имя ему было - ed0. Далее, опции hw в BSD'шном варианте ifconfig нет - достаточно указать класс устройств и собственно адрес. В результате команда приобретает такую форму:

$ ifconfig ed0 ether 00:00:00:00:00:00

После чего опять же перезапуск dhcp-службы. Что делается так:

$ /etc/rc.d/dhclient restart

Ну и увековечить переопределение MAC-адреса можно в том же файле - дописав в самое его начало приведенную выше строку с командой ifconfig.
Категория: Ubuntu | Просмотров: 1268 | Добавил: Maxs | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Календарь
«  Август 2010  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024