Переименование сетевых интерфейсов при помощи udev-правил

В данной статье будет рассмотрен процесс установки правил udev с целью переименования сетевых интерфейсов на виртуальных серверах под управлением операционных систем семейства Linux.

Что это такое?

udev - менеджер устройств в ОС Linux, выполняет важную задачу - управляет файлами всевозможных устройств в директории /dev и действиями при подключении или отключении периферии.

Терминология

Нода устройства. В unix-подобных операционных системах каталог /dev используется для хранения файлов, называемых нодами, и соответствующим подключенным внешним устройствам. Например, прикладные приложения используют ноды для взаимодействия с периферией.

Файлы конфигурации правил

Правила именования подключаемых устройств и возможные дополнительные действия находятся в файлах конфигурации менеджера расположенных в каталоге /etc/udev/rules.d и имеющих расширение .rules. Правила занимают строго одну строку, а строки начинающиеся с символа # - комментарии. Несколько правил в разных файлах могут принадлежать разным устройствам.

Примечание: udev считывает правила из файлов в алфавитном порядке, то есть чтобы ваши правила были применены до правил по умолчанию, необходимо прописать их в файле с соответствующим названием.

Настройка сетевых интерфейсов

На вашем виртуальном сервере всегда имеется несколько сетевых интерфейсов, которые используются для выхода в глобальную или локальную сеть. Посмотреть их имена и настройки параметров можно с помощью команды ifconfig: ifconfig -a

По умолчанию ноды интерфейсов не создаются. Проверить наличие ноды можно с помощью команды udevadm: udevadm info -n /sys/class/net/<имя_интерфейса>

Например: udevadm info -n /sys/class/net/ens192

Создадим правило udev для сетевого интерфейса, в нашем примере мы будем использовать ens192. В каталоге /etc/udev/rules.d создадим файл с именем 1-user-udev.rules, в который лучше всего записывать ваши собственные правила: touch /etc/udev/rules.d/1-user-udev.rules

С помощью текстового редактора, например nano, откройте файл для редактирования: nano /etc/udev/rules.d/1-user-udev.rules

Вставьте следующую строку: KERNEL=="<имя интерфейса>", ATTR{address}=="<mac адрес>", NAME=”удобное для вас имя"

Например: KERNEL=="ens192", ATTR{address}=="00:50:56:01:27:c2", NAME="wan"

Примечание: MAC-адрес интерфейса можно найти в выводе команды ifconfig справа от параметра HWaddr (на изображении выше подчеркнуто).

После внесенных изменений необходимо отредактировать файл /etc/networking/interfaces, откройте его с помощью текстового редактора, например nano: nano /etc/network/interfaces

Замените все вхождения имени вашего интерфейса на то, которое вы указали в параметре NAME 389 160

До После

Теперь необходимо перезагрузить сервер для того чтобы изменений вступили в силу: sudo reboot

После перезагрузки подключитесь к серверу по ssh и проверьте изменения с помощью команды ifconfig: ifconfig -a

 

Последнее обновление: 07.12.2018