Ricerca nel sito web

Come configurare Chrony come server e client NTP su Rocky Linux


Su questa pagina

  1. Prerequisiti
  2. Installazione del pacchetto Chrony
  3. Impostazione di Chrony come server NTP
  4. Impostazione di Chrony come client NTP
  5. Conclusione

NTP o Network Time Protocol è un protocollo di rete per la sincronizzazione dell'ora e dell'orologio sulla rete del computer.

Chrony è un'implementazione dell'NTP o Network Time Protocol e un'alternativa ad altre applicazioni come up. Chrony può essere eseguito su sistemi operativi simili a Unix, rilasciati sotto licenza GNU GPL v2. Chrony è utilizzato come software server NTP predefinito per alcune distribuzioni Linux ed è disponibile anche per più distribuzioni Linux.

In questa guida imparerai come installare e utilizzare Chrony sul server Rocky Linux. Imparerai come utilizzare Chrony in due modi diversi:

  • Utilizzo di Chrony come server NTP - questo di solito è se vuoi costruire un server NTP per il tuo ambiente locale. Quindi, invece di connettersi al server NTP pubblico su Internet, i client si connetteranno alla macchina locale che esegue Chrony come server NTP.
  • Utilizzo di Chrony come client NTP - questo è quando è necessario sincronizzare l'ora sulla tua macchina o client su un server NTP.

Prerequisiti

Questa guida presuppone che tu abbia due diversi server Rocky Linux che verranno utilizzati come server NTP e client NTP. Puoi utilizzare Rocky Linux v8 o l'ultima versione 9. Inoltre, avrai bisogno di un utente non root con privilegi di root sudo su entrambe le macchine.

Di seguito sono riportati i server dettagliati che utilizzeremo:

Hostname        IP Address       Used as
-------------------------------------------
rocky8          192.168.5.100    NTP Server
client1         192.168.5.120    NTP Client

Ora iniziamo l'installazione e le configurazioni di Chrony.

Installazione del pacchetto Chrony

Chrony è una delle implementazioni di NTP (Network Time Protocol) per sistemi operativi simili a Unix.

Per impostazione predefinita, il pacchetto Chrony è disponibile nel repository baseos Rocky Linux.

Puoi controllare il pacchetto Chriony usando il comando dnf qui sotto. Dovresti vedere le informazioni dettagliate sul pacchetto Chrony.

sudo dnf info chrony

Nello screenshot seguente, puoi vedere che la versione corrente di Chrony v4.1 è disponibile nel repository baseos Rocky Linux.

Ora, per installare Chriony, esegui il seguente comando dnf di seguito. Quando viene richiesto di confermare l'installazione, immettere y quindi premere INVIO per procedere.

sudo dnf install chrony

Dopo aver installato Chrony, avviare e abilitare il servizio Chronyd utilizzando il comando systemctl di seguito.

sudo systemctl enable chronyd
sudo systemctl start chronyd

Successivamente, verifica il servizio Chronyd utilizzando il comando seguente.

sudo systemctl status chronyd

Dovresti vedere che il servizio Chrionyd è abilitato e verrà eseguito automaticamente all'avvio del sistema. E ora, lo stato del servizio Chronyd è in esecuzione.

Configurazione di Chrony come server NTP

In questo passaggio imparerai come configurare Chrony come server NTP sul server ROcky Linux. In questo esempio, utilizzeremo il server Rocky Linux con il nome host Rocky8 e l'indirizzo IP 192.168.5.100.

Per configurare Chrony, devi modificare il file di configurazione predefinito di Chrony /etc/chrony.conf.

Apri il file /opt/.chrony.conf utilizzando il seguente comando nano editor.

sudo nano /etc/chrony.conf

Sulla direttiva server è possibile specificare l'origine del server NTP che si desidera utilizzare. Puoi trovare il pool di server NTP più vicino alla tua posizione su https://www.ntppool.org/en/.

In questo esempio, utilizzeremo il pool di server NTP sottostante. Inoltre, utilizzeremo l'opzione aggiuntiva iburst che consente al servizio Chronyd di effettuare il primo aggiornamento dell'orologio poco dopo l'avvio.

# list servers
server 0.se.pool.ntp.org iburst
server 1.se.pool.ntp.org iburst
server 2.se.pool.ntp.org iburst
server 3.se.pool.ntp.org iburst

Rimuovere il commento dalla direttiva allow e aggiungere la subnet dell'indirizzo IP a cui è consentito l'accesso al server NTP. In questo esempio, tutti i client all'interno della rete 192.168.5.0/24 potranno accedere al server NTP.

# allowed clients
allow 192.168.5.0/24

Salva il file ed esci dall'editor quando hai finito.

Opzioni/direttive aggiuntive che potresti voler modificare:

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Specify the file containing keys for NTP authentication.
keyfile /etc/chrony.keys

# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC

Successivamente, esegui il seguente comando per riavviare il servizio Chronyd e applicare le nuove modifiche. E il servizio Chronyd è ora in esecuzione come server NTP.

sudo systemctl restart chronyd

Ora, eseguiamo il seguente comando chronyc di seguito per verificare le origini del pool di server NTP attualmente utilizzato. Dovresti vedere l'elenco delle attuali fonti del server NTP utilizzate dal tuo server.

chronyc sources

Puoi anche ottenere informazioni dettagliate tramite l'opzione -v come verbose.

chronyc sources -v

Di seguito è riportato lo stato dettagliato dell'origine del server NTP utilizzata sul server.

Infine, dovrai aggiungere la porta del servizio NTP al firewalld. Ciò consentirà alle macchine client di connettersi al server NTP.

Eseguire il comando firewall-cmd di seguito per aggiungere il servizio NTP al file firewalld. Quindi, ricarica il file firewalld. Ciò consentirà a qualsiasi macchina di connettersi al server NTP.

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

È inoltre possibile specificare le sottoreti di rete autorizzate ad accedere al server NTP tramite le regole avanzate del firewall. Aggiungi la regola avanzata firewalld che consente alla subnet 192.168.5.0/24 di accedere al server NTP tramite il comando firewall-cmd di seguito. Quindi, ricarica il firewalld per applicare le nuove regole.

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.5.0/24' service='ntp' accept"
sudo firewall-cmd --reload

Ora puoi controllare le regole firewalld usando il seguente comando firewall-cmd. Dovresti vedere i servizi abilitati e le porte aperte sul tuo firewalld.

sudo firewall-cmd --list-all

A questo punto, hai installato e configurato Chrony come server NTP sul server Rocky Linux. Successivamente puoi configurare Chrony come client NTP.

Configurazione di Chrony come client NTP

Ora imparerai come configurare Chrony come client NTP sul sistema Rocky Linux. In questo esempio, configurerai il client Chrony NTP sulla macchina Rocky Linux con il nome host client1.

Prima di iniziare, assicurarsi che il pacchetto Chrony sia installato sulla macchina client. Puoi installarlo tramite il comando dnf.

sudo dnf install chrony -y

Dopo aver installato Chriony, apri il file di configurazione /etc/chrony.conf usando il seguente comando nano editor.

sudo nano /etc/chrony.conf

Sulla direttiva server, cambia l'origine del server NTP con il tuo server NTP. In questo esempio, il server NTP esegue il server con indirizzo IP 192.168.5.100.

Inoltre, puoi vedere opzioni aggiuntive sulla direttiva del server\

  • L'opzione iburst consente al servizio Chronyd di effettuare il primo aggiornamento dell'orologio poco dopo l'avvio.
  • L'opzione prefer darà la priorità all'origine del server NTP tra gli altri server senza l'opzione prefer.

server 192.168.5.100 iburst prefer

Salva il file ed esci dall'editor quando hai finito.

Ora esegui il seguente comando per riavviare il servizio Chrony e applicare nuove configurazioni.

sudo systemctl restart chronyd

Infine, eseguire il seguente comando chronyc per verificare lo stato corrente di NTP sulla macchina client1.

chronyc tracking

Dovresti vedere che la macchina client1 è connessa e sincronizza l'ora con il server NTP ntp.hwdomain.io, che è l'indirizzo IP del server 192.168.5.100.

Puoi anche verificare i dati NTP dettagliati tramite il comando chronyc di seguito.

chronyc ntpdata

Ora puoi vedere nella sezione Indirizzo remoto l'indirizzo IP del server NTP e la sezione Indirizzo locale è l'indirizzo IP della macchina corrente.

Successivamente, puoi anche verificare le origini del server NTP sulla macchina client1 tramite il comando chronyc di seguito. E dovresti vedere che la macchina client ora utilizza il server NTP ntp.hwdomain.io con l'indirizzo IP 192.168.5.100 come origine del server NTP predefinita e preferita.

chronyc sources
chronyc sources -v

Conclusione

Congratulazioni! Ora hai installato correttamente il software di implementazione Chrony NTP sul server Rocky Linux. Hai anche appreso l'utilizzo di base di Chrony che può essere utilizzato sia per il server NTP che per il client. Alla fine, hai anche imparato l'uso di base della riga di comando chronyc per controllare lo stato NTP.