Un factor muy importante en una infraestructura Microsoft es tener bien configurado el servidor de hora. Un desfase de desincronización de 5 minutos entre un hosts y el servidor de tiempo puede provocar muchos problemas de autentificación.
Nuestro servidor principal de tiempo puede sincronizarse de 3 maneras diferentes para actualizar su hora:
- Contra un servidor de hora en internet
- Contra la un reloj conectado al ordenador.
- Contra el reloj interno de la CMOS
El proceso de polling del servicio w32time se repite en cada cliente cada 45 minutos por defecto. Si después de 3 intentos consecutivos se determina que está funcionando bien, se va incrementando hasta intervalos de 8 horas.
W32Time es el servicio necesario para el protocolo de autentificación Kerberos de Microsoft.
Las estaciones de trabajo se sincronizan contra el Maestro de operaciones (PDC emulator), haciendo un w32tm /monitor nos indica fácilmente cual es.
Por defecto, todos los DC y, los sistemas miembros, sincronizan automáticamente la hora con la jerarquía de dominios del PDC del dominio raíz del bosque. El PDC del dominio raíz del bosque es el único DC que se debería de configurar para sincronizar la hora desde uno o más recursos de hora configurados manualmente.
El resto de los equipos y servidores miembros deberían de utilizar la jerarquía de dominios, ya que reduce la sobrecarga administrativa y asegura que la hora esté completamente sincronizada con el dominio (para evitar errores de Kerberos por desincronización de la misma)
Nuestro sevidor central de la hora normalmentes se sincronizar contra un servidor externo a través del servicio SNTP (Simple Network Time Protocol). Para ello nuestro Firewall debe permitir esta consulta por el protocolo UDP puerto 123 tanto de entrada como de salida.
-Una solución sencilla para mantener la hora de todos los clientes en la red sincronizado sería
Net Time \\ServidorDeHora_DC /set /y
Este comando a mi me sirve de gran ayuda da la hora de sincronizar, se puede añadir en un script de inicio para que todas las estaciones tengan sincronizada la misma hora. Fuerza un equipo para sincronizar su hora con un determinado equipo.
- Si necesitamos sincronizar nuestro host y no podemos esperar a que lo haga de manera automatica contra nuestro Emulador de PDC debemos ejecutar el siguiente comando:
w32tm /resync /rediscover
- Para consultar quien es nuestro servidor sntp principal de hora (PDC)
Net Time /querysntp
- Para cambiar nuestro servidor de tiempo "extreno" o SNTP interno, se puede poner más de uno. Esto yo solo lo haría en nuestro servidor referente de nuestro dominio / red:
Net Time /setsntp:NuevoServidor
Este nuevo servidor debería ser una máquina en Internet que ofrezca este servicio.
- Restablece la hora de los equipos locales con el servidor de hora
w32tm /resync /rediscover
w32tm /config /manualpeerlist:NTP_Server_IP_Address,0x8 /syncfromflags:MANUAL /update
Accediendo con el regedit, debemos tener configurada la clave de registro de la siguiente manera:
Type: NTP para nuestro servidor principal que sale fuera y las máquinas que no son mienbras del AD
Para saber si podemos llegar a nuestro servidor:
portqry –n time.windows.com –e 123 –p UDP
Type: NT5DS Para miembros de AD. Que irá acompañado del comando (Nunca en nuestro servidor referente de NTP de la red dominio).
La configuración cliente de sincronización de dominio automática pondríamos:
w32tm /config /syncfromflags:domhier /update
Para nuestro servidor referemte también podemos ver/modificar el servidor de tiempo manualmente en la clave de registro
Nos debemos asegurar que nuestro PDC principal tenga un 5 en el siguiente registro.
Announce flag values:
0 Timeserv_Announce_No, Reliable_Timeserv_Announce_No. The domain controller does not advertise time service.1 Timeserv_Announce_Yes. The domain controller always advertises time service.
2 Timeserv_Announce_Auto. The domain controller automatically determines whether it should advertise time service.
4 Reliable_Timeserv_Announce_Yes. The domain controller will always advertise reliable time service.
8 Reliable_Timeserv_Announce_Auto. The domain controller automatically determines whether it should advertise reliable time service.
Flag 5 (1+4) means "The domain controller always advertises time service" and "The domain controller will always advertise reliable time service"
The default value for domain members is 10. The default value for stand-alone clients and servers is 10..
En nuestra GPO por defecto de los controladores de dominio deberíamos tener sin configurar
Explicación de los parametros:
/manualpeerlist nos dirá de donde sincronizar, servidores NTP.
/Syncfromflags puede ser "Manual" si no pertenece al AD y "domhier" cuando está en AD. Estos cambios debería hacer que el tipo pase de "NTP" si está fuera del AD a "NT5DS" cuando está en AD.
0x1: Si usamos nombre DNS para el servidor de tiempo. Si usamos IP se puede omitir.
Después de cambios importantes es recomendable
net stop w32time
net start w32time
w32tm /config /update
w32tm /resync /rediscoverw32tm /resync /force
Un comando que nos puede ser muy útil es el :
w32tm /monitor
Nos mostrará las diferencias de tiempo entre los DC de nuestro dominio.
W32tm /query /configuration : No mostrará las variables los valores que tienen configurados en el hosts que queramos consultar.
Otra consulta rápida
w32tm /query /source
Otra explicación rápida de Microsoft
(https://social.technet.microsoft.com/Forums/windows/en-US/04a5f3cc-14ae-4c19-98eb-76041ea33ae3/w32tm-problems-on-dc?forum=windowsserver2008r2general)
Si queremos ver como se hace en Windows 2012 en esta web lo explica muy bien:
http://www.bujarra.com/configurando-el-servidor-de-hora-en-windows-2012-r2/
Uso: Puntual, mensual.
http://blogs.technet.com/b/industry_insiders/archive/2006/08/29/w32-tm-service.aspx
Ref: http://wiki.mundy.co/NTP_time_sync_in_Windows_Server
GoN Rev3 Jun2015