Buscando un software de servidor NTP para Windows

Buscando un software de servidor NTP para Windows

Estoy buscando un servidor NTP, preferiblemente gratuito, para Windows Server 2003/2008. Ya probamos el servidor de hora integrado de Windows, pero nuestras pruebas mostraron que no es muy preciso, vemos diferencias horarias de hasta 500 ms. La diferencia de tiempo máxima que podemos permitir para nuestra aplicación es de ~100 ms.

Ahora ya hemos usado elMeinberg NTPdpara ventanas. Funciona muy bien excepto que tenemos un gran problema: si hay un problema de conexión de red entre el cliente y el servidor, el servidor ntp entra en estado de pánico. No le dará al cliente una nueva hora hasta que reiniciemos el servicio ntp. Este es un gran problema que nos ha causado algunos problemas. Funcionó bien durante meses hasta que hubo un problema de red que no notamos, solo lo notamos después de una semana cuando la diferencia horaria ya era de 30 segundos. sobre los clientes.

Por lo tanto, sugiera algún servidor NTP alternativo para Windows. Hice búsquedas en Google pero obtengo muchos resultados de búsqueda no relacionados.

Editar: Hasta ahora, la versión ntpd de Windows era muy precisa y me gustaría seguir con ella. El único problema es el "estado de pánico" después de una desconexión de la red. Quizás alguien sepa aquí cuál es la causa de esto y cómo solucionarlo. Además, olvidé mencionar que tenemos una configuración de servidor/cliente como esta:

Servidor1 --> Servidor2 --> Servidor3 --> Cliente1 --> Cliente2 --> Cliente3

Entonces, el Servidor2 obtiene su tiempo del Servidor1, el Servidor3 obtiene su tiempo del Servidor2 y los Clientes obtienen su tiempo del Servidor3. Además, hay clientes conectados directamente al Servidor2. Es importante que todos los Servidores y Clientes tengan exactamente el mismo tiempo (dentro de ~100ms)

Ahora había un problema de red con Server3 y sus clientes. Los servidores ejecutan el puerto ntpd para Windows, que actúa como servidor y cliente NTP. Los clientes tienen Dimension4 como cliente NTP. Después del problema de red, el mensaje de error en D4 era algo como este (se me viene a la cabeza, no tengo el mensaje de error exacto):

Respuesta del servidor: El servidor está en estado de pánico (no se pudo sincronizar el reloj)

Leí los documentos ntpd y la única mención de "pánico" es cuando la diferencia horaria es de 10000 segundos, lo que provocará la salida del servidor ntpd, pero este no fue el caso. También hay un interruptor de línea de comando "-g" para deshabilitar la salida de pánico, pero ya está configurado de forma predeterminada.

¿Alguna idea de qué podría causar el estado de pánico y cómo deshacerse de él la próxima vez?

Respuesta1

estoy usandoTiempo neto, desde hace muchos años, tanto como cliente como servidor.

Este software es principalmente un cliente NTP, pero también funciona bien como servidor NTP dentro de una LAN (opción: permitir que otra computadora se sincronice con esta computadora).

Respuesta2

Vemos mucho mejor que 500 ms en W32time, más bien 16 ms, que es la resolución de los temporizadores del sistema de Windows. Esto se mide mediante servidores NTPd Linux Stratum-2 reales en la misma LAN gigabit. Busque en Google "herramientas y configuración del servicio de hora de Windows" y lea sobre la configuración "updateinteval", que se puede modificar a través de la política de grupo o directamente en el registro. No puedo comprobarlo ahora, pero recuerdo que lo tenemos configurado en 100 para todos nuestros servidores, que es el valor predeterminado para los controladores de dominio, pero no para otros miembros del dominio de Windows.

Actualizado: De hecho, tenemos este valor establecido en 100 para todos nuestros servidores. Detalles de la configuración UpdateInterval:

Intervalo de actualización

Ruta de registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

Versión: Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008 y Windows Server 2008 R2.

Esta entrada especifica el número de tics de reloj entre ajustes de corrección de fase. El valor predeterminado para los controladores de dominio es 100. El valor predeterminado para los miembros del dominio es 30.000. El valor predeterminado para clientes y servidores independientes es 360.000.

Como puede ver, de forma predeterminada, W32time sólo "controla" el reloj una vez cada 30.000 tics para los controladores que no son de dominio, o mucho peor si no son miembros de un dominio. Un tic en Windows suele ser de 1/64 de segundo dependiendo del hardware, lo que significa que el reloj solo se ajusta una vez cada 8 minutos aproximadamente en la configuración predeterminada. Esto está bien para la mayoría de las aplicaciones, pero no para aplicaciones sensibles al tiempo.

Puede encontrar más información aquí: http://technet.microsoft.com/en-us/library/cc773263(v=ws.10).aspx#w2k3tr_times_tools_uhlp

Respuesta3

La lista de referencia del software de todos los tiempos enumerado por NIST esaquí. El que he usado en el pasado es el servidor Clockwatch. También te recomendaría que cambies tu topología de sincronización. server1 debe ser la fuente para todo el tiempo en la red (con los servidores 2 y 3 como copias de seguridad). Los clientes solo deben realizar sincronización entre pares si no hay ningún servidor disponible.

información relacionada