Vamos a ver como configurar un Windows Server 2008 R2 para sincronizar la hora con un servidor NTP externo en lugar de a través del sistema propio de Windows. Esto es útil cuando el servidor no tiene salida a internet pero sí dispone de servidores NTP en la red privada.
En este caso vamos a configurar un controlador de dominio (Active Directory) para que sincronice la hora contra un servidor NTP Linux. Accedemos al CMD y ejecutamos lo siguiente:
C:\Users\Administrator>w32tm /config /manualpeerlist:192.168.1.100,0x8 /syncfromflags:MANUAL
The command completed successfully.
El significado de la flag 0x8 es «mandar las solicitudes NTP como cliente». Hemos configurado la sincronización contra el servidor NTP 192.168.1.100. Si quisieramos añadir varios:
C:\Users\Administrator>w32tm /config /manualpeerlist:"192.168.1.100 192.168.1.101 192.168.1.102",0x8 /syncfromflags:MANUAL
Reiniciamos el servicio w32tm:
C:\Users\Administrator>net stop w32time The Windows Time service is stopping. The Windows Time service was stopped successfully. C:\Users\Administrator>net start w32time The Windows Time service is starting. The Windows Time service was started successfully.
Ahora ya podemos forzar la sincronización con el siguiente comando. Si la desincronización es muy amplia (+ de 5 horas) es recomendable cambiar la hora a mano para acercarnos a la real y luego sincronizar:
C:\Users\Administrator>w32tm /resync Sending resync command to local computer The command completed successfully.
Por último hay que asegurarse de tener el puerto 123 abierto en el firewall: