Buscando un software de servidor NTP para Windows [cerrado]

8

Estoy buscando un servidor NTP, preferiblemente gratuito, para Windows Server 2003/2008. Ya hemos probado el Windows Time Server integrado, pero nuestras pruebas mostraron que no es muy preciso, vemos diferencias de tiempo 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 el Meinberg NTPd para Windows. 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 está en estado de pánico. No le dará al cliente un nuevo tiempo 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. en los clientes

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

Editar: Hasta ahora, la versión de Windows NTTP 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 algunos sepan 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 Server2 obtiene su tiempo de Server1, Server3 obtiene su tiempo de Server2 y los Clientes obtienen su tiempo de Server3. Además, hay clientes conectados directamente a Server2. Es importante que todos los servidores y clientes tengan exactamente el mismo tiempo (dentro de ~ 100 ms)

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 fue algo como esto (fuera de mi 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 hará que salga 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 emergencia, pero ya está configurado de manera predeterminada.

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

Scott Pack
fuente

Respuestas:

4

Estoy usando NetTime , desde hace muchos años, tanto como cliente como servidor.

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

lg.
fuente
Lo probé en nuestro entorno de prueba y tengo 2 problemas con NetTime: la precisión es similar al servicio w32time de Windows, por lo que obtengo una diferencia de hasta 500 ms, en segundo lugar, utilizamos Dimension4 en nuestros clientes para obtener el tiempo los clientes, y no se sincronizan con NetTime porque si un "estrato inválido", por lo que leí, NetTime se registra con un estrato de 16
Lo siento, nunca necesité esta precisión, así que no conocía estos problemas.
lg.
2

Vemos mucho mejor que 500 ms desde W32time, más como 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. Google "herramientas y configuraciones del servicio horario de Windows" y lea sobre la configuración del "intervalo de actualización", que puede modificarse mediante la política de grupo o directamente en el registro. No puedo comprobarlo en este momento, pero recuerdo que tenemos ese valor establecido en 100 para todos nuestros servidores, que es el 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. Los detalles de la configuración UpdateInterval:

Intervalo de actualización

Ruta del 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 los 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, por defecto W32time solo "dirige" 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. Una marca en Windows suele ser 1/64 de segundo dependiendo del hardware, lo que significa que el reloj solo se ajusta una vez cada 8 minutos en la configuración predeterminada. Esto está bien para la mayoría de las aplicaciones, pero no está bien para las 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

rmalayter
fuente
1

La lista de referencia de todos los programas de tiempo enumerados por NIST está aquí . El que he usado en el pasado es el servidor de reloj. También le recomendaría que cambie su topología de sincronización. server1 debe ser la fuente de todos los tiempos en la red (con el servidor 2 y 3 como copias de seguridad). Los clientes solo deben sincronizarse entre pares si no hay un servidor disponible.

Jim B
fuente