Замена MAC-адреса в современных Ubuntu’идах

Алексей Федорчук

Несколько лет назад я написал небольшую заметку про замену MAC-адреса. Недавно мне пришлось заниматься этим регулярно — во-первых, в связи с вознёй с нетбуком и опробованием на нём различных дистрибутивов. А во-вторых, к перечисленным ранее двум причинам добавилась третья: массовая установка Linux’а на не своим машины в домашних условиях.

Надо сказать, что последнее время на не свои машины я ставлю исключительно Ubuntu’иды. При установке дистрибутивов этого семейства желательно иметь  настроенное подключение к сети уже на стадии инсталляции — в частности, для скачивания языково-зависимых пакетов. У моего же провайдера аккаунт привязан к MAC-адресу машины. Так что процедура эта стала регулярной, а поскольку установка Linux’а грозит принять массовый характер, я и сочинил эту памятку — в первую очередь для себя, но, возможно, она пригодится и кому-нибудь ещё.

Для начала отмечу, что подмена MAC-адреса при установке  возможна только на дистрибутивах из серии *buntu-desktop — по крайней мере, как это сделать после загрузки с дисков серии *buntu-alternate, я так и не нашёл: команда ifconfig в тамошнем busybox’е отсутствует как класс. Ну а в уже установленной системе она делается без проблем — причём двумя способами.

Первый способ — из командной строки — был придуман в связи с установкой минимальной Ubuntu (вариант без графического интерфейса) и потому, что я до сих пор так и не разобрался в новой стартовой системе этого дистрибутива. В частности, в том, кто отвечает за настройку сетевых служб при отсутствии Иксов и какого-либо десктопа (в их присутствии эту роль берёт на себя Network Manager). Начинается он традиционно — остановкой сети:

$ sudo ifconfig eth0 down

Затем идёт собственно подмена «железного» адреса:

$ sudo ifconfig eth0  hw ether [MAC-адрес]

и рестарт сетевой службы:

$ sudo ifconfig eth0  up

Однако сети при этом не наблюдается, потому как не запущена служба DHCP — попытка сделать это как раньше, рестартом dhclient’а, даёт сообщение об ошибке.

Так что я решил проблему просто и грубо, как Александр Филиппович — переходом в однопользовательский режим:

$ sudo shutdown now

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

Повторяю, этот способ работает и в минимальной установке дистрибутива, и в LiveCD-окружении, и в системе, установленной обычным образом. Однако в двух последних случаях есть и второй способ — посредством упомянутого выше Network Manager’а.

Это — плагин, сидящий в трее. Если щелкнуть по его иконке правой кнопкой мыши, появится меню, где в числе прочих пунктов будет и такой: Edit Connections. Если выбрать его, появится панель с серией вкладок для различных сетевых соединений, проводных и беспроводных. Во вкладке Wired надо перейти к своему интерфейсу (по умолчанию — Auto eth0) и нажать кнопку Edit. После чего появится новая панель, в соответствующем поле  которой (оно так и называется — MAC address) остаётся просто тупо вбить новый адрес вместо старого). И в её же вкладке IPv4 Settings проверить, чтобы в поле Method стояло нужное значение. В моём случае это будет Automatic (DHCP), другой возможный вариант при использовании DHCP —Automatic (DHCP) addresses only, потребует указания ещё и DNS-сервера, домена и идентификатора клиента.

Выйдя из настроечной панели, следует вернуться к контекстному меню иконки Network Manager’а и выбрать в нём пункт Enable Networking — и всё, сеть волшебным образом оживает. Причём в установленной системе (но, разумеется, не в LiveCD-окружении) изменение MAC-адреса будет перманентным — в следующем сеансе ничего перенастраивать не придётся.

С помощью Network Manager’а можно настроить также VPN и DSL (что для меня не актуально), а самое главное WiFi-соединение (вкладка  Wireless).Но об этом я расскажу после того, как обзаведусь точкой доступа.

Замена MAC-адреса в современных Ubuntu’идах: 3 комментария

  1. В новой xubunt’е у меня не получилось установить vpn-соединение, мне показалось что аплет есть, а его системных потрахов нет. То есть вроде и меню есть и т.д., а активировать его нельзя :(

  2. Если память не изменяет, работает и такая конструкция:
    ifconfig eth0 hw ether … down

  3. Ответ на первый комментарий: пакет network-manager-pptp.

Обсуждение закрыто.