Ricerca nel sito web

Come installare NTP utilizzando Chrony in Linux


Mantenere data e ora precise su un sistema Linux è essenziale perché molti servizi come i processi cron e gli script si basano su un orario preciso per funzionare come previsto. Il Network Time Protocol, abbreviato in NTP, è un protocollo che mantiene l'ora precisa su un sistema Linux. È un protocollo Internet che svolge un ruolo nella sincronizzazione dell'orologio di un sistema Linux con i server NTP disponibili online.

Il buon vecchio demone ntpd utilizzato per sincronizzare le impostazioni di data e ora è stato deprecato e non è disponibile per i moderni sistemi Linux come Ubuntu 20.04, Fedora 30 e CentOS 8. Al suo posto abbiamo chrony , che è un'implementazione di NTP sviluppata da RedHat.

Chrony rappresenta una scelta migliore per i seguenti motivi:

  • Chrony sincronizza il tempo molto più velocemente del suo predecessore, NTP.

  • Compensa problemi di latenza e ritardi di rete.

  • Funziona ancora bene anche con il degrado della rete.

  • È possibile configurare un server locale con chrony in modo che agisca come server dell'ora da cui il resto dei PC client può ottenere le impostazioni di data e ora.

Struttura di Chrony

Chrony comprende il demone chronyd e lo strumento da riga di comando chronyc. Il demone chronyd viene eseguito silenziosamente in background e sincronizza l'ora del sistema con i server definiti nel file /etc/chrony.conf.

L'utilità della riga di comando chronyc consente agli utenti di interagire con chrony ed estrarre quante più informazioni possibili. Inizieremo installando Chrony su varie distribuzioni Linux.

Installa Chronyd su Linux

Nei sistemi moderni, Chronyd viene installato per impostazione predefinita. Tuttavia, chrony non è incluso nei vecchi sistemi Linux che si basano ancora sul pacchetto NTP deprecato.

Quindi, ecco come puoi installare Chrony.

Su Ubuntu/Debian/Mint

$ sudo apt-get install chronyd

Su CentOS/RHEL

$ sudo yum install chronyd

Una volta installato, abilita e avvia il demone Chronyd come segue:

$ sudo systemctl --enable now chronyd

Quindi conferma lo stato come segue:

$ sudo systemctl status chronyd

Come puoi osservare, il demone chronyd è attivo e funziona come previsto.

File di configurazione di Chrony

Le impostazioni di Chrony sono definite nel file di configurazione /etc/chrony.conf o /etc/chrony/chrony.conf. Inizialmente non è richiesto alcun intervento poiché i valori predefiniti sincronizzano già il sistema con i pool di server NTP disponibili. Le principali distribuzioni Linux come Ubuntu, CentOS, RHEL e Fedora hanno i loro pool NTP predefiniti.

Dal file di configurazione seguente, il pool di server NTP su cui è sincronizzato il sistema Linux è pool 2.centos.pool.ntp.org iburst

Per Ubuntu, questo appare come mostrato.

Controlla la sincronizzazione dell'ora con Chronyc

Per confermare che Chrony sia effettivamente in esecuzione e visualizzare i peer e i server a cui è connesso, esegui il comando:

$ chronyc activity

Per visualizzare un elenco dettagliato dei time server, dei loro indirizzi IP, dello sfasamento temporale e dell'offset, per citare solo alcuni parametri, eseguire:

$ chronyc sources

Con il flag -v, puoi ottenere informazioni più dettagliate come mostrato:

$ chronyc sources -v

Puoi anche confermare che il chrony è sincronizzato utilizzando il comando seguente. L'ID di riferimento fornisce il nome del server a cui punta il sistema per ottenere le impostazioni di data e ora. Altri dettagli come Ultimo offset e Ora del sistema indicano quanto è lontano il sistema dal server NTP.

$ chronyc tracking

Anche il comando timedatectl torna utile e ti aiuta a sapere se il servizio NTP è abilitato o meno.

Configurare il client NTP

Per configurare un altro sistema nella tua LAN come client e indirizzarlo al tuo server NTP, ecco i passaggi da seguire.

Sul server NTP, vai al file di configurazione di Chrony e rimuovi il commento dalla direttiva di autorizzazione e specifica la maschera di sottorete. Nel mio caso, la maschera di sottorete è 192.168.2.0/24.

Salvare ed uscire dal file di configurazione.

Assicurati di consentire il servizio NTP attraverso il firewall. Nel mio caso, aprirò il firewall su CentOS 8 come segue:

$ sudo firewall-cmd --permanent --add-service=ntp

Quindi ricarica per rendere effettive le modifiche:

$ sudo firewall-cmd --reload

Successivamente, riavvia il demone chronyd.

$ sudo systemctl restart chronyd

Sul client o sul sistema remoto, rimuovere il commento da tutti i pool NTP e aggiungere la riga mostrata. L'indirizzo IP fornito è l'IP del server NTP. Nel tuo caso, questo, ovviamente, sarà diverso, quindi modificalo di conseguenza.

server 192.168.2.109

Ancora una volta, riavvia il demone chronyd affinché le modifiche si riflettano

$ sudo systemctl restart chronyd

Il sistema client verrà ora indirizzato al server NTP sulla stessa rete come mostrato.

Conclusione

Abbiamo dimostrato come installare NTP su Linux utilizzando il servizio Chrony e come configurare un sistema client in modo che punti a un server NTP.

Articoli correlati: