Я пытаюсь выяснить, как настроить моего клиента DHCP на сервере Ubuntu 18.04.
У меня есть следующая netplan конфигурация, прибывающая из облака-init:
network:
version: 2
ethernets:
ens160:
dhcp4: true
match:
macaddress: 02:dc:01:00:38:4c
set-name: ens160
Это, кажется, правильно настраивает мой сетевой интерфейс с IP-адресом, DNS, шлюзом по умолчанию и областью поиска. Однако я задаюсь вопросом, как получить имя хоста из DHCP. Я изучал dhclient, который обеспечивает некоторые удобные рычаги, которые я могу использовать, однако не кажется, что рычаги dhclient называют. Я заметил, что облако-init называет dhclient согласно журналам, но как своего рода поигравшая в песочнице версия, которая, кажется, игнорирует рычаги.
Я также заметил, что systemd-networkd сообщает о некотором действии DHCP относительно арендным договорам DHCP.
Кто-то мог пролить некоторый свет в процесс?
Я сделал больше рытья на этом, таким образом оставив некоторую информацию для других.
Похож на Ubuntu 18.04, больше не использует dhclient, который назвали в режиме демона ifupdown
. Вместо этого systemd-networkd
заботится обо всех вещах DHCP. Для создания рычагов клиента DHCP мы должны теперь использовать systemd
(Вы видите пример того, как это сделано путем взгляда на ntp
файлы: /lib/systemd/system/ntp-systemd-netif.{path|service}
).
Как упомянуто в вопросе, облако-init действительно называет dhclient в поигравшем в песочнице больше, но только для некоторых конкретных облаков.
С точки зрения установки имени хоста могут быть конфликты между systemd-networkd
и cloud-init
. Посмотрите Облако-init nocloud имя хоста набора динамично от dhcp.