Вопросы и ответы

Изменение имени сетевого интерфейса Centos 7

06.05.2017 16:55

Все дело в том, что классическая схема именования сетевых интерфейсов присваивает им имена  «eth0», «eth1» и т.д. по порядку, однако данные имена жестко не привязываются к интерфейсу.

То есть, если у Вас несколько сетевых интерфейсов, после перезагрузки системы интерфейс который раньше назывался «eth0» может получить название «eth1».

Это влечет за собой ряд серьезных проблем, например если у Вас настроен  firewall, то изменение названия интерфейса приведёт к тому, что он перестанет корректно работать.

Решение

Для того, чтобы изменить имя интерфейса на стандартное “ethX”, необходимо отредактировать grub файл:

mcedit /etc/default/grub

Ищем строку “GRUB_CMDLINE_LINUX” и добавляем следующее: "net.ifnames=0 biosdevname=0"

Строка будет иметь вид вроде этого:

GRUB_CMDLINE_LINUX="rd.lvm.lv=rootvg/usrlv rd.lvm.lv=rootvg/swaplv crashkernel=auto vconsole.keymap=usrd.lvm.lv=rootvg/rootlv vconsole.font=latarcyrheb-sun16 rhgb quiet net.ifnames=0 biosdevname=0"

Обновим конфигурацию загрузчика grub при помощи команды grub2-mkconfig:

grub2-mkconfig -o /boot/grub2/grub.cfg

Переименуем файл настройки сетевого интерфейса:

mv /etc/sysconfig/network-scripts/ifcfg-enp0s1 /etc/sysconfig/network-scripts/ifcfg-eth0

Заменим в самом файле имя интерфейса с NAME=enp0s1 на NAME=eth0:

mcedit /etc/sysconfig/network-scripts/ifcfg-eth0
NAME=eth0

Перезагружаем систему.