В данной статье будет рассмотрен процесс установки правил 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