Правильное отключение предсказуемого именования интерфейсов в 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"
Другие вопросы по тегам