Содержание статьи:
При переходе на использование Debian 9 Stretch, обнаружил что имена сетевых интерфейсов имеют странный вид, вместо привычных eth0.. я вижу ens32:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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:
1 2 3 4 5 |
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), необходимо понять значение строки:
1 2 3 4 5 |
GRUB_CMDLINE_LINUX="" на GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" |
После этого применяем сделанные изменения в загрузчике, выполняем команду:
1 2 |
grub-mkconfig -o /boot/grub/grub.cfg |
Перезагружаем систему.
Переименование интерфейсов
Для того чтобы временно переименовать интерфейс, необходимо сперва его выключить, задать другое имя и снова активировать его:
1 2 3 |
ip link set ens32 down ip link set ens32 name eth0 ip link set eth0 up |
Для того чтобы переименовать интерфейс на всегда, то необходимо создать правило:
1 2 |
nano /etc/udev/rules.d/70-persistent-net.rules |
К примеру, интерфейс с MAC-адресом, необходимо переименовать в eth0, пишем следующее:
1 2 3 |
# 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" |
После перезагрузки системы или службы сети, изменения в именование интерфейса будет применены.
Понравилась или оказалась полезной статья, поблагодари автора
Оставить ответ