воскресенье, 6 января 2013 г.

Переименование сетевых интерфейсов в GNU/Linux

Беспроводной интерфейс отображается как wlan0, но нужно, чтобы он имел имя eth1. Как я могу переименовать устройство wlan0 в eth1, используя udev? Как я могу поменять имя eth0 на wan0 в GNU/Linux?

Для изменения имени Ethernet устройств лучше всего использовать udev. udev - это менеджер устройств для ядра Linux. Прежде всего, он управляет файлами устройств в /dev. Он является преемником devfs и hotplug, что означает, что он обрабатывает каталог /dev и все действия в пространстве пользователя (user space), связанные с добавлением/удалением устройств, в том числе загрузку прошивок.

Порядок сетевых интерфейсов в некоторых случаях может быть непредсказуем. Обычно, после перезагрузки он остается тем же, но не после перехода на новое ядро, добавления или замены сетевой карты. Например, имя rl0 может поменяться на wlan0, eth0 на eth2 и т. д.

Шаг № 1: Получение MAC адресов Ethernet устройств


Введите следующую команду:
# ifconfig -a | grep -i --color hwaddr
Образец вывода:
eth0      Link encap:Ethernet  HWaddr b8:ac:6f:65:31:e5
pan0      Link encap:Ethernet  HWaddr 4a:71:40:ed:5d:99
vmnet1    Link encap:Ethernet  HWaddr 00:50:56:c0:00:01
vmnet8    Link encap:Ethernet  HWaddr 00:50:56:c0:00:08
wlan0     Link encap:Ethernet  HWaddr 00:21:6a:ca:9b:10
Запишите MAC-адрес.

Шаг № 2: Переименование eth0 в wan0


Для переименования eth0 в wan0 отредактируйте файл 70-persistent-net.rules в каталоге /etc/udev/rules.d/:
# vi /etc/udev/rules.d/70-persistent-net.rules
Имена Ethernet устройств перечислены в этом файле следующим образом:
# PCI device 0x14e4:0x1680 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:65:31:e5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Найдите строку соответствующую сетевому интерфейсу из шага 1 (по MAC-адресу). В этом примере интерфейс eth0 будет переименован в wan0 (изменить NAME="eth0" NAME="wan0"):
# PCI device 0x14e4:0x1680 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:65:31:e5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"
Сохраните и закройте файл. Перезагрузите систему для тестирования изменений:
# reboot
Проверьте новые настройки:
# ifconfig -a
# ifconfig wan0
# ifconfig -a | less
# ip addr show

Оригинал (англ.): www.cyberciti.biz.