#Mise en oeuvre de chrony {{METATOC 4-5}} La suite Chrony est utilisée comme outil de gestion NTP par défaut depuis Red Hat Enterprise Linux 7.0, en remplacement de NTPD (Network Time Protocol Daemon). Chrony est composé de : * **chronyd**: un démon exécuté dans l’espace utilisateur * **chronyc**: un outil en ligne de commande pour gérer chronyd ####Installation Chrony est fourni par les dépôts officiels de Red Hat Enterprise Linux et Rocky Linux : ``` dnf install -y chrony ``` ####Synchronisation initiale Chrony peut être invoqué manuellement pour une première synchronisation au cas où l’horloge de la machine est complètement déréglée. Voici une petite démonstration pour vous donner une idée : ``` date +%Y%m%d -s "20200101" 20200101 date Wed Jan 1 00:00:04 CET 2020 chronyd -q 'pool ntp1.infra.dgfip iburst' 2019-12-31T23:01:03Z chronyd version 4.2 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +NTS +SECHASH +IPV6 +DEBUG) 2019-12-31T23:01:03Z Initial frequency -9.846 ppm 2019-12-31T23:01:08Z System clock wrong by 92656566.187080 seconds (step) 2022-12-08T08:57:14Z chronyd exiting date Thu Dec 8 09:57:20 CET 2022 ``` Certaines applications digèrent très mal les modifications abruptes de l’horloge système. Ce n’est pas une mauvaise idée de redémarrer la machine après une telle opération. ####Configuration initiale Sauvegarder la configuration existante : ``` cd /etc/ cp chrony.conf chrony.conf.orig ``` Configurer Chrony : ``` # /etc/chrony.conf server ntp1.infra.dgfip iburst server ntp2.infra.dgfip iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync logdir /var/log/chrony ``` Cette configuration mérite quelques remarques : * Le paramètre iburst réduit l’intervalle entre les quatre premières requêtes envoyées au serveur spécifié à moins de deux secondes, ce qui permet à Chrony de synchroniser l’horloge immédiatement après le lancement. * Le fichier spécifié par la directive driftfile enregistre les dérives de l’horloge. * En temps normal, Chrony corrige peu à peu tout décalage horaire, en ralentissant ou en accélérant l’horloge selon les besoins. Dans certaines situations, l’horloge système peut avoir dérivé au point où le processus de correction risque de prendre un long moment avant de corriger l’horloge système. Ici, la directive makestep 1.0 3 force Chrony à modifier l’horloge système si l’ajustement était plus important qu’une seconde (1.0), mais seulement lors des trois (3) premières mises à jour horaires. Une valeur négative peut être utilisée pour désactiver cette limite. * La directive rtcsync active la synchronisation de l’horloge système avec l’horloge RTC (Real-Time Clock). * Quant à la directive logdir, elle spécifie le répertoire où les fichiers journaux sont écrits. ####Mise en service Activer et démarrer Chrony : ``` systemctl enable chronyd --now ``` Vérifier si le service fonctionne correctement : ``` systemctl status chronyd ```