Предсказуемые имена сетевых интерфейсов не должны изменяться при добавлении или удалении оборудования. Разве это не весь смысл схемы именования ???
Мой беспроводной интерфейс был назван wlp3s0.
Я установил звуковую карту интерфейса PCI Express x1 ASUS Xonar DX 7.1 в свободный слот PCI, и имя моего беспроводного интерфейса изменилось на wlp5s0.
Беспроводная карта находится в том же слоте PCI, в котором она находилась до установки звуковой карты, так почему бы изменить имя интерфейса ?!
Mobo - это GIGABYTE GA-970A-UD3, а беспроводная карта - ASUS PCE-N15. Система работает под управлением Arch Linux со стандартным ядром.
Я ищу разумное объяснение того, почему имя интерфейса изменится в этом сценарии. Если нет веской причины, по которой имя интерфейса может измениться, куда я могу отправить отчет об ошибке / кому я могу пожаловаться?
Это не имеет большого значения, и единственной конфигурацией, которую мне нужно было изменить, был мой сетевой профиль для netctl. Я просто думаю, что если «предсказуемое» имя сетевого интерфейса не предсказуемо, тогда они полностью потерпят неудачу в своей работе, и эта схема именования является бесполезным мусором! / напыщенная
источник
Ответы:
Короче говоря, в этом нет ничего нового; это ожидается / предназначено. Поэтому вам не нужно сообщать об ошибке, если только вы не хотите попросить вашего производителя ПК лучше поддерживать Linux (BIOS) или производителя оборудования (драйверы). Некоторые варианты, если вы хотите улучшить ситуацию для устройств с «горячей» заменой и / или вернуться к старой схеме именования:
net.ifnames=0
ядром cmdlinebiosdevname=1
командную строку ядра для включения в имена индексов, предоставленных BIOSudev
правил для пользовательских имен или измененных схем именованияln -s /dev/null /etc/systemd/network/99-default.link
Если вы используете
systemd
и / илиudev
, аргумент «предсказуемой схемы именования» может отличаться от предыдущего. На основе схемы именования интерфейса Wi - Fi, хотя, я предполагаю , что вы которые с помощью системы сsystemd
.Вы можете попробовать добавить следующий параметр загрузки к командной строке ядра, чтобы использовать «старое» соглашение об именах сетевых устройств. Тем не менее, я не совсем уверен, какие дополнительные эффекты, если таковые имеются, это может иметь помимо сохранения схемы именования для сетевых устройств.
Добавление его
/etc/default/grub
может облегчить сохранение и повторное использование этого параметра; опять же, если вы используетеgrub2
:Если
udev
при определении имен устройств используются микропрограмма устройства, местоположение и другие параметры, то, возможно, местоположение или что-то еще могло измениться внутри, в зависимости от того, как соответствующие устройства взаимодействуют друг с другом. Это, кажется, не так актуально, поскольку устройства представляют собой адаптер WiFi и звуковую карту. Тем не менее, это может быть связано с базовой структурой шины; что представляется актуальным, поскольку оба устройства подключены к слотам PCI.Дополнительная информация от FedoraDocs
8.1. Иерархия схем именования
По умолчанию systemd присваивает имена интерфейсам, используя следующую политику для применения поддерживаемых схем именования:
Схема 1: Имена, включающие индексные номера встроенного ПО или BIOS для встроенных устройств (пример: eno1), применяются, если эта информация из микропрограммы или BIOS применима и доступна, в противном случае используется схема 2.
Схема 2: Имена, содержащие встроенное ПО или BIOS, при условии, что индексы слотов горячего подключения PCI Express (пример: ens1) применяются, если эта информация из встроенного программного обеспечения или BIOS применима и доступна, в противном случае используется схема 3.
Схема 3: Имена, включающие физическое местоположение соединителя аппаратного обеспечения (пример: enp2s0), применяются, если применимо, в противном случае напрямую возвращаются к схеме 5 во всех других случаях.
Схема 4: Имена, содержащие MAC-адрес интерфейса (пример: enx78e7d1ea46da), по умолчанию не используется, но доступна, если пользователь выбирает.
Схема 5: Традиционная непредсказуемая схема именования ядра используется в случае сбоя всех других методов (пример: eth0).
Эта политика, описанная выше процедура, используется по умолчанию. Если в системе включено biosdevname, оно будет использовано. Обратите внимание, что включение biosdevname требует передачи
biosdevname=1
в качестве параметра командной строки, за исключением случая системы Dell, где biosdevname будет использоваться по умолчанию, пока оно установлено. Если пользователь добавилudev
правила, которые изменяют имя устройств ядра, эти правила будут иметь приоритет.Дополнительные ресурсы
источник