Правильное отключение предсказуемого именования интерфейсов в Xenial
Я использую несколько экземпляров Ubuntu Xenial в частном облаке Openstack и сталкиваюсь с проблемами предсказуемого именования сетевых интерфейсов. Я пытался отключить его, установив GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
в /etc/default/grub
, После перезагрузки первый сетевой интерфейс все еще имеет старое "предсказуемое" имя (ens3
), но у второго интерфейса есть старое имя (eth1
).
dmesg
имеет [ 1.403328] virtio_net virtio0 ens3: renamed from eth0
Как настроить Ubuntu, чтобы мой первый сетевой интерфейс назывался eth0
?
2 ответа
Я думаю, что более чистое решение:
sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
и перезагрузите компьютер. Это вернет старый интерфейс именования.
Если вы хотите назначить конкретные имена сетевых интерфейсов и у вас есть постоянные mac-адреса, вы можете воспользоваться решением heynnema или использовать systemd.link.
Отредактируйте ваш /etc/udev/rules.d/70-persistent-net.rules. Формат довольно прост. Только 1 строка на интерфейс, просто скопируйте / вставьте существующую строку и измените MAC-адрес и имя устройства.
Вот как выглядит запись:
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="20:1a:06:d8:65:ae", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"