LINUX.ORG.RU

Название интерфейса

 


0

3

Приветствую всех!
На машине два встроенных интерфейса. Установил debian 9.8. Один интерфейс называется «eno1», другой «rename3».
Мне всё равно как они называются, только вот беда, при перезапуске «rename3» может неожиданно превратиться в «rename2» со всеми вытекающими. После следующей перезагрузки он может опять стать «rename3».
Помогите победить.

Ответ на: комментарий от Deleted

dmidecode:

Handle 0x008C, DMI type 41, 11 bytes
Onboard Device
	Reference Designation: ServerEngines Pilot III
	Type: Video
	Status: Enabled
	Type Instance: 1
	Bus Address: 0000:03:00.0

Handle 0x008D, DMI type 41, 11 bytes
Onboard Device
	Reference Designation: Intel 82579LM VPRO
	Type: Ethernet
	Status: Enabled
	Type Instance: 1
	Bus Address: 0000:00:19.0

Handle 0x008E, DMI type 41, 11 bytes
Onboard Device
	Reference Designation: Intel 82574L
	Type: Ethernet
	Status: Enabled
	Type Instance: 1
	Bus Address: 0000:02:00.0

Handle 0x008F, DMI type 41, 11 bytes
Onboard Device
	Reference Designation: PCH Integrated SATA Controller
	Type: SATA Controller
	Status: Enabled
	Type Instance: 1
	Bus Address: 0000:00:1f.2
lspci:
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 Processor Family DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09)
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 05)
00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)
00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)
00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)
00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5)
00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation C204 Chipset Family LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Park [Mobility Radeon HD 5430]
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300/7300 Series]
03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection

speed_vm
() автор топика
Ответ на: комментарий от speed_vm

Рабочая версия: прошивка (BIOS/UEFI) сообщает линуксу о том, что в системе две встроенных сетёвки под номером «1». Соответственно, обе переименовать в eno1 невозможно и второе переименование фейлится.

Номер может браться из таблицы SMBIOS type 41, из поля Instance. В твоём случае во всех записях указан номер «1», что очевидно неправильно.

Плюс адреса у 82574L не совпадают… Так что ей номер «1» приходит либо от записи для видеокарты (это же видеокарта?), либо откуда-то ещё, например из ACPI. Документация говорит, что в случае ACPI смотреть его надо в /sys/bus/pci/devices/.../acpi_index. Попробуй ради интереса посмотреть, есть ли этот файл у тебя (у меня ни на одной системе такого нет):

find /sys -name acpi_index
Deleted
()
Ответ на: комментарий от speed_vm

У контроллера 82574L в lspci идентификатор 03:00.0, а в dmidecode - 0000:02:00.0. Это нормально?

Нет, это баг прошивки (как и два интерфейса с одним номером). Я бы попробовал обновить BIOS/UEFI и другие прошивки (если есть) до самой последней версии.

Если обновления нет/оно не помогло и это серверная система, то надо писать в техподдержку производителю. Это их баг, пусть чинят.

Deleted
()
Ответ на: комментарий от speed_vm

Нет такого файла.

Значит проблема только в корявых таблицах SMBIOS. Предлагаю такой план действий:

  • Обновить все прошивки, какие есть.
  • Если не помогло или обновлений нет:
    • Пнуть производителя материнки.
    • Чтобы жить с этим хоть как-то, выключить автоматическое переименование силами systemd/udev: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/, см. «I don’t like this, how do I disable this?». И привязать собственные постоянные имена по MAC-адресу (иначе eth* могут при перезагрузке местами меняться).
Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted
/sys/class/net/eno1/device/index:1
/sys/class/net/rename3/device/index:1
/sys/class/net/eno1/device/label:Intel 82579LM VPRO
/sys/class/net/rename3/device/label:ServerEngines Pilot III
speed_vm
() автор топика
Ответ на: комментарий от speed_vm

создай и пропиши в нем:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="мак-адрес устройства", 
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Запись в одну строку, Если две сетевых, продублируй строку.

e000xf000h
()
Последнее исправление: e000xf000h (всего исправлений: 1)

Попробуй https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterface... и https://www.freedesktop.org/software/systemd/man/systemd.link.html и, как упоминали выше, попробуй вручную выставить имена (с помощью systemd.link) интерфейсов с привязкой к mac-адресам.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от speed_vm

Не переименовались.

systemd стоит? поробуй обновить или пропиши в загрузчике параметр «net.ifnames=1», без кавычек.
тут почитай там все написано.

e000xf000h
()
Последнее исправление: e000xf000h (всего исправлений: 4)
Ответ на: комментарий от e000xf000h

Помогло создание /etc/udev/rules.d/70-persistent-net.rules, но после создания файла нужно сделать:

update-initramfs -u
После чего перезапустить.

speed_vm
() автор топика
Ответ на: комментарий от speed_vm

Там есть нюанс (у меня так было на кубунту 18.04): переименование по mac-у с использованием systemd.link срабатывает только если сделать также:

ln -s /dev/null /etc/systemd/network/99-default.link
Это отключает соответствующие настройки по умолчанию.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 2)
Ответ на: комментарий от rumgot

Вы были правы, заработало после создания симлинка.

Раз уж можно и так, и так сделать. Какие преимущества/недостатки у этих (systemd и udev) способов именования сетевых интерфейсов?

speed_vm
() автор топика
Ответ на: комментарий от speed_vm

А хрен его знает, если по честному. Для себя я выбрал вариант с systemd.link т.к. синтаксис проще.

rumgot ★★★★★
()
Ответ на: комментарий от speed_vm
/sys/class/net/eno1/device/index:1
/sys/class/net/rename3/device/index:1
/sys/class/net/eno1/device/label:Intel 82579LM VPRO
/sys/class/net/rename3/device/label:ServerEngines Pilot III

Бгг =). Да, индекс «1» для второй сетёвки взялся из записи от виртуальной BMCшной видеокарты, потому что в записи для неё был PCI-адрес, по факту занятый сетёвкой. И даже если бы использовалась правильная запись, там всё равно индекс «1».

Однозначный баг прошивки это.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.