Chrony est le serveur NTP (Network Time Protocol) par défaut dans le système d'exploitation CentOS 8. Il remplace l'ancien Ntpd utilisé dans l'ancienne version du système d'exploitation Linux. Il est utilisé pour synchroniser l'horloge système avec des serveurs de temps Internet distants. La configuration d'une heure précise est très importante pour que toute application fonctionne correctement.
Il est composé de deux composants chronyc et chronyd. chronyd est un démon lancé au démarrage du système. chronyc est une interface de ligne de commande utilisée pour surveiller les performances de chronyd.
Dans ce tutoriel, je vais vous montrer comment installer et utiliser Chrony sur le serveur CentOS 8.
Prérequis
- Deux serveurs exécutant CentOS 8.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant d'installer Chrony, vous devrez configurer un fuseau horaire correct sur votre serveur. Vous pouvez le configurer avec la commande suivante :
timedatectl set-timezone Asia/Kolkata
Maintenant, vérifiez votre fuseau horaire actuel avec la commande suivante :
timedatectl
Vous devriez obtenir le résultat suivant :
Local time: Sun 2021-05-02 20:00:44 IST Universal time: Sun 2021-05-02 14:30:44 UTC RTC time: Sun 2021-05-02 14:30:43 Time zone: Asia/Kolkata (IST, +0530) System clock synchronized: yes NTP service: active RTC in local TZ: no
Installer le serveur Chrony
Par défaut, le package Chrony est inclus dans le référentiel par défaut de CentOS 8. Vous pouvez l'installer avec la commande suivante :
dnf install chrony -y
Une fois Chrony installé, démarrez le service Chrony et activez-le pour qu'il démarre au redémarrage du système :
systemctl start chronyd
systemctl enable chronyd
Vous pouvez également vérifier l'état du Chrony avec la commande suivante :
systemctl status chronyd
Vous devriez voir le résultat suivant :
? chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-05-02 20:00:13 IST; 1min 7s ago Docs: man:chronyd(8) man:chrony.conf(5) Main PID: 616 (chronyd) Tasks: 1 (limit: 25014) Memory: 2.3M CGroup: /system.slice/chronyd.service ??616 /usr/sbin/chronyd May 02 20:00:12 centos8 systemd[1]: Starting NTP client/server... May 02 20:00:12 centos8 chronyd[616]: chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH > May 02 20:00:12 centos8 chronyd[616]: Frequency 18.331 +/- 0.061 ppm read from /var/lib/chrony/drift May 02 20:00:12 centos8 chronyd[616]: Using right/UTC timezone to obtain leap second data May 02 20:00:13 centos8 systemd[1]: Started NTP client/server. May 02 20:00:20 centos8 chronyd[616]: Selected source 129.250.35.250 May 02 20:00:20 centos8 chronyd[616]: System clock TAI offset set to 37 seconds May 02 20:00:20 centos8 chronyd[616]: System clock wrong by 1.153394 seconds, adjustment started May 02 20:00:21 centos8 chronyd[616]: System clock was stepped by 1.153394 seconds
Configurer le serveur Chrony
Le fichier de configuration principal de Chrony se trouve dans /etc/chrony.conf. Vous devrez le modifier et changer les serveurs de temps les plus proches de vous.
nano /etc/chrony.conf
Commentez le pool par défaut et ajoutez une liste de serveurs NTP les plus proches de votre emplacement.
#pool 2.centos.pool.ntp.org iburst server 1.in.pool.ntp.org server 2.in.pool.ntp.org server 3.in.pool.ntp.org
Enregistrez et fermez le fichier lorsque vous avez terminé, puis définissez la synchronisation NTP avec la commande suivante :
timedatectl set-ntp true
Ensuite, redémarrez le service Chrony pour appliquer les modifications :
systemctl restart chronyd
Vous pouvez également autoriser une plage IP spécifique dans votre réseau local pour autoriser l'accès à votre serveur NTP. Vous pouvez l'autoriser en ajoutant la ligne suivante au fichier /etc/chrony.conf :
# Allow NTP client access from local network. allow 192.168.0.0/24
Vous pouvez maintenant vérifier si votre serveur NTP fonctionne ou non avec la commande suivante :
chronyc sources
Si tout va bien, vous devriez obtenir le résultat suivant :
210 Number of sources = 4 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^? ntp7.mum-in.hosts.301-mo> 2 6 1 8 +31ms[ +31ms] +/- 248ms ^? static.15.192.216.95.cli> 2 6 1 8 +2616us[+2616us] +/- 88ms ^? 157.245.102.2 2 6 1 9 -4088us[-4088us] +/- 139ms ^? ec2-13-126-27-131.ap-sou> 2 6 1 9 +6017us[+6017us] +/- 181ms
Configurer le pare-feu
Ensuite, vous devrez autoriser le service NTP à travers le pare-feu. Vous pouvez l'autoriser avec la commande suivante :
firewall-cmd --permanent --add-service=ntp --permanent
Ensuite, rechargez le service de pare-feu pour appliquer les modifications :
firewall-cmd --reload
Configurer le client Chrony
Ensuite, vous devrez installer le client Chrony sur la machine cliente et le configurer pour utiliser votre serveur Chrony.
Sur la machine cliente, définissez votre fuseau horaire correct avec la commande suivante :
timedatectl set-timezone Asia/Kolkata
Ensuite, installez le package Chrony avec la commande suivante :
dnf install chrony -y
Une fois l'installation terminée, éditez votre fichier de configuration Chrony et pointez votre serveur NTP.
nano /etc/chrony.conf
Commentez le pool par défaut et ajoutez la ligne suivante :
server chrony-server-ip
Enregistrez et fermez le fichier puis définissez la synchronisation NTP avec la commande suivante :
timedatectl set-ntp true
Ensuite, démarrez le service Chrony et activez-le au redémarrage du système avec la commande suivante :
systemctl start chronyd
systemctl enable chronyd
Maintenant, vérifiez la synchronisation de l'heure avec la commande suivante :
chronyc sources
Vous devriez obtenir le résultat suivant :
210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^? chrony-server-ip 0 6 0 10y +0ns[ +0ns] +/- 0ns
Conclusion
Dans le guide ci-dessus, vous avez appris à configurer un serveur Chrony NTP sur CentOS 8. Vous avez également appris à installer le client Chrony et à le configurer pour synchroniser l'heure avec le serveur Chrony. N'hésitez pas à me demander si vous avez des questions.