La sincronización NTP falla pero se puede acceder a los servidores NTP en Windows 10

La sincronización NTP falla pero se puede acceder a los servidores NTP en Windows 10

No puedo sincronizar mi reloj en Windows 10.

Cuando solicito una sincronización en el panel de control o al hacerlo, w32tm /resyncmi computadora envía algunos paquetes NTPv3 pool.ntp.org(configuro ese servidor manualmente, pero no importa qué servidor uso) y no obtengo una respuesta.

Sin embargo, si lo hago w32tm /monitor /computers:pool.ntp.org, funciona y puedo ver en Wireshark que mi computadora envía paquetes NTPv1 y obtiene una respuesta.

Sin embargo, si conecto mi computadora al punto de acceso móvil de mi teléfono, la sincronización de hora funciona con NTPv3. Además, otra computadora Linux en la misma red que mi Windows 10 puede sincronizarse sin problemas (y lo veo usando NTPv4).

Yo he tratado:

  • Reiniciar el servicio de hora de Windows
  • Restablecer el servicio de hora de Windows
  • Abrir el puerto 123 en el firewall del enrutador
  • Cambiar la configuración de DNS (yo uso DNS sobre TLS)

y no he conseguido que funcione.

Mi enrutador tiene una configuración NAT doble (es decir, Internet - Otro enrutador que no controlo - Mi enrutador - Mi PC), lo que puede causar problemas de NTP, pero no entiendo cómo se puede sincronizar mi computadora portátil Linux.

Edición 1:

Paquete NTP con respuesta Paquete NTP con respuesta

Paquete NTP sin respuesta Paquete NTP sin respuesta

Respuesta1

Como se discutió en los comentarios,la diferenciaes que el servicio W32time en Windows utiliza números de puerto NTP en modo "simétrico", donde tanto el destinoy fuenteLos números de puerto son 123, incluso cuando se comporta puramente como un cliente y no está configurado para funcionar como un par simétrico (tiene esa capacidad).

Esto significa que los firewalls sin estado no tienen forma de distinguir las respuestas entrantes de las consultas entrantes, ya que ambas llegan "al" puerto 123, y si el ISP tiene un filtro que le impide alojar un servidor NTP, también le impedirá usar NTP. clientes que trabajan en este modo.

El software NTP de Linux generalmente se adhiere a las especificaciones del protocolo y utiliza un puerto de origen efímero en modo cliente/servidor, como lo haría la mayoría de los otros programas UDP (el 123→123 es puramente para modo simétrico). Asimismo, la w32tmherramienta funciona porque sus opciones de monitor/gráfico de tiras hacen que genere sus propias consultas NTP, utilizando un socket normal vinculado a un puerto efímero.

  • Si tiene un sistema Linux o BSD que siempre está en línea, puede usar ese sistema como su servidor NTP interno (se necesita muy poca configuración para que, por ejemplo, Chrony o ntpd funcionen como un servidor de calidad media).

    Esto también debería funcionar para WSL2, ya que el reloj de su kernel no está estrictamente vinculado al reloj del host (hasta donde recuerdo). Debería ser posible ejecutar Chrony dentro de WSL2 como su servidor NTP y simplemente decirle que no intente actualizar el RTC.

  • Si tiene algún lugar para VPN, es posible que pueda usar la conexión VPN para NTP.

  • Los clientes NTP de Windows de terceros también deberían funcionar, especialmente si W32time ya utiliza el puerto local 123, ya que de todos modos no tendrán más remedio que utilizar otro puerto local. Por ejemplo,Tiempo netoParece que podría funcionar.

  • También pueden funcionar clientes de terceros para protocolos que no sean NTP, ya que no utilizan el mismo puerto UDP. La precisión no es tan buena como la de NTP, pero podría ser suficiente para una PC. Por ejemplo, el NIST publica sunistimecliente que puede utilizar NTP así como el antiguo protocolo RFC-868.

información relacionada