Sincronización horaria en Active Directory con GPS: guía NTP para Windows Server

¿Quieres precisión horaria en tu bosque de Active Directory sin depender de Internet? Sí, puedes hacerlo con GPS. La clave es interponer un servidor NTP (appliance o software) entre la antena GPS y Windows, y configurar el PDC Emulator del bosque para sincronizarse con él. Aquí tienes la guía completa.

Índice

Resumen de la pregunta

¿Se puede sincronizar la hora en un entorno AD con una antena GPS local? Sí, a través de un servidor NTP que reciba la señal del GPS y publique tiempo a la red. ¿Cómo se configura? Haz que el PDC Emulator del bosque apunte a ese NTP y mantén la jerarquía nativa de Windows Time. ¿La sincronización se limita al PDC? La fuente “autoritaria” externa suele ser solo el PDC Emulator del dominio raíz del bosque; los demás DCs y equipos heredan en cascada.

Idea clave

Windows no lee directamente una antena GPS desde W32Time. Debes usar un servidor NTP con GPS (appliance o software como ntpd/chrony o el port de NTP para Windows, p. ej., Meinberg). El PDC Emulator se sincroniza contra ese NTP local, y el resto de la infraestructura sigue la jerarquía de Active Directory.

Cómo funciona el tiempo en Active Directory

La sincronización se basa en el servicio Windows Time (W32Time) y en la jerarquía de roles de AD:

  • PDC Emulator del dominio raíz del bosque: actúa como fuente autoritativa para todo el bosque.
  • PDCs de dominios hijos: se sincronizan con controladores del dominio padre (por jerarquía).
  • Otros DCs: se sincronizan con el PDC de su propio dominio.
  • Equipos miembro y servidores: se sincronizan con sus DCs del sitio.

Este diseño está pensado para garantizar coherencia horaria y minimizar el tráfico entre sitios. Kerberos acepta una desviación máxima reducida, por lo que mantener esta jerarquía evita errores de autenticación, tickets inválidos y eventos de seguridad engañosos.

Modelo recomendado con GPS local

  1. Servidor NTP con GPS: puede ser un appliance con receptor GPS y señal PPS, o un servidor (Linux/Windows) con NTP que consuma NMEA/PPS del receptor GPS.
  2. PDC Emulator del bosque: apúntalo al servidor NTP con GPS (y a otra(s) fuente(s) de respaldo).
  3. Resto de AD: no rompas la jerarquía. DCs y clientes siguen sincronizando vía dominio.
  4. Redundancia y monitorización: al menos dos fuentes NTP, alertas de deriva y comprobaciones periódicas.

Topología de referencia

ComponenteFunciónEjemplo de origen de tiempo
Receptor GPS + PPSReloj primarioAntena en techo con vista de cielo
Servidor NTP con GPSConvierte GPS/PPS a NTPAppliance o Linux con chrony/ntpd
PDC Emulator (bosque)Fuente autoritativa para ADCliente NTP hacia el NTP con GPS
DCs de cada dominioDistribuyen tiempo a clientesCliente NTP hacia PDC del dominio
Clientes/servidoresConsumen tiempoCliente NTP vía W32Time hacia DCs

Implementación paso a paso

Desplegar un servidor NTP con GPS

Tienes dos enfoques principales:

  • Appliance NTP con GPS: caja comercial con receptor GPS y PPS incorporado; se administra por web/CLI y publica NTP.
  • Servidor propio:
    • Linux + chrony/ntpd leyendo gpsd, NMEA y PPS.
    • Windows + NTP de terceros (p. ej., Meinberg NTP) que soporte refclocks GPS cuando el hardware lo permita.

Ejemplo con Linux y chrony

Supongamos que el GPS expone NMEA vía /dev/ttyS0 y PPS vía /dev/pps0 (mediado por gpsd o ldisc). Un chrony.conf típico incluiría:

# Relojes de referencia
refclock SHM 0 poll 4 offset 0.5 refid NMEA
refclock PPS /dev/pps0 poll 4 refid PPS prefer

Servidores de respaldo (opcional)

server pool.ntp.org iburst

Redes autorizadas a consultar/recibir tiempo

allow 10.0.0.0/8
allow 192.168.0.0/16

Opciones de estabilidad

makestep 1.0 3
rtcsync 

Notas:
PPS como prefer aporta precisión sub‑milisegundo.
makestep permite un paso inicial rápido si hay gran desfase.
• Ajusta offset en NMEA según el retardo de tu receptor.

Ejemplo con ntpd (Linux/Windows con port de NTP)

# NMEA + PPS
server 127.127.20.0 mode 0 prefer    # NMEA
fudge  127.127.20.0 flag1 1 time1 0.500

server 127.127.22.0                   # PPS
fudge  127.127.22.0 refid PPS

Respaldo

server 0.pool.ntp.org iburst

restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict 10.0.0.0 mask 255.0.0.0 nomodify 

Apuntar el PDC Emulator al NTP con GPS

En el PDC Emulator del dominio raíz del bosque (Windows Server), configura W32Time para sincronizarse de forma manual con tu NTP de GPS y opcionalmente con una segunda fuente de respaldo:

w32tm /config /manualpeerlist:"ntp-gps.local,0x8 ntp-respaldo.local,0x8" /syncfromflags:manual /reliable:yes /update
net stop w32time && net start w32time
w32tm /resync /nowait

Comprueba el estado y los pares:

w32tm /query /status
w32tm /query /peers

Recomendación: mantén al menos dos fuentes (GPS local + fuente externa o segunda appliance GPS) para resiliencia.

Configurar por directiva de grupo

Si prefieres estandarizar vía GPO, utiliza las plantillas administrativas:

  • Computer Configuration > Administrative Templates > System > Windows Time Service > Time Providers > Configure Windows NTP Client.
  • Establece:
    • NtpServer: ntp-gps.local,0x8 ntp-respaldo.local,0x8
    • Type: NTP (en el PDC del bosque). En el resto, usa NT5DS para seguir la jerarquía.
    • SpecialPollInterval: por ejemplo, 900 (15 min) si se usa sondeo especial.

Puertos y cortafuegos

OrigenDestinoProtocolo/puertoComentario
PDC EmulatorServidor NTP con GPSUDP 123Consulta de tiempo saliente
DCs y clientesDCs/PDC del dominioUDP 123Tráfico NTP dentro del dominio
GPSServidor NTP con GPSSerie/USB/PPSConexión física local (no IP)

Buenas prácticas y decisiones de diseño

  • No rompas la jerarquía de AD: evita que clientes o DCs apunten directamente a la appliance GPS. Centraliza en el PDC del bosque.
  • Redundancia: dos NTP como mínimo. Si ambos son GPS, colócalos en ubicaciones físicas y energéticas distintas.
  • Monitoriza la deriva: usa w32tm /monitor, contadores de rendimiento y registros de eventos para alertar por desvíos > 500 ms.
  • Virtualización: en DCs virtuales, desactiva la sincronización de hora del hipervisor/integrations y deja que W32Time gestione el tiempo. Evita bucles entre host y VM.
  • Seguridad: limita quién puede consultar tu NTP, registra accesos y considera autenticación NTP por claves simétricas en entornos regulados. Si necesitas NTS, coloca un relay/proxy que hable NTS hacia fuera y NTP clásico hacia dentro.
  • Ubicación de antena: la vista de cielo estable es esencial; evita cableados largos sin amplificación o pérdidas altas.

Comandos útiles en Windows

AcciónComandoNotas
Ver estadow32tm /query /statusFuente, desfase, última sincronización
Ver paresw32tm /query /peersLista de servidores NTP configurados
Probar conectividadw32tm /stripchart /computer:ntp-gps.local /samples:15 /dataonlySerie de offset en ms para diagnóstico
Forzar resincronizaciónw32tm /resync /nowaitRequiere conectividad UDP 123
Supervisar DCsw32tm /monitorOffset de múltiples miembros del dominio
Reiniciar servicionet stop w32time && net start w32timeAplica cambios rápidos

Ajustes finos de W32Time

Algunos valores de registro y políticas ayudan a controlar comportamientos ante grandes desfasajes o frecuencia de sondeo:

ParámetroUbicaciónUso recomendado
TypeHKLM\SYSTEM\CurrentControlSet\Services\W32Time\ParametersNTP para PDC del bosque; NT5DS para el resto.
NtpServerIgual que arribaP. ej., ntp-gps.local,0x8 (y respaldo).
SpecialPollInterval...\TimeProviders\NtpClientIntervalo de sondeo en segundos si usas special poll (p. ej., 900).
MaxPosPhaseCorrection / MaxNegPhaseCorrection...\ConfigLímites para corregir grandes saltos (en segundos). Evita valores “ilimitados”.
AnnounceFlags...\ConfigSe ajusta con /reliable:yes para marcar el PDC como fuente confiable.

Sobre los flags ,0x8: el sufijo más usado en NtpServer indica modo cliente adecuado para W32Time. Mantén esta convención salvo que un requisito específico te lleve a combinaciones avanzadas.

Configuración segura para múltiples sitios

  • Ubica el NTP con GPS en un sitio central con buena conectividad.
  • Configura Sites and Services correctamente para que los clientes consulten DCs locales y eviten latencias transcontinentales.
  • Evita que cada sitio use fuentes externas distintas: conduciría a islas de tiempo y a fallos intermitentes de Kerberos.

Escenarios en los que sí puedes desviar la regla

EscenarioDesviación controladaRiesgo
DMZ sin confianza de dominioEquipos de DMZ apuntan a NTP perimetral (relay del mismo GPS)Bajo si no mezclas con miembros de dominio
Instrumentación críticaEquipos OT apuntan a appliance GPS dedicadoMedio: vigila desvíos frente a AD
Laboratorios aisladosPDC de laboratorio con su propio GPSBajo: aislamiento mitigará discrepancias

Verificación y validación

  1. El PDC Emulator del bosque muestra como Source el NTP con GPS en w32tm /query /status.
  2. Los DCs muestran como fuente al PDC de su dominio.
  3. Clientes apuntan a DCs locales. Compruébalo con w32tm /query /peers y nltest /dsgetdc:dominio.
  4. Offset estable: w32tm /stripchart debería mostrar oscilaciones cortas y centradas cercano a 0 ms (en LAN).
  5. Registros: el canal Microsoft‑Windows‑Time‑Service no reporta errores repetidos ni correcciones desmesuradas.

Solución de problemas

  • Desfase grande tras la puesta en marcha: usa makestep en chrony/ntpd y luego vuelve a correcciones suaves. En Windows, fuerza primera resincronización con w32tm /resync tras arrancar el servicio.
  • Puertos bloqueados: verifica UDP 123 con Test-NetConnection -Port 123 -Udp -ComputerName ntp-gps.local.
  • Bucles con hipervisor: desactiva “Time Sync” en las integraciones de las VMs que sean DCs.
  • Relojes inconsistentes entre sitios: revisa topología de AD Sites, latencia de replicación y que todos los DCs sigan el PDC correcto.
  • GPS inestable: asegúrate de buena vista de cielo, antena activa, cableado de baja pérdida, y preferencia PPS activa.

Ejemplo completo de configuración

Servidor NTP con GPS

# chrony.conf resumido
refclock SHM 0 poll 4 offset 0.5 refid NMEA
refclock PPS /dev/pps0 poll 4 refid PPS prefer
allow 10.0.0.0/8
makestep 1.0 3
rtcsync

PDC Emulator del bosque

:: Establecer NTP manual y marcar como fiable
w32tm /config /syncfromflags:manual /manualpeerlist:"ntp-gps.local,0x8 ntp-backup.local,0x8" /reliable:yes /update
net stop w32time && net start w32time
w32tm /resync /nowait

\:: Consultas
w32tm /query /status
w32tm /query /peers
w32tm /monitor 

Resto de controladores de dominio y clientes

Mantén Type=NT5DS por GPO o por defecto, para seguir la jerarquía del dominio. No configures fuentes externas en DCs no‑PDC salvo una razón muy justificada.

Nivel de soporte

  • Microsoft soporta W32Time, la topología de sincronización de AD y la configuración del PDC Emulator como origen autoritativo.
  • GPS y software NTP de terceros (appliance, chrony/ntpd, ports de NTP para Windows) están bajo soporte del fabricante correspondiente.
  • Compatibilidad práctica: totalmente válido que el PDC se sincronice contra un servidor NTP local respaldado por GPS y el resto se atenga a la jerarquía estándar.

Ventajas y consideraciones

  • Ventajas: independencia de Internet, precisión elevada con PPS, control local, cumplimiento regulatorio en entornos cerrados.
  • Costes: hardware GPS, instalación de antena y operación del servidor NTP.
  • Riesgos mitigables: pérdida de señal (usa respaldo), errores de cableado, configuraciones que rompen la jerarquía.

Métricas a vigilar

MétricaDónde verlaObjetivo
Offset del PDCw32tm /stripchart< 10 ms LAN, estable
Fuentes válidasw32tm /query /peers / chronyc sourcesAl menos dos, una preferida
Eventos W32TimeVisor de eventosSin errores repetidos
Estado GPSAppliance/chronySatélites en seguimiento y PPS activo

Preguntas frecuentes

¿Puedo conectar la antena GPS directamente al PDC y que W32Time la lea?
No. W32Time no consume GPS ni PPS directamente. Necesitas un servicio NTP que convierta esa señal en NTP estándar.

¿Debo configurar todos los DCs para apuntar al GPS?
No. Configura solo el PDC del dominio raíz del bosque hacia el GPS/NTP. El resto sigue la jerarquía de AD.

¿Puedo usar un segundo GPS como respaldo?
Sí. Idealmente en otra ubicación. Añádelo a la lista de pares en el PDC.

¿Qué hay de NTS?
Windows Time no implementa NTS a día de hoy. Si necesitas NTS, coloca un relay que hable NTS hacia proveedores externos y NTP clásico hacia tu dominio.

¿Qué pasa con los leapseconds?
Los demonios NTP/chrony y appliances fiables gestionan anuncios de segundo intercalar. Mantén el PDC consumiendo de esas fuentes para propagar un estado coherente.

Checklist de puesta en producción

  • Servidor NTP con GPS operativo con PPS preferido y respaldo externo.
  • PDC Emulator del bosque apuntando a ese NTP y marcado como confiable.
  • GPO aplicada: Type=NT5DS en DCs no‑PDC y clientes.
  • UDP 123 permitido en la ruta PDC ↔ NTP con GPS y DCs ↔ clientes.
  • Monitorización activa de offset, eventos y estado GPS.
  • Integraciones de tiempo del hipervisor desactivadas en DCs.

Conclusión

Usar GPS en entornos AD es totalmente viable y recomendable cuando necesitas precisión, resiliencia o independencia de Internet. La receta es simple: un servidor NTP que consuma la señal GPS, el PDC Emulator del bosque sincronizado contra él, y el resto del dominio respetando la jerarquía nativa de Windows. Con redundancia, monitorización y una antena bien instalada, obtendrás un tiempo estable, seguro y exactamente donde lo necesitas.

En síntesis: sí es posible usar GPS en entornos AD, pero siempre a través de un servidor NTP intermedio. Configura el PDC para sincronizar con ese NTP y deja que la cadena de confianza de AD haga el resto.

Índice