Изменение mac адреса и номера eth в Ubuntu 9.04/8.10После установки Ubuntu 9.04 всплыл старый баг со встроенными сетевыми картами: значения mac адреса и номера eth меняются после каждой перезагрузки компьютера. Поднять обычное ADSL-соединение с помощью Network Manager'а (housewifes-way) в таком случае не проблема, а вот нечто более сложное (например, настроить маршрутизацию и держать сразу два подключения — прим. автора) — уже проблема, т.к. после каждой перезагрузки все конфиги приходят в негодность по описанной выше причине.

Решение проблемы достаточно простое: мы запретим системе автоматически прописывать mac адреса и пропишем их «ручками».

Шаг 0 Ubuntu 8.10 опускается)

Лёгким движением руки перемещаемся в папку /etc/udev/rules.d/ и ищем там файл  75-persistent-net-generator.rules. В папке я его не обнаружил и поэтому просто скопировал из /lib/udev/rules.d/:

sudo cp /lib/udev/rules.d/75-persistent-net-generator.rules /etc/udev/rules.d/75-persistent-net-generator.rules

Шаг 1

Открываем файл /etc/udev/rules.d/75-persistent-net-generator.rules любимым текстовым редактором и закомментирываем все строчки. Получаем примерно следующее:

# do not edit this file, it will be overwritten on update

== вывод сокращён для экономии места ==

#ACTION!="add", GOTO="persistent_net_generator_end"
#SUBSYSTEM!="net", GOTO="persistent_net_generator_end"

# ignore the interface if a name has already been set
#NAME=="?*", GOTO="persistent_net_generator_end"

# device name whitelist
#KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end"

# ignore Xen virtual interfaces
#SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"

== вывод сокращён для экономии места ==

# see if we got enough data to create a rule
#ENV{MATCHADDR}=="«, ENV{MATCHID}==»", ENV{INTERFACE_NAME}=="«, GOTO=»persistent_net_generator_end"

# default comment
#ENV{COMMENT}=="«, ENV{COMMENT}=»net device ($attr{driver})"

# write rule
#DRIVERS=="?*", IMPORT{program}="write_net_rules"

# rename interface if needed
#ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"

#LABEL="persistent_net_generator_end"

Шаг 2

Теперь правим файл /etc/udev/rules.d/70-persistent-net.rules. Его надо почистить и оставить следующее:

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x10de:0x03ef (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}==«00:1B:38:27:FB:A3», ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

00:1B:38:27:FB:A3 — это mac адрес. Прописываем свой.

Шаг 3

Последний штрих. Редактируем /etc/network/interfaces. Вбиваем свои настройки. Содержимое моего файла после правки:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces (5).

# The loopback network interface
auto lo eth0
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet static
name eth0
address 192.168.1.2
… … … (дальше пошла маршрутизация, синхронизация времени и т.п.)

Всё. Перезагружаемся и проверяем.
P.S.: я надеюсь, про back up файлов никто не забыл? :)

А ты подписался на RSS?!

Нравится эта статья? Подпишитесь на RSS-ленту и получите еще больше классной информации!