1. Importanza di NTP su Ubuntu
Che cos’è NTP?
NTP (Network Time Protocol) è un protocollo utilizzato per sincronizzare con precisione l’ora dei sistemi informatici attraverso una rete. Mantenere un’ora accurata è essenziale per la coerenza dei log, l’elaborazione delle transazioni e la comunicazione di rete precisa. Le discrepanze temporali possono causare errori di rete e incoerenze nei dati, rendendolo particolarmente critico per le operazioni dei server.
Su Ubuntu, chrony
è la scelta consigliata, poiché consente una sincronizzazione accurata dell’ora anche in ambienti di rete instabili. Inoltre, Chrony è ottimizzato per bassa latenza e sincronizzazione rapida, rendendolo adatto sia per ambienti server che client.
2. Configurazione NTP
Installazione e configurazione di Chrony
Chrony è il client NTP standard per Ubuntu 18.04 e versioni successive. Segui i passaggi seguenti per installarlo e configurare la sincronizzazione dell’ora usando un server NTP.
Passaggi di installazione
sudo apt update
sudo apt install chrony
Successivamente, avvia il servizio Chrony e abilitalo per l’avvio automatico.
sudo systemctl start chrony
sudo systemctl enable chrony
Il file di configurazione si trova in /etc/chrony/chrony.conf
. Se utilizzi server NTP vicino al Giappone, configurali come segue:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
L’opzione iburst
consente una sincronizzazione più rapida durante la connessione iniziale.

3. Ottimizzare e scegliere un server NTP
Utilizzare il progetto NTP Pool
Il progetto NTP Pool è un’iniziativa globale che fornisce server NTP ottimizzati in base alle regioni geografiche. Configurando più server NTP, l’affidabilità è migliorata, garantendo che se un server si guasta, gli altri possano subentrare.
Il seguente esempio di configurazione utilizza server NTP situati in Giappone:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
4. Configurazione del fuso orario
Utilizzo del comando timedatectl
Per impostazione predefinita, Ubuntu è configurato sul fuso orario UTC. Per cambiarlo al Japan Standard Time (JST), usa il comando seguente:
sudo timedatectl set-timezone Asia/Tokyo
Dopo aver cambiato il fuso orario, puoi verificare le impostazioni attuali con il comando seguente:
timedatectl
5. Risoluzione dei problemi
Quando NTP non si sincronizza
Verifica del firewall
NTP utilizza la porta UDP 123, che potrebbe essere bloccata dal firewall. Usa il comando seguente per aprire la porta 123:
sudo ufw allow 123/udp
Verifica dei ticker falsi
Usa il ntpq -p
comando per verificare se i server NTP funzionano correttamente. I ticker falsi (server che forniscono un orario errato) sono contrassegnati con un x
. Se rilevati, considera di selezionare server alternativi o di modificare la configurazione.
Errore Stratum 16
Se il server NTP non riesce a sincronizzarsi con i server di livello superiore, può verificarsi un Stratum 16. Ciò indica che il server non è correttamente connesso o che c’è un problema di rete. Verifica le impostazioni del server e della rete e riconfigura un server NTP affidabile.
Sincronizzazione manuale dell’ora
Per sincronizzare manualmente l’ora usando Chrony, esegui il comando seguente:
sudo ntpdate ntp.nict.jp
Puoi anche controllare i log di Chrony per diagnosticare i problemi di sincronizzazione:
sudo journalctl -u chrony

6. Ottimizzare NTP per ambienti ad alto carico
Regolare minpoll
e maxpoll
In ambienti in cui è richiesta una sincronizzazione temporale ad alta precisione, regolare l’intervallo di polling di NTP può garantire una sincronizzazione più frequente e ridurre al minimo la deriva temporale. Di seguito è riportata una configurazione di esempio per aumentare la frequenza di sincronizzazione:
server ntp.nict.jp iburst minpoll 4 maxpoll 10
Gestire NTP con Juju
In ambienti cloud su larga scala, Juju può essere utilizzato per automatizzare la gestione del servizio NTP. Juju monitora il carico su ciascun host e seleziona l’host ottimale come server NTP. I seguenti comandi distribuiscono NTP usando Juju:
juju deploy cs:ntp ntp
juju config ntp auto_peers=true
Questa automazione migliora la gestione di NTP e garantisce una sincronizzazione temporale efficiente con carichi distribuiti.
7. Migliorare la sicurezza
Limitare l’accesso ai server NTP
Per migliorare la sicurezza, è possibile limitare l’accesso al server NTP a indirizzi IP specifici. Aggiungendo regole di controllo degli accessi a /etc/chrony/chrony.conf
, è possibile consentire richieste NTP solo da reti o indirizzi IP specifici:
allow 192.168.1.0/24
Ciò impedisce richieste NTP non autorizzate da fonti esterne, rafforzando la sicurezza della rete interna.