Вопрос или проблема
Я использую Ubuntu 20.04, основанный на облачном образе… так что netplan имеет свой 50-cloud-init.yaml, который просто говорит… используйте dhcp
В фоновом режиме он использует systemd-networkd в качестве бэкенда
Но как я могу сказать Ubuntu установить имя хоста на основе опции 12? Раньше мы использовали хуки выхода dhclient, но с netplan и systemd это больше не работает. Как я могу это сделать?
Опция UseHostname в разделе DHCP в /etc/systemd/networkd.conf не принимается (неизвестная опция)
Как задокументировано в netplan(5)
, вы можете указать use-hostname: true
в качестве части dhcp4-overrides
для интерфейса.
Ответ или решение
Для настройки имени хоста в Ubuntu 20.04 с использованием netplan и возможности DHCP Option 12 (Hostname), важно учесть несколько ключевых аспектов работы системы. Использование netplan в диалекте YAML позволяет вам настраивать сети более гибко и удобно, однако для автоматизации установки имени хоста на основе DHCP потребуется правильная конфигурация.
Шаги по настройке имени хоста через DHCP Option 12:
-
Открытие конфигурационного файла netplan:
Вам необходимо отредактировать файл, который, скорее всего, называется50-cloud-init.yaml
. Этот файл, как упоминается, находится в каталоге/etc/netplan/
.sudo nano /etc/netplan/50-cloud-init.yaml
-
Настройка DHCP-параметров:
В разделе конфигурации интерфейса добавьте параметры дляdhcp4-overrides
, чтобы включить обработку имени хоста. Используйте стандартный синтаксис YAML. Примерно так:network: version: 2 ethernets: eth0: # Укажите ваш интерфейс dhcp4: true dhcp4-overrides: use-hostname: true # Включено
-
Применение изменений:
После редактирования сохраните файл и выйдите из текстового редактора. Чтобы применить изменения, выполните команду:sudo netplan apply
-
Проверка изменения имени хоста:
После выполнения вышеупомянутых шагов, имя хоста должно автоматически измениться на то, которое предоставляется DHCP-сервером. Вы можете убедиться в этом с помощью команды:hostnamectl
Эта команда выведет текущее имя хоста в системе.
Дополнительные замечания:
-
Версия Netplan: Убедитесь, что используемая вами версия netplan поддерживает параметр
use-hostname
. Эта функция была добавлена в определенных версиях, поэтому если у вас ее нет, возможно, потребуется обновить пакет netplan. -
Системные службы: Так как вы используете
systemd-networkd
, убедитесь также, что никаких других конфигураций сети, которые могут конфликтовать с вашими изменениями, не существует в/etc/systemd/network/
. -
Логи для диагностики: В случае, если имя хоста не меняется, полезно проверить журналы systemd, которые могут содержать ошибки или предупреждения. Используйте следующую команду для просмотра:
journalctl -u systemd-networkd
Эти шаги должны эффективно помочь вам настроить имя хоста на Ubuntu 20.04 с использованием DHCP Option 12. Если возникли дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью.