Итак, если вам хочется вернуть старое именование интерфейсов, то в файле конфигурации grub
/etc/default/grub добавьте в параметр GRUB_CMDLINE_LINUX дополнительные значения net.ifnames и biosdevname:GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"У вас уже могут быть указаны какие-то другие значения. Новые добавьте через пробел. Изначально их вообще может не быть, а параметр указан вот так:
GRUB_CMDLINE_LINUX=""Или могут быть какие-то другие значения:
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet"После этого нужно обновить загрузчик. В зависимости от дистрибутива, это может выглядеть по-разному. В deb дистрибутивах то выглядит так:
# dpkg-reconfigure grub-pc В rpm уже точно не помню, специально не проверял, но вроде бы раньше это выглядело так:
# grub2-mkconfig -o /boot/grub2/grub.cfgКак в современных версиях уже не знаю, так как не использую их.
После этого нужно везде в сетевых настройках изменить имена интерфейсов со старых на новые. Для Debian достаточно отредактировать
/etc/network/interfaces. Не забудьте про firewall, если у вас правила привязаны к именам интерфейсов. Теперь можно перезагружать сервер. Загрузится он со старыми названиями сетевых интерфейсов.
Попутно задам вопрос, на который у меня нет ответа. Я не понимаю, почему в некоторых виртуалках по умолчанию используется старое именование сетевых интерфейсов, а в некоторых новое. Причём, это не зависит от версии ОС. У меня прямо сейчас есть две одинаковые Debian 11, где на одной eth0, а на другой ens18. Первая на HyperV, вторая на Proxmox. Подозреваю, что это зависит от типа эмулируемой сетевухи и драйвера, который используется в системе.
#linux #network