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