¿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.
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
- 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.
- PDC Emulator del bosque: apúntalo al servidor NTP con GPS (y a otra(s) fuente(s) de respaldo).
- Resto de AD: no rompas la jerarquía. DCs y clientes siguen sincronizando vía dominio.
- Redundancia y monitorización: al menos dos fuentes NTP, alertas de deriva y comprobaciones periódicas.
Topología de referencia
Componente | Función | Ejemplo de origen de tiempo |
---|---|---|
Receptor GPS + PPS | Reloj primario | Antena en techo con vista de cielo |
Servidor NTP con GPS | Convierte GPS/PPS a NTP | Appliance o Linux con chrony/ntpd |
PDC Emulator (bosque) | Fuente autoritativa para AD | Cliente NTP hacia el NTP con GPS |
DCs de cada dominio | Distribuyen tiempo a clientes | Cliente NTP hacia PDC del dominio |
Clientes/servidores | Consumen tiempo | Cliente 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, usaNT5DS
para seguir la jerarquía. - SpecialPollInterval: por ejemplo,
900
(15 min) si se usa sondeo especial.
- NtpServer:
Puertos y cortafuegos
Origen | Destino | Protocolo/puerto | Comentario |
---|---|---|---|
PDC Emulator | Servidor NTP con GPS | UDP 123 | Consulta de tiempo saliente |
DCs y clientes | DCs/PDC del dominio | UDP 123 | Tráfico NTP dentro del dominio |
GPS | Servidor NTP con GPS | Serie/USB/PPS | Conexió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ón | Comando | Notas |
---|---|---|
Ver estado | w32tm /query /status | Fuente, desfase, última sincronización |
Ver pares | w32tm /query /peers | Lista de servidores NTP configurados |
Probar conectividad | w32tm /stripchart /computer:ntp-gps.local /samples:15 /dataonly | Serie de offset en ms para diagnóstico |
Forzar resincronización | w32tm /resync /nowait | Requiere conectividad UDP 123 |
Supervisar DCs | w32tm /monitor | Offset de múltiples miembros del dominio |
Reiniciar servicio | net stop w32time && net start w32time | Aplica 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ámetro | Ubicación | Uso recomendado |
---|---|---|
Type | HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters | NTP para PDC del bosque; NT5DS para el resto. |
NtpServer | Igual que arriba | P. ej., ntp-gps.local,0x8 (y respaldo). |
SpecialPollInterval | ...\TimeProviders\NtpClient | Intervalo de sondeo en segundos si usas special poll (p. ej., 900). |
MaxPosPhaseCorrection / MaxNegPhaseCorrection | ...\Config | Límites para corregir grandes saltos (en segundos). Evita valores “ilimitados”. |
AnnounceFlags | ...\Config | Se 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
Escenario | Desviación controlada | Riesgo |
---|---|---|
DMZ sin confianza de dominio | Equipos de DMZ apuntan a NTP perimetral (relay del mismo GPS) | Bajo si no mezclas con miembros de dominio |
Instrumentación crítica | Equipos OT apuntan a appliance GPS dedicado | Medio: vigila desvíos frente a AD |
Laboratorios aislados | PDC de laboratorio con su propio GPS | Bajo: aislamiento mitigará discrepancias |
Verificación y validación
- El PDC Emulator del bosque muestra como Source el NTP con GPS en
w32tm /query /status
. - Los DCs muestran como fuente al PDC de su dominio.
- Clientes apuntan a DCs locales. Compruébalo con
w32tm /query /peers
ynltest /dsgetdc:dominio
. - Offset estable:
w32tm /stripchart
debería mostrar oscilaciones cortas y centradas cercano a 0 ms (en LAN). - 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 conw32tm /resync
tras arrancar el servicio. - Puertos bloqueados: verifica
UDP 123
conTest-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étrica | Dónde verla | Objetivo |
---|---|---|
Offset del PDC | w32tm /stripchart | < 10 ms LAN, estable |
Fuentes válidas | w32tm /query /peers / chronyc sources | Al menos dos, una preferida |
Eventos W32Time | Visor de eventos | Sin errores repetidos |
Estado GPS | Appliance/chrony | Saté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.