Если информация была полезной для вас, вы можете поблагодарить за труды Юmoney: 41001164449086

Переименовать, изменить enp2s0 на eth0, или udev - верните всё как было

После обновления systemd (частью которого является udev) до версии 197 и выше, многие заводчики пингвинов были мягко говоря не довольны новым способом именования сетевых интерфейсов, например eth0 стал вдруг  enp2s0. Хороша новая схема имен или нет, каждый решает для себя сам, я бы хотел просто рассказать о том как вернуть старые названия сетевым интерфейсам например: eth0, eth1, wan0, ну и т. д.

 Итак перед началом несколько слов о теории.

systemd является системой инициализации, используемой многими дистрибутивами Linux. udev - это скажем так менеджер устройств в linux. По сути он является частью systemd. Именно он отвечает за название сетевых интерфейсов в пространстве имен пользователя. Т.е. С точки зрения пользователя мы работаем с enp2s0 или lan0, а с точки зрения ядра linux это всё тот же eth0.

Начиная с версии systemd 197 был принят новый способ обозначения сетевых интерфейсов. О новой схеме давать имена сетевым интерфейсам вы можете найти довольно много информации в сети.

Я бы хотел бы рассказать о возможности назначения имен в ручном режиме.

Чтоб назначить имя сетевому интерфейсу в ручную достаточно создать правило для udev.

Правила формируются в файлах расположенных по адресу:
/lib/udev/rules.d (возможно также /etc/udev/rules.d, в зависимости от дистрибутива)

Создадим файл 79-net-name.rules, следующего содержания:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="08:00:27:17:c3:72", NAME="eth0"

Соответственно, в вашем случае необходимо заменить MAC адрес (08:00:27:17:c3:72) на свой, а также выбрать желаемое имя сетевого интерфейса (eth0).

Таких правил в одном файле может быть несколько. Соответственно для каждого сетевого интерфейса прописываем свою строчку, меняя MAC адрес и имя интерфейса.

Перезагружаемся и радуемся старым и привычным именам сетевых интерфейсов.

 

На что здесь особо следует обратить внимание:

1. Название файла должно начинаться с номера меньше 80, для того чтоб правило обрабатывалось до стандартного правила:

80-net-name-slot.rules (либо 80-net-setup-link.rules, в зависимости от версии udev).

Это правило как раз и даёт названия вида enp2s0.

2. MAC адрес адаптера пишется в нижнем регистре, если его написать в верхнем регистре, например 08:00:27:17:С3:72, то правило не будет обработано.

В заключении, пожалуй ещё расскажу о том как отключить стандартные правила udev.

Проще всего это сделать добавив строчку net.ifnames=0 к параметрам загрузки ядра.

Если у вас ещё остались вопросы, или вы хотите поделиться информацией оставляйте свои комментарии.

Добавить комментарий


Если информация была полезной для вас, вы можете поблагодарить за труды Юmoney: 41001164449086