GNU/Linux >> Tutoriels Linux >  >> Linux

Chrony - Un client et un serveur NTP alternatifs pour les systèmes de type Unix

Dans ce tutoriel, nous verrons comment installer et configurer Chrony , un client et serveur NTP alternatif pour les systèmes de type Unix. Chrony peut synchroniser l'horloge système plus rapidement avec une meilleure précision de l'heure et cela peut être particulièrement utile pour les systèmes qui ne sont pas en ligne tout le temps. Chrony est gratuit, open source et prend en charge les variantes GNU/Linux et BSD telles que FreeBSD, NetBSD, macOS et Solaris.

Installer Chrony

Chrony est disponible dans les dépôts par défaut de la plupart des distributions Linux. Si vous utilisez Arch Linux, exécutez la commande suivante pour l'installer :

$ sudo pacman -S chrony

Sur Debian, Ubuntu, Linux Mint :

$ sudo apt-get install chrony

Sur Fedora :

$ sudo dnf install chrony

Une fois installé, démarrez chronyd.service démon s'il n'est pas déjà lancé :

$ sudo systemctl start chronyd.service

Faites en sorte qu'il démarre automatiquement à chaque redémarrage à l'aide de la commande :

$ sudo systemctl enable chronyd.service

Pour vérifier si le service Chronyd.service a été démarré, exécutez :

$ sudo systemctl status chronyd.service

Si tout est OK, vous verrez une sortie comme ci-dessous.

● chrony.service - chrony, an NTP client/server
Loaded: loaded (/lib/systemd/system/chrony.service; enabled; vendor preset: ena
Active: active (running) since Wed 2018-10-17 10:34:53 UTC; 3min 15s ago
Docs: man:chronyd(8)
man:chronyc(1)
man:chrony.conf(5)
Main PID: 2482 (chronyd)
Tasks: 1 (limit: 2320)
CGroup: /system.slice/chrony.service
└─2482 /usr/sbin/chronyd

Oct 17 10:34:53 ubuntuserver systemd[1]: Starting chrony, an NTP client/server...
Oct 17 10:34:53 ubuntuserver chronyd[2482]: chronyd version 3.2 starting (+CMDMON 
Oct 17 10:34:53 ubuntuserver chronyd[2482]: Initial frequency -268.088 ppm
Oct 17 10:34:53 ubuntuserver systemd[1]: Started chrony, an NTP client/server.
Oct 17 10:35:03 ubuntuserver chronyd[2482]: Selected source 85.25.84.166
Oct 17 10:35:03 ubuntuserver chronyd[2482]: Source 85.25.84.166 replaced with 2403
Oct 17 10:35:03 ubuntuserver chronyd[2482]: Selected source 91.189.89.199
Oct 17 10:35:06 ubuntuserver chronyd[2482]: Selected source 106.10.186.200

Comme vous pouvez le voir, le service Chrony est démarré et fonctionne !

Configurer Chrony

Les clients NTP doivent savoir quels serveurs NTP ils doivent contacter pour obtenir l'heure actuelle. Nous pouvons spécifier les serveurs NTP dans le serveur ou pool directive dans le fichier de configuration NTP. Habituellement, le fichier de configuration par défaut est /etc/chrony/chrony.conf ou /etc/chrony.conf selon la version de la distribution Linux. Pour une meilleure fiabilité, il est recommandé de spécifier au moins trois serveurs.

Les lignes suivantes ne sont qu'un exemple tiré de mon serveur Ubuntu 18.04 LTS.

[...]
# About using servers from the NTP Pool Project in general see (LP: #104525).
# Approved by Ubuntu Technical Board on 2011-02-08.
# See http://www.pool.ntp.org/join.html for more information.
pool ntp.ubuntu.com iburst maxsources 4
pool 0.ubuntu.pool.ntp.org iburst maxsources 1
pool 1.ubuntu.pool.ntp.org iburst maxsources 1
pool 2.ubuntu.pool.ntp.org iburst maxsources 2
[...]

Comme vous le voyez dans la sortie ci-dessus, Projet de pool NTP a été défini comme serveur de temps par défaut. Pour ceux qui se demandent, le projet de pool NTP est le cluster de serveurs de temps qui fournit un service NTP à des dizaines de millions de clients à travers le monde. C'est le serveur de temps par défaut pour Ubuntu et la plupart des autres principales distributions Linux.

Ici,

  • l'explosion est utilisée pour accélérer la synchronisation initiale.
  • les maxsources fait référence au nombre maximum de sources NTP.

Veuillez vous assurer que les serveurs NTP que vous avez choisis sont bien synchronisés, stables et proches de votre emplacement pour améliorer la précision de l'heure avec les sources NTP.

Gérer Chronyd depuis la ligne de commande

Chrony a un utilitaire de ligne de commande nommé chronyc pour contrôler et surveiller le chrony démon (chronyd).

Pour vérifier si chrony est synchronisé, nous pouvons utiliser le suivi commande comme indiqué ci-dessous.

$ chronyc tracking
Reference ID : 6A0ABAC8 (t1.time.sg3.yahoo.com)
Stratum : 3
Ref time (UTC) : Wed Oct 17 11:48:51 2018
System time : 0.000984587 seconds slow of NTP time
Last offset : -0.000912981 seconds
RMS offset : 0.007983995 seconds
Frequency : 23.704 ppm slow
Residual freq : +0.006 ppm
Skew : 1.734 ppm
Root delay : 0.089718960 seconds
Root dispersion : 0.008760406 seconds
Update interval : 515.1 seconds
Leap status : Normal

Nous pouvons vérifier les sources de temps actuelles utilisées par chrony avec la commande :

$ chronyc sources
210 Number of sources = 8
MS Name/IP address Stratum Poll Reach LastRx Last sample 
===============================================================================
^- chilipepper.canonical.com 2 10 377 296 +102ms[ +104ms] +/- 279ms
^- golem.canonical.com 2 10 377 302 +105ms[ +107ms] +/- 290ms
^+ pugot.canonical.com 2 10 377 297 +36ms[ +38ms] +/- 238ms
^- alphyn.canonical.com 2 10 377 279 -43ms[ -42ms] +/- 238ms
^- dadns.cdnetworks.co.kr 2 10 377 1070 +40ms[ +42ms] +/- 314ms
^* t1.time.sg3.yahoo.com 2 10 377 169 -13ms[ -11ms] +/- 80ms
^+ sin1.m-d.net 2 10 275 567 -9633us[-7826us] +/- 115ms
^- ns2.pulsation.fr 2 10 377 311 -75ms[ -73ms] +/- 250ms

L'utilitaire Chronyc peut trouver les statistiques de chaque source, telles que le taux de dérive et le processus d'estimation du décalage, en utilisant sourcestats commande.

$ chronyc sourcestats
210 Number of sources = 8
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
chilipepper.canonical.com 32 16 89m +6.293 14.345 +30ms 24ms
golem.canonical.com 32 17 89m +0.312 18.887 +20ms 33ms
pugot.canonical.com 32 18 89m +0.281 11.237 +3307us 23ms
alphyn.canonical.com 31 20 88m -4.087 8.910 -58ms 17ms
dadns.cdnetworks.co.kr 29 16 76m -1.094 9.895 -83ms 14ms
t1.time.sg3.yahoo.com 32 16 91m +0.153 1.952 +2835us 4044us
sin1.m-d.net 29 13 83m +0.049 6.060 -8466us 9940us
ns2.pulsation.fr 32 17 88m +0.784 9.834 -62ms 22ms

Si votre système n'est pas connecté à Internet, vous devez informer Chrony que le système n'est pas connecté à Internet. Pour ce faire, exécutez :

$ sudo chronyc offline
[sudo] password for sk: 
200 OK

Pour vérifier l'état de vos sources NTP, exécutez simplement :

$ chronyc activity
200 OK
0 sources online
8 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

Comme vous le voyez, toutes mes sources NTP sont en panne pour le moment.

Une fois que vous êtes connecté à Internet, informez simplement Chrony que votre système est de nouveau en ligne en utilisant la commande :

$ sudo chronyc online
200 OK

Pour afficher l'état des sources NTP, exécutez :

$ chronyc activity
200 OK
8 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address

Pour une explication plus détaillée de toutes les options et paramètres, reportez-vous aux pages de manuel.

$ man chronyc
$ man chronyd

Et, c'est tout pour le moment. J'espère que cela a été utile. Dans les tutoriels suivants, nous verrons comment configurer un serveur NTP local à l'aide de Chrony et configurer les clients pour qu'ils l'utilisent pour synchroniser l'heure.

Restez à l'écoute !


Linux
  1. Comment configurer le serveur et le client NTP sur Debian 9 Stretch Linux

  2. Comment installer le serveur et le client NTP sur Ubuntu 18.04 LTS

  3. UnixBench - Une suite de référence pour les systèmes de type Unix

  4. Apprentissage de NFS via la configuration du serveur et du client

  5. Comment installer et configurer le serveur et le client Linux NTP

Comment configurer un serveur et un client NTP sur Ubuntu 20.04 LTS

Comment configurer le serveur et le client NTP sur Debian 10

Comment configurer le serveur et le client NTP sur Debian 11

Comment installer le serveur NTP et le ou les clients sur Ubuntu 20.04 LTS

Client et serveur NIS

Comment configurer le serveur et le client NTP sur Ubuntu 20.04 LTS