Ce soir c’était installation d’un Hyper-V sous Windows 10 pour m’assurer que systemd-networkd
, et plus précisément systemd-hostnamed
peut changer le hostname
d’une machine en le récupérant depuis l’option 12 d’une lease DHCP.
Tout cela a été fait sur CentOS 7 puisque c’est la cible du moment.
yum install -y systemd-networkd
mkdir /etc/systemd/network
Pour une interface réseau nommée eth0
:
Créer le fichier /etc/systemd/network/eth0.network
:
[Match]
Name=eth0
[Network]
DHCP=yes
[DHCP]
UseHostname=yes
Activer le bousin :
systemctl enable systemd-networkd
systemctl enable systemd-hostnamed
Ensuite, sur CentOS 7 (systemd-219) et peut-être d’autres distributions, il faudra rajouter une règle PolicyKit :
https://bugs.freedesktop.org/show_bug.cgi?id=81626
Créer le fichier /etc/polkit-1/rules.d/00-systemd-hostnamed.rules
:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.hostname1.set-hostname" &&
subject.user == "systemd-network") {
return polkit.Result.YES;
}
});
La documentation de hostnamed fait mention de l’action PolicyKit.