chrony
À quoi il sert
chrony synchronise l'horloge système sur des serveurs de temps par le protocole NTP. Il se compose d'un démon, chronyd, qui interroge plusieurs sources, écarte celles qui se contredisent (les falsetickers), apprend la dérive de l'horloge locale et la corrige, le plus souvent par un ajustement progressif de sa vitesse plutôt que par un saut ; et d'un client, chronyc, qui l'interroge et le pilote (tracking, sources, sourcestats, makestep, waitsync). Le même démon peut servir l'heure à d'autres machines (directive allow), et authentifier ses sources par NTS (Network Time Security, RFC 8915) depuis la version 4.0.
Quand le choisir
Dès qu'il s'agit d'un parc de serveurs qui doivent rester d'accord entre eux, ou d'une machine qui sert l'heure à un réseau privé. Sur Ubuntu 24.04 et Debian 13, le service actif par défaut est systemd-timesyncd, un client SNTP qui n'interroge qu'un serveur à la fois, ne détecte pas une source fausse, ne sert l'heure à personne et ne gère pas NTS dans ces versions. chrony est le démon par défaut de Red Hat depuis RHEL 8, et d'Ubuntu depuis 25.10 pour les nouvelles installations, avec NTS activé.
Points d'attention
- Installer
chronysur Debian ou Ubuntu retiresystemd-timesyncd(conflit sur le paquet virtueltime-daemon) : c'est voulu, deux démons ne doivent jamais corriger la même horloge. - Par défaut, chrony ne sert l'heure à personne :
allowouvre le service à un réseau précis, et à lui seul. makestep 1 3n'autorise un saut que pendant les trois premières mises à jour ; un écart apparu plus tard (instantané restauré, instance migrée) est rattrapé lentement.sudo chronyc makestepforce le saut.- Sur Debian et Ubuntu, les sources se déposent dans
/etc/chrony/sources.d/*.sources(rechargées parchronyc reload sources), les autres directives dans/etc/chrony/conf.d/*.conf. - NTS ouvre d'abord une session TLS sur le port TCP 4460 : port filtré, magasin de certificats périmé ou horloge très fausse font échouer l'échange de clés. Gardez des sources proches non authentifiées en secours.
- Avec deux sources seulement, chrony peut refuser de corriger (
Can't synchronise: no majority) : ajoutez des sources plutôt que d'en retirer. - Dans un conteneur, l'unité est ignorée faute de
CAP_SYS_TIME: c'est l'hôte qu'il faut synchroniser.
Par où commencer
La leçon L'heure et sa synchronisation du cours Linux : administration système, qui monte un serveur de temps interne pour le réseau privé de Signalements et apprend à lire chronyc tracking et chronyc sources. Puis la documentation officielle : les pages chrony.conf(5) et chronyc(1), et la FAQ du projet, sur chrony-project.org.