How-to`s — Изменение mac адреса и номера eth в Ubuntu 9.04/8.10
После установки Ubuntu 9.04 всплыл старый баг со встроенными сетевыми картами: значения mac адреса и номера eth меняются после каждой перезагрузки компьютера. Поднять обычное ADSL-соединение с помощью Network Manager'а в этом случае не проблема, а вот нечто более сложное (например, настроить маршрутизацию и держать сразу два подключения - прим. автора) — уже проблема, т.к. после каждой перезагрузки все конфиги приходят в негодность по описанной выше причине.
Решение проблемы достаточно простое: мы запретим системе автоматически прописывать mac адреса и пропишем их «ручками».
Лёгким движением руки перемещаемся в папку /etc/udev/rules.d/ и ищем там файл 75-persistent-net-generator.rules. В папке я его не обнаружил и поэтому просто скопировал из /lib/udev/rules.d/:
Открываем файл /etc/udev/rules.d/75-persistent-net-generator.rules любимым текстовым редактором и закомментирываем все строчки. Получаем примерно следующее:
Теперь правим файл /etc/udev/rules.d/70-persistent-net.rules. Его надо почистить и оставить следующее:
00:1B:38:27:FB:A3 — это mac адрес. Прописываем свой.
Последний штрих. Редактируем /etc/network/interfaces. Вбиваем свои настройки. Содержимое моего файла после правки:
Всё. Перезагружаемся и проверяем.
P.S.: я надеюсь, про back up файлов никто не забыл? :)
Оригинал: Изменение mac адреса и номера eth в Ubuntu 9.04/8.10
Решение проблемы достаточно простое: мы запретим системе автоматически прописывать 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"
== вывод сокращён для экономии места ==
#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"
# 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
… … … (дальше пошла маршрутизация, синхронизация времени и т.п.)
# 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 файлов никто не забыл? :)
Оригинал: Изменение mac адреса и номера eth в Ubuntu 9.04/8.10