SCROLL
Среднее время на прочтение: 2 мин.

Именование сетевых интерфейсов в Debian 9. Как переименовать сетевой интерфейс. Как вернуть старое именование сетевых интерфейсов.

При переходе на использование Debian 9, обнаружил что имена сетевых интерфейсов имеют странный вид, вместо привычных eth0.. я вижу ens32.

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:56:92:95:88 brd ff:ff:ff:ff:ff:ff
    inet 10.10.16.22/8 brd 10.255.255.255 scope global ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe92:9588/64 scope link
       valid_lft forever preferred_lft forever

Как оказалось что в Debian 9 Stretch ввели новый стандарт схемы именования сетевых интерфейсов. Новый метод использует предоставляемый BIOS указатель номеров, а затем пытается использовать номера слотов PCI-карт, что приводит к созданию имён вида ens0 или enp1s1 (ethernet), а также wlp3s0 (wlan).

 

Поэтому во время загрузке системы, выполняется переименование интерфейсов согласно новой методике, в моем случае с eth0 на ens32:

dmesg | grep -i eth

[ 1.207176] e1000 0000:02:00.0 eth0: (PCI:66MHz:32-bit) 00:50:56:92:95:88
[ 1.207184] e1000 0000:02:00.0 eth0: Intel(R) PRO/1000 Network Connection
[ 1.208713] e1000 0000:02:00.0 ens32: renamed from eth0

[stextbox id=’warning’]Хочу обратить внимание, что при обновлении с предыдущей версии (Debian 8 Jessie) имена сетевых интерфейсов, не будут изменены согласно новой методике.[/stextbox]

 

Вернуть старые имена для интерфейсов

В файле загрузчика (/etc/default/grub), необходимо понять значение строки:

GRUB_CMDLINE_LINUX=""

на

GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

 

После этого применяем сделанные изменения в загрузчике, выполняем команду:

grub-mkconfig -o /boot/grub/grub.cfg

 

Перезагружаем систему.

 

Переименование интерфейсов

Для того чтобы временно переименовать интерфейс, необходимо сперва его выключить, задать другое имя и снова активировать его:

ip link set ens32 down
ip link set ens32 name eth0
ip link set eth0 up

[stextbox id=’warning’]Данное изменение имени интерфейса временное, после перезагрузки системы, сделанные изменения пропадут.[/stextbox]

 

 

Для того чтобы переименовать интерфейс на всегда, то необходимо создать правило:

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

 

К примеру, интерфейс с MAC-адресом, необходимо переименовать в eth0, пишем следующее:

# interface with MAC address "00:50:56:92:95:88" will be assigned "eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:92:95:88", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

 

После перезагрузки системы или службы сети, изменения в именование интерфейса будет применены.

 

[stextbox id=’alert’]Важно помнить, что после всех сделанных изменений, необходимо так же внести изменения в конфигурационный файл /etc/network/interfaces, изменить старые имена интерфейсов на новые.[/stextbox]

 

Обсуждение

0 комментариев

Нет комментариев.