Bonjour,
NetworkManager ne sais pas mettre à jour les paramètres NTP de systemd-timesyncd reçu par le client DHCP.
Pour se faire il faut changer le client DHCP de NetworkManager.
Il faut utiliser dhclient en ajoutant un fichier de configuration dans /etc/NetworkManager/conf.d/dhcp-client.conf ? avec:
[main]
dhcp=dhclient
ensuite il suffit de mettre un hook dans le dispatcher de NetworkManager dans /etc/NetworkManager/dispatcher.d/10-update-timesyncd avec:
#!/bin/sh
[ -z "$CONNECTION_UUID" ] && exit 0
INTERFACE="$1"
ACTION="$2"
case $ACTION in
up | dhcp4-change | dhcp6-change)
[ -n "$DHCP4_NTP_SERVERS" ] || exit 0
mkdir -p /etc/systemd/timesyncd.conf.d
cat <<-THE_END >"/etc/systemd/timesyncd.conf.d/${CONNECTION_UUID}.conf"
[Time]
NTP=$DHCP4_NTP_SERVERS
THE_END
systemctl restart systemd-timesyncd.service
;;
down)
rm -f "/etc/systemd/timesyncd.conf.d/${CONNECTION_UUID}.conf"
systemctl restart systemd-timesyncd.service
;;
esac
Pour vérifier, il doit y avoir un fichier avec le nom: <connexion uuid>.conf
dans /etc/systemd/timesyncd.conf.d
avec un contenu:
[Time]
NTP=<liste des serveurs fournis par le DHCP>
timedatectl -a
doit montrer que la synchronisation est active
# timedatectl
Local time: dim. 2025-03-23 17:25:19 CET
Universal time: dim. 2025-03-23 16:25:19 UTC
RTC time: dim. 2025-03-23 16:25:19
Time zone: Europe/Paris (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Et dans les logs, on voit la synchronisation de timesyncd avec les serveurs indiqués.