Именование сетевых интерфейсов в 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]
Обсуждение
Нет комментариев.