вторник, 5 июня 2012 г.

Если меняется имя ethernet-интерфейса

После установки Debian на свежекупленный ноутбук выяснилась одна очень неприятная вещь: при каждой загрузке имя ethernet-интерфейса менялось на eth(N+1). Причина - все время новый MAC-адрес. Причем, wlan-интерфейс такой беде подвержен не был.
На форумах мысли были разные: одни писали, что нагнулся eeprom, в котором хранился  MAC-адрес, другие же сетовали на udev и его желание сверить MAC с производителем (напомню, что это первые 3 байта адреса), а при несовпадении выдавать случайный адрес.

Костыли оказались довольно простыми:

  1. Смотрим /sys/class/net/текущее_имя_интерфейса/ifindex - в моем случае ifindex был равен 2
  2. Правим /etc/udev/rules.d/70-persistent-net.rules:
    1. удаляем все лишние интерфейсы кроме рабочих (у меня это были wlan0 и eth230)
    2. строчку описания eth приводим к виду SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{ifindex}=="2", NAME="eth0"
  3. Прибиваем mac-адрес к интерфейсу в /etc/network/interfaces
pre-up ifconfig eth0 hw ether 00:00:d3:d1:77:ea

Комментариев нет:

Отправить комментарий