5 votes

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 suivante de netplan, provenant 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 à partir de DHCP. J'ai regardé du côté de dhclient qui fournit quelques hooks pratiques que je peux utiliser, cependant il ne semble pas que les hooks de dhclient soient appelés. J'ai remarqué que cloud-init appelle dhclient comme indiqué dans les logs, mais comme une sorte de version sandboxée, qui semble ignorer les hooks.

J'ai également remarqué que systemd-networkd signale une certaine activité DHCP concernant les baux DHCP.

Quelqu'un pourrait-il nous éclairer sur le processus ?

6voto

pzakha Points 111

J'ai fait des recherches plus approfondies à ce sujet, je laisse donc quelques informations pour les autres.

Il semble qu'Ubuntu 18.04 n'utilise plus dhclient, qui était appelé en mode démon par ifupdown . Au lieu de cela, systemd-networkd s'occupe de tout ce qui concerne le DHCP. Afin de créer des crochets clients DHCP, nous devons maintenant utiliser systemd (Vous pouvez voir un exemple de la manière dont cela est fait en consultant le site ntp Les dossiers de l /lib/systemd/system/ntp-systemd-netif.{path|service} ).

Comme indiqué dans la question, cloud-init appelle effectivement dhclient dans un bac à sable, mais seulement pour certains nuages particuliers.

En ce qui concerne la définition du nom d'hôte, il peut y avoir des conflits entre systemd-networkd y cloud-init . Voir Cloud-init nocloud set hostname dynamically from dhcp .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X