Как изменить имя интерфейса с eth0 на eth1 в Debian?

Системный администратор Linux-систем довольно часто в своей работе сталкивается с upgrade`ом серверов. Чаще всего это установка дополнительных жеских дисков в уже существующий RAID-массив, добавление ОЗУ и добавление сетевых карт. Особенно актуально это тогда, когда используется на серверах какая-нибудь система виртуализации.

Вроде все просто: остановил сервер, снял крышку, установил сетевую карту, закрыл крышку и запустил операционную систему. Все просто, если системный администратор не перфекционист, который привык делать все правильно и последовательно, соблюдая стандарты предприятия.

Одной из таких задач можно назвать изменение имени интерфейса в Linux.

Ситуация

На одном сервере, который был тестовым полигоном для развертывания системы виртуализации, было установлено 3 сетевые карты. Имена у карт были соответственно eth0, eth1 и eth2.

После продолжительных истязаний было решено, что 2 сетевые карты, поддерживающие стандарт IEEE 802.3ad для агрегации каналов, переставить на боевой сервер. Так получилось, что этими сетевыми картами оказались eth0 и eth2.

Тестовый сервер после такого downgrade`а имеет одну сетевую карту, которая в операционной системе так и осталась называться eth1.

Вроде бы проблем нет, система будет работать в любом случае, но нашему админу-перфекционисту это не по душе. Да и к тому же это мы сейчас помним, а после отпуска можем и подзабыть ее название.

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

Меняем имя интерфейса в Debian

В Debian сделать это достаточно просто. Необходимо просто отредактировать конфигурационный файл /etc/udev/rules.d/70-persistent-net.rules, который хранит в себе настройки всех сетевых интерфейсов операционной системы.

nano /etc/udev/rules.d/70-persistent-net.rules

Подразумевается, что Вы вошли в систему от имени суперпользователя. В крайнем случае необходимо добавить в начало команды sudo.

Каждый сетевой интерфейс в этом файле имеет конфигурацию:

# PCI device 0x11ab:0x4363 (sky2) 
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="00:00:00:00:00:00",ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth1"

Где NAME=«eth1» – это принятое в ОС обозначение сетевого интерфейса, а ATTR{address}==«00:00:00:00:00:00» – это MAC-адрес.

Меняем на свои значения и перезапускаем систему.

На этом все, после запуска интерфейс будет доступен по новому имени.

P.S. Не забываем сделать такие же поправки и в /etc/network/interfaces.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен

Комментарии (0)