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