Documentazione di Ubuntu > Ubuntu 11.04 > Guida a Ubuntu Server > Rete > Sincronizzazione del tempo con NTP

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 -s 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.

To install ntpd, from a terminal prompt enter:

sudo apt-get install ntp

Modificare i server NTP

In both cases above, your system will use Ubuntu's NTP server at ntp.ubuntu.com by default. This is OK, but you might want to use several servers to increase accuracy and resilience, and you may want to use time servers that are geographically closer to you. to do this for ntpdate, change the contents of /etc/cron.daily/ntpdate to:

ntpdate -s ntp.ubuntu.com pool.ntp.org 

And for ntpd edit /etc/ntp.conf to include additional server lines:

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

You may notice pool.ntp.org in the examples above. This is a really good idea which uses round-robin DNS to return an NTP server from a pool, spreading the load between several different servers. Even better, they have pools for different regions - for instance, if you are in New Zealand, so you could use nz.pool.ntp.org instead of pool.ntp.org. Look at http://www.pool.ntp.org/ for more details.

You can also Google for NTP servers in your region, and add these to your configuration. To test that a server works, just type:

sudo ntpdate ntp.server.name

Riferimenti