Guida alla configurazione e ottimizzazione di NTP su Ubuntu | Ottenere una sincronizzazione oraria precisa e una sicurezza migliorata

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.

年収訴求