web-dev-qa-db-fra.com

Ubuntu 18.04 utilise-t-il dhclient?

J'essaie de comprendre comment configurer mon client DHCP sur le serveur Ubuntu 18.04.

J'ai la configuration netplan suivante, venant de cloud-init:

network:
    version: 2
    ethernets:
        ens160:
            dhcp4: true
            match:
                macaddress: 02:dc:01:00:38:4c
            set-name: ens160

Cela semble configurer correctement mon interface réseau avec une adresse IP, un DNS, une passerelle par défaut et un domaine de recherche. Cependant, je me demande comment obtenir un nom d'hôte auprès de DHCP. Je me suis penché sur dhclient, qui fournit des points d’accès pratiques que je peux utiliser, mais il ne semble pas que les points d’accrochage dhclient soient appelés. J'ai remarqué que cloud-init appelle dhclient selon les journaux, mais comme une sorte de version en sandbox, qui semble ignorer les points d'ancrage.

J'ai également remarqué que systemd-networkd rapporte une activité DHCP relative aux baux DHCP.

Quelqu'un pourrait-il éclairer le processus?

1
pzakha

J'ai creusé davantage là-dessus, laissant ainsi quelques informations pour d'autres.

On dirait que Ubuntu 18.04 n'utilise plus dhclient, qui était appelé en mode démon par ifupdown. Au lieu de cela, systemd-networkd prend en charge tout ce qui est DHCP. Afin de créer des hooks de clients DHCP, nous devons maintenant utiliser systemd (vous pouvez voir un exemple de la procédure en regardant les fichiers de ntp: /lib/systemd/system/ntp-systemd-netif.{path|service}).

Comme mentionné dans la question, cloud-init appelle dhclient dans un bac à sable supplémentaire, mais uniquement pour certains nuages ​​particuliers.

En termes de définition du nom d’hôte, il peut y avoir des conflits entre systemd-networkd et cloud-init. Voir Cloud-init nocloud définit le nom d'hôte de manière dynamique à partir de dhcp .

2
pzakha