Technical Anshu
Tutorials Blog
🕐 Solución de sincronización NTP

Ubuntu NTP no sincroniza el servicio Fix Timesyncd y las comprobaciones de red

Su zona es correcta, el reloj del hardware está bien, pero el tiempo aún se desvía: un minuto este mes, cinco el próximo. Esa es la corrección de Internet que está fallando silenciosamente. El cliente de sincronización de Ubuntu es systemd-timesyncd y falla sólo de algunas maneras. Aquí están, en orden.

✍️ Technical Anshu🐧 Ubuntu⏱️ 6 minute read
🎥 Mire el video completo: cada corrección de tiempo de Ubuntu se muestra en vivo, paso a paso

Ubuntu mantiene su reloj honesto preguntando a los servidores de tiempo a través de Internet: eso es NTP. El cliente integrado es systemd-timesyncd: deliberadamente simple, le pregunta a un servidor, acelera o facilita que su reloj coincida e informa el éxito en una línea de timedatectl: Reloj del sistema sincronizado: sí. Cuando esa línea dice no arranque tras arranque, una de tres cosas está mal: la sincronización está desactivada, el servicio no se está ejecutando o la red está consumiendo sus paquetes. Cada uno tiene una solución diferente, así que verifique en orden.

Terminal - a sync client that has never reached a server
$ timedatectl timesync-status Server: n/a Poll interval: 0 (min: 32s; max: 34min 8s) Packet count: 0
El recuento de paquetes 0 y el servidor n/a significa que timesyncd no ha completado ni un solo intercambio. Es posible que el servicio esté funcionando perfectamente; simplemente no puede obtener una respuesta. Salida de ejemplo.
1

Confirme el síntoma en un solo comando

  1. Ejecute timedatectl y lea dos líneas: Reloj del sistema sincronizado y servicio NTP
  2. Servicio NTP: inactivo significa que la sincronización está completamente desactivada; vaya al paso 2
  3. Servicio NTP: activo pero sincronizado: no significa que lo está intentando y falla; vaya al paso 3
  4. Ejecute timedatectl timesync-status: un cliente en buen estado nombra un servidor y muestra un recuento de paquetes superior a cero

También tenga en cuenta el tamaño de error real con date en su teléfono. Minutos de deriva con fallas de sincronización son esta página; un salto exacto de compensación de zona es la falla del arranque dual, no ésta.

2

Active la sincronización: en Configuración o mediante comando

  1. Ruta GUI: Configuración, luego Fecha y hora, active Fecha y hora automáticas
  2. Ruta terminal: timedatectl set-ntp true
  3. Espere un minuto con Internet conectado, luego ejecute timedatectl nuevamente
  4. La línea sincronizada debería cambiar a sí y el reloj debería corregirse solo.

Si alguien (o un experimento anterior) desactivó esto, no se necesita nada más en esta página. Te sorprendería saber con qué frecuencia esta es toda la historia.

3

Verifique y reinicie el servicio timesyncd

  1. Vea el estado del servicio: systemctl status systemd-timesyncd - desea activo (en ejecución)
  2. Si se detiene o falla, reinícielo: sudo systemctl restart systemd-timesyncd
  3. Espere unos segundos, luego verifique timedatectl timesync-status para ver si hay un servidor con nombre y un recuento de paquetes en aumento
  4. Si el servicio no sigue ejecutándose, su registro reciente explica el motivo: journalctl -u systemd-timesyncd -n 30

No reinstale nada todavía: un servicio que se ejecuta pero nunca se sincroniza apunta a la red, que es el siguiente paso.

4

Sospeche de la red: NTP utiliza el puerto UDP 123

La sincronización horaria no viaja como el tráfico web. Utiliza el puerto UDP 123 y algunas redes lo bloquean o interrumpen silenciosamente:

  1. Las redes de oficinas y campus a veces obligan a todas las máquinas a utilizar un servidor de hora interno y bloquear NTP externo.
  2. Algunos enrutadores y configuraciones de ISP manejan mal UDP, por lo que la solicitud se retira y no regresa ninguna respuesta.
  3. La prueba honesta es una red diferente: conéctese a un punto de acceso telefónico durante dos minutos y vuelva a verificar timedatectl
  4. Si se sincroniza instantáneamente en el punto de acceso, su Ubuntu está en buen estado y su red principal es la falla; en redes administradas, solicite al administrador su servidor NTP interno en lugar de luchar contra el bloqueo.

Culpar a Ubuntu por un puerto bloqueado hace perder exactamente el tiempo que esta guía intenta ahorrarle.

5

Sepa qué es timesyncd y cuándo reemplazarlo

Sea claro acerca de la herramienta: systemd-timesyncd es un cliente simple, no un demonio NTP completo. No sirve de tiempo para otras máquinas y su estilo de corrección es básico, adecuado para computadoras de escritorio y portátiles.

  1. Para una máquina doméstica normal, una vez que la sincronización funcione, déjela como está.
  2. Para servidores y máquinas virtuales siempre activas, la herramienta más pesada es chrony: instálela con sudo apt install chrony y reemplaza a timesyncd como motor de sincronización.
  3. Chrony maneja grandes saltos después de la suspensión o la restauración de instantáneas con mayor elegancia e informa su estado con chronyc tracking
  4. No ejecute ambos a la vez: dos motores de sincronización que funcionan al mismo tiempo luchan entre sí

La herramienta incorrecta para el trabajo es una causa real de que "la sincronización nunca se establece", especialmente en los servidores.

🕐 Límite honesto: timesyncd corrige el reloj en pasos cuando el error es grande. Si ve que el tiempo salta una vez después de arreglar la sincronización, eso significa que llega la corrección, no una nueva falla. Observa la línea sincronizada, no el salto.

Mira la guía en vídeo completa

Mire el video para ver las verificaciones de sincronización de tiempo en vivo: estado del servicio, estado de sincronización y la prueba del punto de acceso que separa una falla de PC de una falla de red.

Watch Full Video
❓ Preguntas comunes (FAQ)

timedatectl dice que el servicio NTP está activo pero sincronizado no. ¿Qué significa eso?

El cliente se está ejecutando y preguntando, pero el servidor aún no ha respondido correctamente, o no ha respondido en absoluto. Reinicie systemd-timesyncd una vez y luego pruebe en una red diferente, como un punto de acceso telefónico. La sincronización allí demuestra que la red estaba bloqueando el puerto UDP 123.

La red de mi oficina se bloquea fuera de NTP. ¿Aún puedo sincronizar?

Sí, en su lugar apunte la máquina al servidor de tiempo interno de la organización, que es para lo que generalmente está diseñado el bloqueo. Pregúntele a su administrador de red su dirección. En su propia red doméstica, no debería existir tal bloqueo; Si la sincronización también falla allí, verifique el enrutador.

¿Debo reemplazar timesyncd con chrony en mi computadora portátil?

Normalmente no es necesario. Timesyncd es suficiente para una computadora de escritorio o portátil que duerme y se activa en redes normales. Chrony se gana su lugar en servidores, máquinas virtuales y máquinas que se despiertan después de largos períodos de inactividad con grandes saltos de reloj. Ejecutar ambos juntos es lo único que se debe evitar.

Esta guía se basa en el video de corrección de tiempo técnico de Anshu Ubuntu: atascado en cualquier paso, pregunte en los comentarios del video y obtendrá una respuesta.