верните eth0, согласованное именование сетевых устройств

верните eth0, согласованное именование сетевых устройств

Я столкнулся с проблемой лицензирования программного обеспечения в RHEL 7.x, который теперь использует единообразное именование сетевых устройстви илиbiosdevnameи илипредсказуемые имена сетевых интерфейсов. Программное обеспечение не работало, имея имя сетевого интерфейса, похожее наenp0s31f6, он хочет видетьэт.

поэтому мое сетевое имя для одного сетевого порта на материнской плате называетсяenp0s31f6

Я могу внести изменения /etc/default/grub, GRUB_CMDLINE_LINUX="rhgb verbose ifnames=0 biosdevname=0"однако это не достигает конечной цели после выполнения а grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgи а rebootя все еще вижуenp0s31f6.

Пока не сделаю, nmcli connection modify enp0s31f6 connection.interface-name eth0а rebootзатем не увижу только eth0использую ifconfigи все работает.

Есть ли лучший и/или более простой способ обеспеченияэтэто название сетевых интерфейсов? Имея в виду, что это просто, если он один, то eth0, но когда у вас карта с четырьмя сетевыми картами, я просто хочу eth0..eth3, как в старые добрые времена.

Я думал, что имеяeth0иeth1иeth2иeth3было довольно хорошоединообразное сетевое именование устройств. Теперь я получаюенпэто ихyzчто для имен интерфейсов :(

решение1

Я попробовал udev несколько дней назад, и не узнал многого. Но в конце концов сработало одно:

/usr/lib/udev/rules.d/80-net-setup-link.ruleXXX

Я «переименовал» этот файл, и теперь у меня есть eth0.

Для перезапуска udev, я думаю, нужно было использовать udeavadm control -e.

Остановить тоже очень просто:

Обратите внимание, что systemd-udevd.service содержит Restart=always, и в результате эта опция перезапускает systemd-udevd. Если вы хотите остановить systemd-udevd.service, используйте следующее: systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service

Я был в таком отчаянии, что вставил это — оно работает! Потом я нашел файл 80-net-link...

"# не редактируйте этот файл, он будет перезаписан при обновлении."

(Я знаю. Я переименую его снова)

Это содержит:

ИМЯ=="", ENV{ID_NET_NAME}!="", ИМЯ="$env{ID_NET_NAME}"

Поэтому я заменил .rulesна .ruleXXX, и у меня снова «eth0».

Связанный контент