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

В CentOS7 имя сетевого интерфейса имеет вид “enpXsX” вместо привычного “ethX”. Сначала немного теории о том, почему так происходит, а затем как это изменить.

Почему так происходит

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

Боролись с эти по разному, привязывали к MAC-адресу устройства, пытались привязывать к слоту на материнской плате используя «biosdevname», использовали указанные пользователем имена (например: «internet0», «dmz0», т.п.), но у каждой схемы есть свои недостатки.

В связи с эти в Red Hat Enterprise Linux 7 и соответственно в Centos 7 решено было назначать имена сетевого интерфейса на основе иерархии различных схем именования. То есть, по умолчанию systemd будет поочередно применять схемы именования остановившись на первой доступной и применимой.

Преимущество в том, что имена присваиваются в автоматическом режиме, полностью предсказуемы и они остаются неизменными, даже если аппаратные средства добавлены, изменены или удалены. Недостатком является то, что такие имена труднее читать (например: enp5s0), чем традиционно используемые eth0 или wlan0.

Решение

Однако не всем подходит выданное системой название. Для того, чтобы изменить имя интерфейса на стандартное “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

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

Micro
Author: Micro

///

Поделиться в социальных сетях
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии