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
Non funziona.
Facendo ntpdate -d ho transmit e receive dal server, ma esce comunque l’errore “No server suitable for synchronization found”.
Probabilmente se l’offset e’ molto inferiore ad una certa soglia, praticamente non aggiorna la data perche’ e’ gia’ corretta, ma esce lo stesso con questo errore.
Bug?
ntpq -pn funziona perfettamente.