GNU/Linux >> Linux Esercitazione >  >> Linux

Chrony:un client e un server NTP alternativo per sistemi simili a Unix

In questo tutorial parleremo di come installare e configurare Chrony , un client e server NTP alternativo per sistemi simili a Unix. Chrony può sincronizzare l'orologio del sistema più velocemente con una migliore precisione dell'ora e può essere particolarmente utile per i sistemi che non sono sempre online. Chrony è gratuito, open source e supporta varianti GNU/Linux e BSD come FreeBSD, NetBSD, macOS e Solaris.

Installazione di Chrony

Chrony è disponibile nei repository predefiniti della maggior parte delle distribuzioni Linux. Se sei su Arch Linux, esegui il seguente comando per installarlo:

$ sudo pacman -S chrony

Su Debian, Ubuntu, Linux Mint:

$ sudo apt-get install chrony

Su Fedora:

$ sudo dnf install chrony

Una volta installato, avvia chronyd.service demone se non è già stato avviato:

$ sudo systemctl start chronyd.service

Fai in modo che si avvii automaticamente ad ogni riavvio usando il comando:

$ sudo systemctl enable chronyd.service

Per verificare se Chronyd.service è stato avviato, esegui:

$ sudo systemctl status chronyd.service

Se tutto è a posto, vedrai un output simile a quello di seguito.

● 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

Come puoi vedere, il servizio Chrony è avviato e funziona!

Configura Chrony

I client NTP devono sapere quali server NTP devono contattare per ottenere l'ora corrente. Possiamo specificare i server NTP nel server o piscina direttiva nel file di configurazione NTP. Di solito, il file di configurazione predefinito è /etc/chrony/chrony.conf o /etc/chrony.conf a seconda della versione della distribuzione Linux. Per una migliore affidabilità, si consiglia di specificare almeno tre server.

Le righe seguenti sono solo un esempio tratto dal mio server LTS Ubuntu 18.04.

[...]
# 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
[...]

Come puoi vedere nell'output sopra, Progetto NTP Pool è stato impostato come time server predefinito. Per coloro che si chiedono, il progetto del pool NTP è il cluster di server temporali che fornisce il servizio NTP a decine di milioni di clienti in tutto il mondo. È il time server predefinito per Ubuntu e la maggior parte delle altre principali distribuzioni Linux.

Ecco,

  • l'iburst viene utilizzata per velocizzare la sincronizzazione iniziale.
  • le maxsources fa riferimento al numero massimo di sorgenti NTP.

Assicurati che i server NTP che hai scelto siano ben sincronizzati, stabili e vicini alla tua posizione per migliorare la precisione dell'ora con le sorgenti NTP.

Gestisci Chronyd dalla riga di comando

Chrony ha un'utilità da riga di comando denominata chronyc per controllare e monitorare i croni demone (chronyd).

Per verificare se è cronico è sincronizzato, possiamo utilizzare il tracciamento comando come mostrato di seguito.

$ 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

Possiamo verificare le sorgenti dell'ora corrente che chrony utilizza con il comando:

$ 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'utilità Chronyc può trovare le statistiche di ciascuna sorgente, come il tasso di deriva e il processo di stima dell'offset, utilizzando sourcestats comando.

$ 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

Se il tuo sistema non è connesso a Internet, devi notificare a Chrony che il sistema non è connesso a Internet. Per farlo, esegui:

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

Per verificare lo stato delle tue sorgenti NTP, esegui semplicemente:

$ 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

Come vedi, tutte le mie sorgenti NTP sono inattive al momento.

Una volta connesso a Internet, notifica a Chrony che il tuo sistema è di nuovo online utilizzando il comando:

$ sudo chronyc online
200 OK

Per visualizzare lo stato delle sorgenti NTP, eseguire:

$ 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

Per una spiegazione più dettagliata di tutte le opzioni e parametri, fare riferimento alle pagine man.

$ man chronyc
$ man chronyd

E per ora è tutto. Spero che questo sia stato utile. Nei tutorial successivi vedremo come configurare un server NTP locale utilizzando Chrony e configurare i client affinché lo utilizzino per sincronizzare l'ora.

Resta sintonizzato!


Linux
  1. Come installare server e client NTP su Ubuntu 18.04 LTS

  2. UnixBench:una suite di benchmark per sistemi simili a Unix

  3. Apprendimento di NFS attraverso la configurazione di server e client

  4. Come installare e configurare NTP per la sincronizzazione dell'ora in CentOS?

  5. Ssh Mappa chiave pubblica-privata per il cliente?

Come configurare un server e un client NTP su Ubuntu 20.04 LTS

Come configurare server e client NTP su Debian 10

Come configurare server e client NTP su Debian 11

Come installare server e client NTP su Ubuntu 20.04 LTS

Client e server NIS

Come configurare server e client NTP su Ubuntu 20.04 LTS