Created attachment 6685 [details] Приоритет признака ID_NET_NAME_PATH при переименовании интерфейса На интеловских серверных платформах udev не может назначить уникальные имена отдельным "набортным" интерфейсам. В /lib/udev/rules.d/80-net-name-slot.rules сначала имя назначается по признаку ID_NET_NAME_ONBOARD, затем по ID_NET_NAME_SLOT и в последнюю очередь по ID_NET_NAME_PATH В результате udevd пытается назначить имя eno1 двум интерфейсам. Вот пример свойств ID_NET_NAME_* двух интерфейсов в udev: ID_NET_NAME_MAC=enx001e67ce3321 ID_NET_NAME_ONBOARD=eno1 ID_NET_NAME_PATH=enp2s0 ID_NET_NAME_MAC=enx001e67ce3321 ID_NET_NAME_ONBOARD=eno1 ID_NET_NAME_PATH=enp0s25 Решение: поставить ID_NET_NAME_PATH первым в списке. Патч прилагаю. Другой вариант решения - поставить ID_NET_NAME_ONBOARD последним. Считаю его менее надёжным. Ошибка возникает только в случае двух разных чипов сетевых контроллеров. Если установлен один многоканальный чип, ID_NET_NAME_ONBOARD у его интерфейсов различаются.
С такими масштабными предложениями наверное лучше обращаться в апстрим. К тому же, это очень напоминает дубль уже известных багов с прошивками от вендоров (см. например по ссылке). Резюме апстрима такое что нужно жаловаться вендору материнской платы и возможно, фильтровать в ядре. Как обходной путь предлагается дать udev-у хинт о том, как называть какие устройства, например по используемому драйверу.
А udev-rule-generator-net ситуацию не спасает ?
Выбирайте любую политику именования интерфейсов, как вам нравится. просто добавьте настройки в /etc/systemd/network/99-default.link Документация тут. https://www.freedesktop.org/software/systemd/man/systemd.link.html
(In reply to comment #3) > Выбирайте любую политику именования интерфейсов, как вам нравится. > просто добавьте настройки в > /etc/systemd/network/99-default.link > Документация тут. > https://www.freedesktop.org/software/systemd/man/systemd.link.html Во время создания тикета systemd отсутствовал в системе.
Эти настройки влияют на udev, и работают в отсутствии systemd.
(In reply to comment #5) > Эти настройки влияют на udev, и работают в отсутствии systemd. А почему они тогда в /etc/systemd/network ? Это путаница получается.