В последних версиях Ubuntu и Debian (stretch) появилась новая схема именования сетевых интерфейсов.
Теперь при обновлении из системы, в которой используются имена в старом стиле, такие как «eth0», я хотел бы знать перед загрузкой, каким будет новое имя.
Как я могу это сделать? Есть ли магический вызов «systemd», который я могу использовать для редактирования / etc / network / interface перед загрузкой (и, следовательно, потерей сетевого подключения)?
linux-networking
systemd
debian-stretch
Ральф Хильдебрандт
источник
источник
Ответы:
Доступны две разные схемы: biosdevname против предсказуемого имени сетевого интерфейса.
biosdevname
Biosdevname, по-видимому, используется по умолчанию в Ubuntu. Активируется путем установки пакета biosdevname.
Имя biosdev для интерфейса можно найти с помощью:
Предсказуемые имена сетевых интерфейсов
Я считаю, что это стандартная версия в Debian Stretch, но ее необходимо явно включить при обновлении с предыдущих выпусков.
Предсказуемое имя для eth0 можно найти с помощью:
источник
/etc/udev/rules.d/70-persistent-net.rules
. Ссылка предоставит руководство по миграции, если вы хотите перейти на новую схему именования.Новая схема, очевидно, называется «предсказуемыми именами сетевых интерфейсов», но я не нахожу много документации о том, как на самом деле предсказать имя. Все, что я нашел об этом, в основном указывает на этот комментарий исходного кода (который сам указывает на первую ссылку). Из комментария совершенно не ясно, как узнать, какую схему адресации udev будет использовать для имени сетевого устройства.
По первой ссылке вы можете отключить ее и использовать традиционные имена, добавив
net.ifnames=0
в командную строку ядра в Grub. В соответствии с этим комментарием может потребоваться создание интерфейса с тегами VLAN, поскольку добавленное расширение сделает имя интерфейса слишком длинным.В противном случае, возможно, было бы лучше повторно задать вопрос, чтобы объяснить, что вы пытаетесь сделать с именем (например, настроить интерфейс через ansible или что-то подобное).
источник
Я не уверен, так ли это с обновленными версиями, но на моих старых системах я смог создать пустой файл в нем,
/etc/udev/rules.d/80-net-name-slot.rules
и он отключил бы функцию «предсказуемого» именования. Вы также можете создать собственное правило и назвать интерфейсы самостоятельно, основываясь на MAC-адресе или соединениях PCI / USB.источник
Эта документация может немного помочь. См. Раздел «Что именно изменилось в v197?». Да, я понимаю, что это имеет несколько ограниченную ценность, но может дать вам путь для дальнейших исследований.
источник