inizio argomento

Come sincronizzare il vostro calcolatore ai server NTP dell'I.N.RI.M.

I server NTP dell'I.N.RI.M. permettono di sincronizzare l'orologio interno di un calcolatore alla scala di tempo nazionale italiana UTC(IT). Si possono utilizzare diverse modalità a seconda della precisione richiesta, del tipo di calcolatore, del sistema operativo utilizzato e della disponibilità o meno di una connessione permanente alla rete Internet.

Per quanto riguarda i calcolatori che non dispongono di una connessione permanente alla rete Internet, o più in generale tutti quei sistemi dove è sufficiente una precisione uguale o peggiore di un secondo, è consigliabile utilizzare un software che sincronizzi manualmente l'orologio (ad esempio quando il sistema viene avviato) oppure ad orari prestabiliti. Il compito di questi software è solo quello di mettere in passo l'orologio del sistema rispetto a quello di riferimento in un determinato istante, senza effettuare ulteriori operazioni come ad esempio compensare la deriva dell'orologio di sistema.

I sistemi che necessitano di una precisione migliore di un secondo e che dispongono di una connessione permanente alla rete Internet possono invece utilizzare quei software, come ad esempio ntpd, che mantengono permanentemente sincronizzato l'orologio di sistema a quello di riferimento. Questi software, oltre a sincronizzare l'orologio, ne compensano anche la deriva e le fluttuazioni causate ad esempio dalle variazioni dei parametri ambientali, dal carico di lavoro del sistema, ecc.


SOFTWARE DI SINCRONIZZAZIONE


Unix, *BSD e Linux

Si può utilizzare il software NTP incluso nella distribuzione del vostro sistema operativo. In questo caso si dovrà semplicemente installare il pacchetto di software ntp e modificare il file di configurazione seguendo le indicazioni fornite nella pagina Come configurare il vostro NTP.

Chi vuole avere il software più aggiornato e disporre delle più recenti innovazioni, come ad esempio l'autenticazione a chiave pubblica, può utilizzare il software ntpd originale prelevabile dal sito www.ntp.org. Le istruzioni complete su come compilare questo software e realizzare un client e/o server NTP si trovano sulla pagina Building and Installing the Distribution; ma per eseguire l'installazione di base è sufficiente seguire la procedura riportata nel seguito. Per eseguire queste operazioni è necessario disporre di un compilatore C (es. gcc) e di alcuni programmi che si trovano abitualmente nelle distribuzioni Unix standard (tar, make, awk, sed, tr, sh, grep, egrep).

  1. Prelevare il file archivio contenente il codice sorgente del programma da www.ntp.org e memorizzarlo in una cartella locale del proprio sistema, ad esempio /usr/local/src

  2. Scompattare il file archivio:
    tar -zxpvf filearchivio

  3. Spostarsi nella cartella del codice sorgente (es. /usr/local/src/ntp-4.2.0) ed eseguire l'autoconfigurazione del software:
    ./configure

  4. Compilare il software:
    make

  5. Installare i file binari nella loro cartella di destinazione (solitamente /usr/local/bin):
    make install

  6. A questo punto, se tutte le operazioni si sono concluse senza messaggi di errore, si può configurare il daemon ntpd modificando con un qualsiasi editor di testo il file /etc/ntp.conf, seguendo le indicazioni fornite nella pagina Come configurare il vostro NTP

  7. Infine si può avviare il daemon ntpd che sincronizza e mantiene sincronizzato l'orologio del sistema:
    ntpd -c /etc/ntp.conf

  8. In alternativa si può eseguire il comando ntpdate per mettere in passo l'orologio del sistema:
    ntpdate ntp1.inrim.it ntp2.inrim.it

Per verificare il regolare funzionamento del daemon ntpd si può utilizzare il comando ntpq:

ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*ntp1.inrim.it     .IEN.            1 u   58  256  377    0.226    0.652   0.032
+ntp2.inrim.it     .IEN.            1 u   71  256  377    0.217    0.638   0.037

