Premessa: test eseguito su distribuzione Linux Debian.

Per sincronizzare il tempo del vostro sistema con un server NTP basterà installare:

# apt-get install ntp ntpdate

Non sarà necessario effettuare ulteriori modifiche per avere un servizio funzionante, ma se volete impostare dei server NTP che vi “piacciono di più”, andate a editare il file di configurazione “/etc/ntp.conf” e mettete ad esempio:

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>
#server 0.debian.pool.ntp.org iburst dynamic
#server 1.debian.pool.ntp.org iburst dynamic
#server 2.debian.pool.ntp.org iburst dynamic
#server 3.debian.pool.ntp.org iburst dynamic
server time.ien.it iburst dynamic
server tempo.cstv.to.cnr.it iburst dynamic
server ntp1.inrim.it iburst dynamic
server ntp2.inrim.it iburst dynamic

Nell’altro file di configurazione “/etc/default/ntpdate”, per evitare di inserirli nuovamente, potete lasciare l’opzione:

# Set to "yes" to take the server list from /etc/ntp.conf, from package ntp,
# so you only have to keep it in one place.
NTPDATE_USE_NTP_CONF=yes

in modo da farglieli leggere nel file descritto prima.

Per provare una sincronizzazione, lanciate:

# ntpdate -d ntp1.inrim.it

mettete l’opzione “-d” per il debug, altrimenti non mettetela. Vedi nota [01] per un possibile errore.

Per verifica, lanciare il comando:

# ntpq -np

Se compare il simbolo * a sinistra di un indirizzo, vuol dire che l’ora viene presa dal relativo server [02]. Ecco un risultato:

testPC2:~# ntpq -np
 remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*212.45.144.59   193.204.114.232  2 u   16   64    7    2.362   -5.528   8.843
 85.18.29.238    .STEP.          16 u    -   64    0    0.000    0.000   0.000
+62.152.126.5    62.48.35.100     3 u   42   64    3   29.570   -9.771   3.698
 84.38.50.20     .STEP.          16 u    -   64    0    0.000    0.000   0.000

Per controllare l’ora del sistema, lanciare:

# date

Note

[01] Ecco un caso di fallimento di ntpdate:

testPC:~# ntpdate -d ntp1.inrim.it
 6 Apr 15:01:03 ntpdate[3376]: ntpdate 4.2.4p4@1.1520-o Sun Nov 22 17:34:55 UTC 2009 (1)
transmit(193.204.114.232)
transmit(193.204.114.232)
transmit(193.204.114.232)
transmit(193.204.114.232)
transmit(193.204.114.232)
193.204.114.232: Server dropped: no data
server 193.204.114.232, port 123
stratum 0, precision 0, leap 00, trust 000
refid [193.204.114.232], delay 0.00000, dispersion 64.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Thu, Feb  7 2036  7:28:16.000
originate timestamp: 00000000.00000000  Thu, Feb  7 2036  7:28:16.000
transmit timestamp:  cf65af12.e22749f0  Tue, Apr  6 2010 15:01:06.883
filter delay:  0.00000  0.00000  0.00000  0.00000
 0.00000  0.00000  0.00000  0.00000
filter offset: 0.000000 0.000000 0.000000 0.000000
 0.000000 0.000000 0.000000 0.000000
delay 0.00000, dispersion 64.00000
offset 0.000000

 14 Apr 15:01:07 ntpdate[3376]: no server suitable for synchronization found

N.B. L’errore “no server suitable for synchronization found” può essere dovuto a un firewall! Aprire la porta UDP 123 per risolvere l’errore.

[02] Ecco un caso di fallimento di ntpq -np:

testPC:~# ntpq -np
remote           refid      st t when poll reach   delay   offset  jitter
==========================================================================
193.204.114.232 .INIT.      16 u    -   64    0    0.000    0.000   0.000
193.204.114.233 .INIT.      16 u    -   64    0    0.000    0.000   0.000

Non compare nessun simbolo * a sinistra dell’indirizzo. Vuol dire che l’ora non viene presa da nessun server.

Link utile sul Network Time Protocol

https://it.wikipedia.org/wiki/Network_Time_Protocol