Автор Тема: имена сетевых интерфейсов меняются местами  (Прочитано 8969 раз)

0 Пользователей и 1 Гость просматривают эту тему.

vladimirse

  • Гость
Доброго времени суток, уважаемые!
Заметил такую вот штуку, если на машине несколько сетевых карт и одна из них получает адрес по dhcp, а другая имеет статический адрес, то после перезагрузки их имена меняются местами. Та, что была eth0 стала eth1 и наоборот. Проявляется на squeeze и wheezy.
Кто сталкивался подскажите как лечить.
 

Оффлайн ihammers

Re: имена сетевых интерфейсов меняются местами
« Ответ #1 : 21 Февраля 2012, 17:52:45 »
Доброго времени суток, уважаемые!
Заметил такую вот штуку, если на машине несколько сетевых карт и одна из них получает адрес по dhcp, а другая имеет статический адрес, то после перезагрузки их имена меняются местами. Та, что была eth0 стала eth1 и наоборот. Проявляется на squeeze и wheezy.
Кто сталкивался подскажите как лечить.
У меня всё нормально работает.  Проверяйте следующие вещи: udev & mac-адреса.
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

vladimirse

  • Гость
Re: имена сетевых интерфейсов меняются местами
« Ответ #2 : 22 Февраля 2012, 09:48:57 »
Mac-адреса прописаны жестко в настройках интерфейсов.
Что смотреть в udev? Сам пакет стоит, остальные девайсы функционируют исправно. 
 

Оффлайн ihammers

Re: имена сетевых интерфейсов меняются местами
« Ответ #3 : 22 Февраля 2012, 17:32:01 »
Mac-адреса прописаны жестко в настройках интерфейсов.
Что смотреть в udev? Сам пакет стоит, остальные девайсы функционируют исправно. 
Смотреть как описаны интерфейсы.
less /etc/udev/rules.d/70-persistent-net.rules
PS: если что, выдавайте содержание файла.
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

vladimirse

  • Гость
Re: имена сетевых интерфейсов меняются местами
« Ответ #4 : 28 Февраля 2012, 10:05:48 »
less /etc/udev/rules.d/70-persistent-net.rules
У меня этого файла вообще нет.
 

Оффлайн ihammers

Re: имена сетевых интерфейсов меняются местами
« Ответ #5 : 28 Февраля 2012, 16:27:56 »
less /etc/udev/rules.d/70-persistent-net.rules
У меня этого файла вообще нет.
А что есть в директории?
ls /etc/udev/rules.d/
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

vladimirse

  • Гость
Re: имена сетевых интерфейсов меняются местами
« Ответ #6 : 29 Февраля 2012, 11:11:05 »
ls /etc/udev/rules.d/

Только файл 70-persistent-cd.rules
Как я понял имеющий отношение ко всякого рода оптическим приводам.
 

Оффлайн ihammers

Re: имена сетевых интерфейсов меняются местами
« Ответ #7 : 29 Февраля 2012, 21:04:38 »
ls /etc/udev/rules.d/

Только файл 70-persistent-cd.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 r8169
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:22:21:89:ca", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 8139too
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:84:9e:07:ed", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

И не забудьте исправить mac адреса.  Как вариант попробуйте его генерировать.
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

vladimirse

  • Гость
Спасибо, большое! Буду тестить.
Позже отпишусь.
А где бы вообще почитать про udev, может подкините нормальную статейку?
 

Оффлайн Malaheenee

Все мы где-то, когда-то и в чем-то были новичками.
 

Оффлайн orlyanuch

Хорошая статья на русском:
UDEV: Как установить свои правила
И ещё есть небольшой репозиторий русскоязычных манов. Там man udevadm, udevinfo на русском.
Edimus, ut vivamus; nоn vivimus, ut edamus.
 

Оффлайн vladimir_ar

Re: имена сетевых интерфейсов меняются местами
« Ответ #11 : 28 Августа 2012, 16:36:51 »
Цитировать
Spoiler: ShowHide

