Il Network Time Protocol è un protocollo per sincronizzare gli orologi dei computer all’interno di una rete TCP/IP, quindi con tempi di latenza variabili e potenzialmente inaffidabili. L’NTP viene eseguito sulla porta Transport Layer 123 UDP e consente una sincronizzazione temporale accurata per i computer presenti all’interno della rete, permettendo di eliminare le incongruenze temporali su server e client. In questo articolo, illustreremo il processo di installazione, configurazione e query di un server NTP su Windows Server 2016 e 2019 (In realtà il metodo vale anche per Windows Server 2012/2012R2).

NTP Server: cosa sono e a cosa servono

I server NTP utilizzano il Network Time Protocol per inviare segnali orari ai server di tutto il mondo su richiesta. I server NTP utilizzano l’origine dell’ora UTC (Universal Time Coordinated) per la sincronizzazione del segnale orario. Lo scopo principale dei server NTP è fornire la sincronizzazione dell’ora per server e reti di computer con altri  server e client di rete in tutto il mondo. A sua volta, questo semplifica le comunicazioni e le transazioni in tutto il mondo.

Sincronizzare orologio Windows

Configurazione del Server NTP su Windows Server 2016

Se si sta utilizzando un PC all’interno di un dominio Microsoft è importante sapere che l’orario del PC viene sincronizzato dal Domain Controller che ha il ruolo FSMO PDC Emulator. Per far sì che il Server PDC sincronizzi l’orario da una fonte sterna affidabile è necessario configurare la fonte degli aggiornamenti. Sarà quindi necessario prima di tutto (in una configurazione con più Domain Controller) qual’è il DC con il ruolo di PDC Emulator; per fare questo possiamo utilizzare CMD:

netdom query fsmo

che ci indicherà quale DC ha quel ruolo e dove posizionarci quindi per eseguire i successivi comandi per l’impostazione dell’ NTP Server.

Poi in powershell come amministratore:

w32tm /config /manualpeerlist:”ntp1.inrim.it ntp2.inrim.it” /syncfromflags:MANUAL
Stop-Service w32time
Start-Service w32time

w32tm NTP SERVER

Dopodichè sarà possibile ottenere la sincronizzazione completa dell’ora della rete e dell’infrastruttura associata sincronizzando oltre a tutte le workstation e i server, anche i router, switch ed altri apparati di rete, impostando sui device gli stessi server NTP.

NB: Se il server Windows 2016 o 2019 è una macchina virtuale (Hyper-V o VMWare) si deve disabilitare la “Time Synchronization” con l’host di virtualizzazione altrimenti l’orario verrà sincronizzato con gli Host di virtualizzazione e non con il server NTP.

Comandi utili per il troubleshooting sul servizio NTP

Ecco alcuni comandi che potrebbero essere utili per il troubleshooting sul servizio NTP, previa assicurazione che la porta UDP 123 venga regolarmente fatta passare dal Firewall.

w32tm /query /configuration -> per controllare la configurazione del server NTP.

w32tm /query /peers -> per verificare la raggiungibilità dei server NTP impostati e il loro stato

w32tm /resync /nowait -> per forzare immediatamente la ri-sincronizzazione con il server NTP (l’adeguamento tipicamente non è immediato, ma avviene gradualmente)

w32tm /query /source -> per verificare il server NTP

w32tm /query /status -> per verificare lo stato del servizio Server NTP