Назад | Перейти на главную страницу

Переименование сетевого интерфейса через systemd-networkd не работает в обновленном Ubuntu 18.04

На сервере Ubuntu 18.04 я не смог переименовать сетевые интерфейсы с помощью проверенного метода управления конфигурацией. systemd-networkd конфигурация работает на всех остальных серверах.

Единственная разница, которую я вижу между серверами, изначально настроенными с помощью управления конфигурацией, и этой частично управляемой вручную машиной заключается в том, что сервер Ubuntu был обновлен по крайней мере с 14.04, может быть, даже с 12.04.

Расследование initrd и при сравнении с работающим сервером при обновлении Ubuntu появились два очевидных отличия:

  1. /lib/udev/rules.d/71-biosdevname.rules

    Это старый пережиток переименования сетевых интерфейсов в Ubuntu. Его нужно удалить.

  2. /etc/udev/rules.d/80-net-setup-link.rules

    Это была установка слежки /lib/udev/rules.d/80-net-setup-link.rules, который (среди прочего) также применяет конфигурацию из systemd-networkd. Он содержит сообщение, указывающее на некоторую неверно интерпретируемую настройку как виртуальную машину (на самом деле это сервер с голым железом):

    # This machine is most likely a virtualized guest, where the old persistent
    # network interface mechanism (75-persistent-net-generator.rules) did not work.
    # This file disables /lib/systemd/network/99-default.link to avoid
    # changing network interface names on upgrade. Please read
    # /usr/share/doc/udev/README.Debian.gz about how to migrate to the currently
    # supported mechanism.
    

    Этот файл также необходимо удалить.

Заключительный update-initramfs -u && reboot приводит к правильному переименованию сетевых интерфейсов.