Legenda:
remote  indirizzo o nome del peer
refid   sorgente di sincronizzazione utilizzata (GPS, ACTS, etc....)
st      stratum del server (1=primario ... 16=non sincronizzato)
t       tipo di server (l=local, u=unicast, m=multicast, b=broadcast)
when    tempo trascorso dall'ultima interrogazione (in secondi)
poll    intervallo di interrogazione (in secondi)
reach   indicatore di raggiungibilita' delle ultime 8 interrogazioni
        (377 --> le ultime 8 interrogazioni sono state ricevute correttamente)
delay   ritardo della propagazione (Round Trip Time) (ms)
offset  scarto di tempo rispetto all'orologio locale (ms)
jitter  dispersione delle ultime 8 sincronizzazioni (ms)              

Quando il daemon ntpd viene avviato i parametri sopra indicati assumono il loro valore iniziale predefinito che è di 0 o 4000 a seconda del tipo di parametro; dopo alcuni minuti di funzionamento l'output del comando ntpq -p deve essere simile all'esempio riportato sopra. In particolare il parametro reach deve assumere, nell'ordine, i seguenti valori: 0 - 1 - 3 - 7 - 17 - 37 - 177 - 377. A sinistra del nome di uno dei server di riferimento deve comparire il simbolo "*" che indica il server scelto come sorgente di sincronizzazione. I possibili caratteri che possono apparire ed il loro significato sono i seguenti:

 
*   server utilizzato per la sincronizzazione
#   server selezionato per la sincronizzazione ma troppo distante
O   server selezionato per la sincronizzazione che utilizza un riferimento di tipo PPS 
+   server incluso nella lista finale dei server possibili da usare
X   server FALSETICKER (sbagliato)
.   escluso
-   escluso dalla lista finale dei server utilizzabili
    escluso per stratum troppo alto o errori del server




MS Windows 2000

In questo sistema operativo è incluso un client SNTP (servizio W32Time) che può essere utilizzato per sincronizzare il calcolatore senza dover installare software aggiuntivi.

Procedura per utilizzare il client SNTP incluso nel sistema operativo
Nel seguito viene descritta la procedura da seguire per sincronizzare il calcolatore ai server NTP dell'INRIM utilizzando il servizio W32Time di Windows 2000.

Attenzione -   Per effettuare questa operazione è necessario utilizzare l'editor del Registro di sistema, il suo errato utilizzo può causare gravi problemi che potrebbero richiedere la reinstallazione del sistema operativo. Si consiglia l'uso di questa procedura solo ad utenti esperti che già lo conoscono. Si raccomanda infine di effettuare una copia del registro di Windows prima di proseguire.

  1. Aprire una finestra con il prompt dei comandi e digitare
    net time /setsntp:ntp.inrim.it
    net stop w32time
    net start w32time


  2. Fare click su Start --> Esegui e digitare il comando regedit

  3. Individuare la seguente chiave:
    HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters

  4. Fare click su type (nel riquadro di destra) e scegliere Modifica
    inserire il valore NTP nella casella Dati valore
    fare click su OK

  5. Fare click su ReliableTimeSource (nel riquadro di destra) e scegliere Modifica valore DWORD
    inserire il valore 1 nella casella Dati valore
    fare click su OK

  6. Fare click su LocalNTP (nel riquadro di destra) e scegliere Modifica valore DWORD
    inserire il valore 1 nella casella Dati valore
    fare click su OK

  7. Fare click su NtpServer (nel riquadro di destra) e scegliere Modifica
    inserire il valore ntp.inrim.it nella casella Dati valore
    fare click su OK

  8. Solo per Windows 2000 Service Pack 4
    Fare click su MaxAllowedClockErrInSecs (nel riquadro di destra) e scegliere Modifica valore DWORD
    Inserire il valore 1000 nella casella Dati valore, fare click su OK

  9. Fare click su Period (nel riquadro di destra) e scegliere Modifica valore DWORD
    inserire il valore SpecialSkew nella casella Dati valore
    fare click su OK

  10. Selezionare il comando Esci dal menù File

  11. Aprire una finestra con il prompt dei comandi e digitare
    net stop w32time
    net start w32time


  12. Per controllare il funzionamento di questo servizio si può utilizzare il visualizzatore del registro eventi di sistema: Start --> Impostazioni --> Pannello di controllo --> Strumenti di amministrazione --> Visualizzatore eventi

  13. Attivare la modalità di avvio automatico per il servizio Ora di Windows utilizzando il comando Start --> Impostazioni --> Pannello di controllo --> Strumenti di amministrazione --> Servizi --> Ora di windows --> Tipo di avvio = Automatico



