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

При переходе на использование Debian 9 Stretch, обнаружил что имена сетевых интерфейсов имеют странный вид, вместо привычных 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
Хочу обратить внимание, что при обновлении с предыдущей версии (Debian 8 Jessie) имена сетевых интерфейсов, не будут изменены согласно новой методике.

 

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

В файле загрузчика (/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
Данное изменение имени интерфейса временное, после перезагрузки системы, сделанные изменения пропадут.

 

 

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

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"

 

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

 

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

 

Понравилась или оказалась полезной статья, поблагодари автора

 

БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
Загрузка...

Оставить ответ

18 + одиннадцать =