Именование сетевых интерфейсов в 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
Как вернуть старые имена для интерфейсов
В файле загрузчика /etc/default/grub
, необходимо привести значение строки к виду:
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
Для того чтобы переименовать интерфейс на всегда, то необходимо создать правило:
touch /etc/udev/rules.d/70-persistent-net.rules
В правиле опишем пример переименования интерфейса с MAC-адресом 00:50:56:92:95:88
, в 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
, изменить старые имена интерфейсов на новые.ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ
Обсуждение
Нет комментариев.