Sincronizzazione del tempo con NTP

Questa pagina descrive i metodi per mantenere l'ora esatta del proprio computer, utile per i server, ma non necessario (o desiderabile) per macchine desktop.

NTP è un protocollo TCP/IP per sincronizzare l'ora attraverso la rete: un client richiede l'ora corrente a un server e usa questa per impostare il proprio orologio.

Dietro questa semplice descrizione, c'è molta complessità. Ci sono vari livelli di server NTP, con il primo livello di server NTP collegati a orologi atomici (spesso tramite GPS) e il secondo e terzo livello di server che si dividono il carico delle attuali richieste. Anche il programma client è molto più complesso di quanto si possa pensare: deve considerare i ritardi di comunicazione e correggere l'ora in modo tale da non invalidare tutti gli altri processi che sono in esecuzione sul server. Fortunatamente tutta questa complessità è nascosta all'utente.

Ubuntu ha due metodi per impostare automaticamente l'orologio: ntpdate e ntpd.

ntpdate

Ubuntu dispone, in modo predefinito, di ntpdate, che viene eseguito ad ogni avvio, per impostare l'ora con il server NTP di Ubuntu. L'orologio di un server, comunque, è soggetto a cambiamenti di orario anche considerevoli tra due riavvii. È quindi utile correggere l'ora occasionalmente. Il modo più facile per farlo, è impostare cron per eseguire ntpdate giornalmente. Con un editor di testo, con i permessi di amministratore, creare il file /etc/cron.daily/ntpdate con il seguente contenuto:

ntpdate ntp.ubuntu.com

Il file /etc/cron.daily/ntpdate deve essere eseguibile.

sudo chmod 755 /etc/cron.daily/ntpdate

ntpd

ntpdate è uno strumento abbastanza semplice. Può regolare l'ora una sola volta al giorno in un'unica modifica. Il demone di ntp (ntpd) è molto più raffinato. Calcola lo spostamento dell'orologio del proprio sistema e lo regola continuamente, così non ci sono mai grandi modifiche che possono portare a file di log inconsistenti. Il costo di questo è un leggero uso di processore e memoria, ma trascurabili per un server moderno.

Per usare ntpd:

sudo apt-get install ntp-simple

Modificare i server NTP

In entrambi i casi, il sistema userà il server NTP di Ubuntu ntp.ubuntu.com. Questo è sufficiente, ma potrebbe esser necessario utilizzare più server per aumentare l'accuratezza e la capacità di recupero o per usare un server nel proprio fuso orario. Per fare questo con ntpdate, modificare il contenuto del file /etc/cron.daily/ntpdate in:

ntpdate ntp.ubuntu.com pool.ntp.org 

Per ntpd, modificare il file /etc/ntp.conf per aggiungere altri server:

server ntp.ubuntu.com
server pool.ntp.org

Nell'esempio precedente, è stato inserito pool.ntp.org, un'ottima soluzione che usa il metodo round-robin DNS per scegliere un server da un gruppo di server, dividendone il carico. Per migliorare ancora ci sono gruppi per differenti regioni. Per esempio, per l'Italia è possibile usare it.pool.ntp.org al posto di pool.ntp.org. Per maggiori informazioni, consultare il sito web http://www.pool.ntp.org/.

È possibile anche cercare con Google dei server NTP all'interno del proprio fuso orario e aggiungerli nella configurazione. Per verificare se un server funziona, basta digitare sudo ntpdate ntp.nome.server e vedere cosa succede.

Pagine correlate