Сетевые интерфейсы
Даже если сетевой интерфейс называется по имени, как правило, он не имеет связанной с ним ноды устройства. Невзирая на это, процесс установления правил практически идентичен.
Имеет смысл просто указать MAC адрес вашего интерфейса в правиле, так как он уникален. Тем не менее, убедитесь, что используете тот самый MAC адрес, что и в udevinfo, потому что, если вы не приведете адрес точно, то правило работать не будет.

# udevinfo -a -p /sys/class/net/eth0


looking at class device '/sys/class/net/eth0':
    KERNEL=="eth0"
    ATTR{address}=="00:52:8b:d5:04:48"
Вот мое правило:
KERNEL=="eth*", ATTR{address}=="00:52:8b:d5:04:48", NAME="lan"

Вам придется перезагрузить сетевой драйвер, чтобы это правило заработало. Можете либо выгрузить, и снова загрузить модуль, либо просто перезагрузить систему. Также придется перенастроить систему на использование "lan" вместо "eth0". Я имел определенные трудности, добиваясь этого (интерфейс не был переименован), пока я совершенно не отказался от ссылок на eth0. После этого, вы сможете использовать "lan" вместо "eth0" во всех вызовах к ifconfig и прочим утилитам.

Если использовать это (или подобное решение), какой МАС указывать? Поскольку при инициализации интерфейсов я меняю МАС-адрес сетевой на нужный мне.
Почему спрашиваю - вчера был неприятно удивлен - загружался на домашнем компе с USB-винта для обновления системы и из софты кой-чего поставить. Для простоты подключался к нету через карточку с МАС-м, прописанным у провайдера (на компе работаю через другую по ряду причин с подменой МАС-а). На USB стоит третьий гном и работа через Network manager. В общем, перезагрузился обратно и получил плюху в виде измененного с eth1 на eth2 интерфейса. В файле
/etc/udev/rules.d/70-net_persistent_names.rules
получил еще одну запись с реальным МАС этой сетевой xx:xx:xx:xx:5d (была запись с подменным xx:xx:xx:xx:50). Стер лишнее, перегрузился - один фиг, подтягивает eth2. Повторил несколько раз - безрезультатно. Плюнул, исправил конфиги на  eth2, выключил комп и лег спать. Не передать мое офигение, когда утром интерфейс опять был eth1. Исправил все обратно.

Вот и спрашиваю. И еще непонятен момент - udev подтягивает в правила сетевые и с подмененным МАС-ом? Или он при перезагрузке (не выключении) может сохранятся (иначе каким образом у меня в правилах udev оказалась запись с подменным МАС - руками не прописывал, только стирал лишние строки  и менял имя интерфейса)?
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн kobzar

Re: имена сетевых интерфейсов меняются местами
« Ответ #12 : 28 Августа 2012, 16:56:17 »
Вобще как то мрачно..
а меняютка каждый раз посе перезагрузки ?:
то есть ошибка циклическая ?
Если поменять настройки для карточек местами ?
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.
 

Оффлайн vladimir_ar

Re: имена сетевых интерфейсов меняются местами
« Ответ #13 : 28 Августа 2012, 17:04:59 »
Нет, стояли и стоят стабильно. Именно после попытки работы в сети с USB-системы. Причем именно попытки - выхода в инет я так и не добился, хотя от провайдера адреса получил. Но уже ночть была и разбираться я не стал. А перезагрузка обратно в домашнюю систему дала такой фортель. Вот и думаю, как прибить гвоздями имена интерфейсов.

Я все же так понимаю, что МАС-и карт физические прописать нужно (а не мои подменные)?
Debian Testing, kernel 3.16-2-amd64, OpenBox
AMD A8-3750 / 16Gb RAM / ATI HD6550D (onboard) / Sound ASUS Xonar - DS
_______________________________
Debian Testing, kernel 3.14-2-amd64, OpenBox
HP-655 AMD E1 / 8Gb RAM / ATI HD7310M
 

Оффлайн kobzar

Re: имена сетевых интерфейсов меняются местами
« Ответ #14 : 28 Августа 2012, 17:30:16 »
Я думаю ето из за того что вы ка краз с флешки грузились лна могла банально в своем другом порядке поросить интерфейсы...
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.
 

Теги: