In ambienti server, la sincronizzazione accurata dell’orario di sistema è fondamentale per garantire la coerenza nei log, la sicurezza delle comunicazioni e il corretto funzionamento di servizi distribuiti.
Ubuntu Server 24.04 offre supporto completo per Chrony, un moderno demone NTP (Network Time Protocol) progettato per sostituire il tradizionale ntpd, offrendo migliori prestazioni in reti non stabili o con connessioni intermittenti.
In questo articolo vedremo come installare, configurare e gestire un server NTP utilizzando Chrony su Ubuntu Server 24.04.
La guida include i passaggi necessari per la configurazione di base, il controllo dello stato di sincronizzazione e alcuni suggerimenti per l’ottimizzazione in scenari di rete locali o aziendali.
INSTALLAZIONE DI CHRONYD
Per installare Chrnoyd eseguire il comando:
0 |
sudo apt install chrony |
In questo modo verranno forniti due file binari:
chronyd – il demone effettivo da sincronizzare e servire tramite il Network Time Protocol
chronyc – interfaccia a riga di comando per il demonechrony
CONFIGURAZIONE DI CHRNOYD
Innanzitutto modificare il file di configurazione /etc/chrony/chrony.conf con il comando:
0 |
sudo nano /etc/chrony/chrony.conf |
Individuare la seguente sezione:
0 1 2 3 4 5 6 |
# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board # on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for # more information. pool 0.ubuntu.pool.ntp.org iburst pool 1.ubuntu.pool.ntp.org iburst pool 2.ubuntu.pool.ntp.org iburst pool 3.ubuntu.pool.ntp.org iburst |
Quindi sostituire i server NTP di Ubuntu con dei server personalizzati.
Nel mio caso ho sostituito i server con i seguenti:
0 1 2 3 |
pool 0.pool.ntp.org iburst pool 1.pool.ntp.org iburst pool 2.pool.ntp.org iburst pool 3.pool.ntp.org iburst |
Al termine della configurazione salvare e chiudere il file chrony.conf
Per rendere effettive le modifiche riavviare il servizio con il comando:
0 |
sudo systemctl restart chrony.service |
ABILITARE LA DISTRIBUZIONE DEL NETWORK TIME PROTOCOL
Per abilitare la pubblicazione di NTP è necessario almeno impostare la regola. Questo controlla a quali client/reti si desidera servire l’ora.
Aggiungere al fondo del file chrony.conf le seguenti righe:
0 1 |
# add to last line : add network range you allow to receive time syncing requests from clients allow 192.168.1.0/24 |
In questo modo tutta la rete 192.168.1.0 sarà in grado di richiedere l’ora al server NTP
VISUALIZZARE LO STATO DI CHRONY
È possibile utilizzare dei comandi per visualizzare la query sullo stato del daemon.
Ad esempio, per ottenere una panoramica delle origini ora attualmente disponibili e selezionate eseguire il comando:
0 |
chronyc sources |
Dovremmo visualizzare un output simile al seguente:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* time.cloudflare.com 3 6 37 10 -1214ns[ -70us] +/- 12ms ^- ns1.fibertelecom.it 2 6 37 8 -2616us[-2616us] +/- 54ms ^- host195-70-32-195.dimens> 2 6 37 8 +598us[ +598us] +/- 84ms ^- 81.56.230.156 2 6 37 9 +3994us[+3994us] +/- 24ms ^- vodka.sublink.ORG 2 6 37 9 +782us[ +782us] +/- 49ms ^- host234-254-110-95.serve> 2 6 37 10 +533us[ +533us] +/- 56ms ^- ns2.fibertelecom.it 4 6 37 11 +647us[ +647us] +/- 58ms ^- server1.quickdrivingtest> 1 6 37 11 +678us[ +678us] +/- 15ms ^- host224-62-61-217.server> 2 6 37 10 -524us[ -524us] +/- 18ms ^- radha.parvati.it 2 6 17 51 -805us[ -817us] +/- 6001us ^- ns3.fibertelecom.it 2 6 37 10 -269us[ -269us] +/- 27ms ^- time.cloudflare.com 3 6 37 9 -343us[ -343us] +/- 13ms ^- kraken2.bilink.net 3 6 37 11 +36us[ +36us] +/- 67ms ^- 129.152.16.145 2 6 163 6 -907us[ -907us] +/- 44ms ^- nettuno.ntp.irh.it 2 6 17 50 -1472us[-1645us] +/- 9104us ^- mudla.net 1 6 37 10 +796us[ +796us] +/- 6437us |
È inoltre possibile utilizzare il comando che produce un output con le statistiche:
0 |
chronyc sourcestats |
Dovremmo visualizzare un output simile al seguente:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev ============================================================================== time.cloudflare.com 5 4 74 +30.862 22.105 +1196us 133us ns1.fibertelecom.it 5 3 73 -26.365 707.630 -3893us 3011us host195-70-32-195.dimens> 5 3 73 +18.438 43.890 +1240us 185us 81.56.230.156 5 5 74 +23.982 40.548 +4907us 205us vodka.sublink.ORG 5 5 74 +36.157 53.645 +2147us 321us host234-254-110-95.serve> 5 5 73 +23.020 47.665 +1423us 283us ns2.fibertelecom.it 5 3 74 +12.507 643.245 +1359us 2301us server1.quickdrivingtest> 5 3 74 +20.224 69.572 +1419us 292us host224-62-61-217.server> 5 4 73 +25.591 118.850 +377us 379us radha.parvati.it 5 3 71 +16.659 138.393 +905us 595us ns3.fibertelecom.it 5 3 74 +26.046 61.340 +742us 363us time.cloudflare.com 5 3 73 +24.888 59.792 +560us 282us kraken2.bilink.net 5 5 74 +31.040 23.836 +1238us 145us 129.152.16.145 5 3 77 +24.378 14.952 -71us 82us nettuno.ntp.irh.it 5 4 71 +27.751 64.639 +241us 346us mudla.net 5 4 73 +23.907 107.671 +1669us 529us |
Per ottenere la lista dei client che contattano il server NTP eseguire il comando:
0 |
chronyc clients |
Dovremmo visualizzare un output simile al seguente:
0 1 2 3 4 5 6 7 8 |
Hostname NTP Drop Int IntL Last Cmd Drop Int Last =============================================================================== vmware-srv.test.lab> 25 0 13 - 25m 0 0 - - ubuntu-srv.test.lab> 25 0 13 - 35 0 0 - - grafana-srv.test.lab> 25 0 13 - 86m 0 0 - - librenms-srv.test.lab> 25 0 13 - 48m 0 0 - - nas-srv.test.lab> 25 0 13 - 657 0 0 - - firewall-srv.test.lab> 96 0 11 - 900 0 0 - - switch-srv.test.lab> 23 0 13 - 55m 0 0 - - |
0 commenti