Sincronizzazione del tempo con NTP

Questa sezione descrive i metodi per mantenere l'ora esatta del proprio computer, utile per i server, ma non necessario (o desiderabile) per computer 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.

Oltre questa semplice descrizione, c'è molta complessità. Esistono diversi livelli di server NTP, con i server di primo livello collegati a orologi atomici (solitamente via GPS) e i server dei livelli due e tre che dividono il carico delle richieste attraverso Internet. Inoltre, il software dei client è molto più complesso di quanto si possa immaginare: deve gestire i ritardi nella comunicazione e regolare l'ora in modo da non compromettere tutti i processi in esecuzione sul server.

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

ntpdate

Ubuntu dispone di ntpdate e viene eseguito all'avvio per configurare l'orologio in base al server NTP di Ubuntu. L'orologio di un server potrebbe comunque cambiare tra un riavvio e l'altro, anche di un fattore considerevole, ed è pertanto consigliato occasionalmente regolare l'ora manualmente. Il metodo più semplice per fare questo è quello di indicare a cron di eseguire ntpdate ogni giorno. Con i privilegi di root e un editor di testo, creare un file chiamato /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, mentre 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 registro 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

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.