MS Windows XP

In questo sistema operativo è incluso un client SNTP (servizio W32Time) che può essere utilizzato per sincronizzare il calcolatore senza dover installare software aggiuntivo.

In alternativa, si può utilizzare una specifica versione del software NTP originale compilata per MS Windows dalla Meinberg Radio Clocks: http://www.meinberg.de/english/sw/ntp.htm.


Procedura per utilizzare il client SNTP incluso nel sistema operativo
Nel seguito viene descritta la procedura da seguire per sincronizzare il calcolatore ai server NTP dell'INRIM utilizzando il servizio W32Time di Windows XP.

  1. fare click su Start -> Pannello di controllo -> Data, ora, lingua e impostazioni internazionali;

  2. fare click su Data e ora;

  3. selezionare la scheda Ora Internet;

  4. abilitare la Sincronizzazione automatica con server di riferimento ora ;

  5. inserire il nome ntp.inrim.it nella casella Server;

  6. fare click su Start -> Tutti i programmi -> Strumenti di amministrazione -> Servizi;

  7. fare click sulla voce Ora di Windows;

  8. fare click su Riavvia il servizio;

  9. chiudere la finestra Servizi;

  10. ritornara alla finestra Proprietà - Data e Ora e fare click sul pulsante Aggiorna;

  11. verificare che il computer si sincronizzi (su alcuni calcolatori l'operazione potebbe richiredere fino a 15 secondi);

  12. chiudere la finestra Proprietà - Data e Ora.

Le impostazioni predefinite prevedono che il calcolatore si sincronizzi al server NTP di riferimento una volta ogni sette giorni. Per modificare questo intervallo di tempo utilizzare la procedura che segue.

Attenzione -   Per effettuare questa operazione è necessario utilizzare l'editor del Registro di sistema, il suo errato utilizzo può causare gravi problemi che potrebbero richiedere la reinstallazione del sistema operativo. Si consiglia l'uso di questa procedura solo ad utenti esperti che già lo conoscono. Si raccomanda infine di effettuare una copia del registro di Windows prima di proseguire.

  1. Fare click su Start -> Esegui e digitare il comando regedit ;

  2. Individuare la seguente chiave:
    HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\NtpClient;

  3. Fare click su SpecialPollInterval (nel riquadro di destra) e scegliere il comando Modifica -> Modifica
    Fare click su Base -> Decimale
    inserire il valore in secondi (es. 86400 per un giorno) dell'intervallo di tempo tra due sincronizzazioni successive
    fare click sul pulsante OK;

  4. Selezionare il comando Esci dal menù File;

  5. fare click su Start -> Tutti i programmi -> Strumenti di amministrazione -> Servizi;

  6. fare click sulla voce Ora di Windows;

  7. fare click su Riavvia il servizio;

  8. chiudere la finestra Servizi.



Per ulteriori informazioni si possono consultare i seguenti documenti specifici sulla sincronizzazione dei sistemi Windows pubblicati dalla Microsoft e reperibili su http://support.microsoft.com/: