- 1 1. Introducción: Por qué la sincronización horaria es importante
- 2 2. ¿Qué es ntpd? Su papel y alternativas en Ubuntu
- 3 3. Instalación y configuración inicial de ntpd en Ubuntu
- 4 4. Configurando y Personalizando Servidores NTP
- 4.1 Seleccionando Servidores NTP Recomendados
- 4.2 Opciones de Configuración Detalladas en ntp.conf
- 4.3 Construyendo un Servidor NTP Local Dentro de una Red
- 4.4 Comprobando el estado del servicio
- 4.5 Comprobando el estado de sincronización (ntpq -p)
- 4.6 Errores comunes y cómo solucionarlos
- 4.7 Para monitoreo continuo
- 5 6. Comparación de ntpd con otras herramientas de sincronización horaria
- 6 7. Preguntas frecuentes (FAQ)
- 7 8. Conclusión: Mejorando la fiabilidad del sistema mediante una sincronización de tiempo estable
1. Introducción: Por qué la sincronización horaria es importante
Problemas causados por la deriva del tiempo del sistema
En sistemas Linux como Ubuntu, mantener una hora del sistema precisa es fundamental. A primera vista, una pequeña discrepancia del reloj puede parecer trivial, pero en operaciones de servidores y entornos de aplicaciones, incluso una ligera deriva horaria puede generar problemas graves.
Por ejemplo, pueden presentarse los siguientes problemas:
- Pérdida de consistencia de los registros Si las marcas de tiempo en los registros del sistema o de la aplicación están desalineadas, resulta difícil identificar la causa raíz de los incidentes.
- Fallos en los trabajos programados (cron) Tareas programadas como copias de seguridad o procesos por lotes pueden no ejecutarse en el momento correcto, provocando comportamientos inesperados.
- Errores en certificados SSL y autenticación de seguridad Las comunicaciones HTTPS y la autenticación SSH dependen de una hora del sistema exacta. Si el reloj está incorrecto, los certificados pueden considerarse “expirados” o “aún no válidos”, generando errores de conexión.
Estos problemas se vuelven especialmente graves cuando varios servidores deben estar sincronizados a través de una red.
El papel y la importancia de NTP
Para evitar dichos problemas, se utiliza NTP (Network Time Protocol). NTP se comunica con servidores de tiempo a través de Internet o de una red local y corrige automáticamente el reloj del sistema.
En Ubuntu, existen varias herramientas relacionadas con NTP, entre ellas ntpd, chrony y systemd-timesyncd. En este artículo nos centramos en ntpd (daemon del Network Time Protocol) y explicamos en detalle cómo instalarlo y usarlo en Ubuntu.
Para servidores que funcionan de forma continua durante largos periodos o sistemas donde la consistencia de los registros es esencial, ntpd es muy valorado por su estabilidad.
En la siguiente sección comenzaremos explicando qué es ntpd, cuál es su función principal y las opciones disponibles en Ubuntu.
2. ¿Qué es ntpd? Su papel y alternativas en Ubuntu
Visión general y características de ntpd
ntpd (Network Time Protocol Daemon) es un servicio en segundo plano que mantiene la hora del sistema precisa mediante NTP. Se comunica periódicamente con servidores NTP en Internet o en la red local y ajusta automáticamente el reloj del sistema.
Una característica clave de ntpd es su capacidad para realizar una “sincronización suave”, corrigiendo gradualmente la deriva horaria en lugar de efectuar cambios bruscos. Este diseño evita impactos negativos en los sistemas y aplicaciones en ejecución.
ntpd también soporta funciones avanzadas de NTP como la comunicación simétrica y la autenticación, lo que lo hace adecuado para entornos empresariales.
Herramientas de sincronización horaria disponibles en Ubuntu
Ubuntu ofrece varias opciones para la sincronización horaria:
- ntpd (paquete ntp) Muy usado en operaciones a largo plazo y entornos que requieren una configuración detallada. Ofrece alta flexibilidad y estabilidad, y puede sincronizar con precisión servidores NTP públicos.
- chrony Alternativa moderna a ntpd con gran precisión y sincronización inicial muy rápida. Funciona bien en sistemas de bajos recursos y máquinas virtuales, y muchas distribuciones lo utilizan por defecto.
- systemd-timesyncd Servicio ligero de sincronización horaria habilitado por defecto en Ubuntu 20.04 y versiones posteriores. Es sencillo y conveniente, pero limitado en funcionalidades y no apto para configuraciones avanzadas o para operar como servidor NTP local.
¿Por qué elegir ntpd?
La razón principal para elegir ntpd en Ubuntu es su fiabilidad y estabilidad. Es especialmente adecuado en los siguientes escenarios:
- Servidores que funcionan de forma continua durante largos periodos donde la precisión horaria es crítica.
- Entornos que requieren crear un servidor NTP local dentro de una red.
- Casos de uso empresariales que exigen autenticación y control granular.
Debido a su larga trayectoria operativa y amplia compatibilidad, ntpd brinda tranquilidad durante el despliegue.
3. Instalación y configuración inicial de ntpd en Ubuntu
Instalación de ntpd
Para usar ntpd en Ubuntu, primero debe instalar el paquete ntp. Esto se puede hacer fácilmente con los siguientes comandos:
sudo apt update
sudo apt install ntp
Esto instala ntpd y sus archivos relacionados. Dependiendo de la versión de Ubuntu, chrony o systemd-timesyncd podrían estar habilitados por defecto. En tales casos, se recomienda deshabilitarlos o eliminarlos con antelación.
sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd
Habilitando el Servicio y Verificando el Inicio
Después de la instalación, habilite el servicio ntpd y verifique que esté ejecutándose:
sudo systemctl enable ntp
sudo systemctl start ntp
sudo systemctl status ntp
Si el estado muestra active (running), ntpd está operando correctamente.
Verificando y Editando el Archivo de Configuración Inicial
La configuración de ntpd se define en /etc/ntp.conf. Por defecto, se configuran varios servidores NTP (generalmente del pool.ntp.org).
Primero, revise el archivo de configuración:
cat /etc/ntp.conf
Si desea especificar servidores ubicados en Japón, puede editar la configuración de la siguiente manera:
server ntp.nict.jp iburst
La opción iburst mejora la velocidad de sincronización durante la conexión inicial y se recomienda.
Después de realizar cambios, reinicie ntpd para aplicarlos:
sudo systemctl restart ntp
Verificando la Sincronización Automática de Tiempo
ntpd sincroniza automáticamente el tiempo después del inicio. Para verificar el funcionamiento correcto, use el siguiente comando:
ntpq -p
Este comando muestra una lista de servidores NTP conectados junto con retraso, offset y otra información detallada.
4. Configurando y Personalizando Servidores NTP
Seleccionando Servidores NTP Recomendados
Uno de los aspectos más importantes de la configuración de ntpd es seleccionar con qué servidores NTP sincronizar. Al conectarse a través de internet, especificar servidores NTP confiables ubicados geográficamente cerca —como servidores nacionales— puede proporcionar una sincronización de tiempo más estable y precisa.
Servidores NTP representativos en Japón incluyen:
ntp.nict.jp(Instituto Nacional de Tecnología de la Información y las Comunicaciones)ntp.jst.mfeed.ad.jp(JST / Mfeed)ntp.ring.gr.jp(Internet Multi Feed)
Estos servidores se operan basados en relojes atómicos de alta precisión y pueden usarse para fines personales sin registro especial.
Puede configurar la sincronización con estos servidores agregando las siguientes entradas a /etc/ntp.conf:
server ntp.nict.jp iburst
server ntp.jst.mfeed.ad.jp iburst
server ntp.ring.gr.jp iburst
Opciones de Configuración Detalladas en ntp.conf
El archivo /etc/ntp.conf permite un control detallado más allá de simplemente especificar servidores NTP. A continuación, se muestran algunas directivas comúnmente usadas.
- directiva restrict Controla qué clientes están permitidos o restringidos para acceder al servicio NTP. Por razones de seguridad, el acceso innecesario debe limitarse. Ejemplo: permitiendo acceso desde una red local.
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
- driftfile Especifica el archivo usado para registrar la deriva del reloj del sistema. En la mayoría de los casos, la configuración predeterminada es suficiente.
driftfile /var/lib/ntp/ntp.drift

Construyendo un Servidor NTP Local Dentro de una Red
Al usar ntpd en Ubuntu, también puede operar el sistema como un servidor NTP local que distribuye tiempo a otros dispositivos en una red interna. Esta configuración es útil en entornos sin acceso a internet o donde se requiere una gestión consistente del tiempo en múltiples sistemas.
Un procedimiento de configuración de ejemplo es el siguiente:
- Agregue una regla
restricta/etc/ntp.confpara permitir acceso local:restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap - Configure las PC cliente para referenciar el servidor NTP local:
server 192.168.0.10 iburst # IP local del servidor NTP - Permita el puerto NTP en el servidor (permita el puerto UDP 123 en el firewall):
sudo ufw allow 123/udp
Si la comunicación está bloqueada, la sincronización de tiempo fallará, y el comando ntpq no mostrará una conexión al servidor.
.## 5. Verificando el funcionamiento y solución de problemas de ntpd
Comprobando el estado del servicio
Para confirmar si ntpd se está ejecutando correctamente, use el siguiente comando:
sudo systemctl status ntp
Si se muestra active (running), ntpd está operando con normalidad. Si el estado es inactive o failed, puede que un error de configuración o una dependencia esté impidiendo el arranque.
Para obtener registros detallados, el siguiente comando es útil:
journalctl -u ntp
Esto le permite revisar el historial de inicio y los mensajes de error del servicio ntpd en orden cronológico.
Comprobando el estado de sincronización (ntpq -p)
El comando ntpq -p es el más usado para verificar si ntpd se está sincronizando correctamente con los servidores NTP.
ntpq -p
Salida de ejemplo:
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp.nict.jp .NICT. 1 u 25 64 377 1.123 -0.345 0.024
El significado de cada columna es el siguiente:
remote: Nombre del servidor NTP al que está conectadost: Estrato del servidor (un número menor indica mayor precisión; 1 indica referencia a un reloj atómico)reach: Registro de alcanzabilidad (historia de 8 bits)delay: Retardo de red (ms)offset: Desfase de tiempo (ms)jitter: Variación del desfase
Un servidor marcado con * es el que está seleccionado actualmente como fuente de sincronización.
Errores comunes y cómo solucionarlos
A continuación se presentan los problemas más habituales al desplegar ntpd y sus soluciones correspondientes.
1. No hay salida de ntpq -p / el valor de reach permanece en 0
- Causa : El puerto UDP 123 puede estar bloqueado por un firewall o router
- Solución : Verifique la configuración del firewall tanto en el servidor como en el cliente para asegurarse de que el tráfico NTP esté permitido.
sudo ufw allow 123/udp
2. Se muestra System clock not synchronized
- Causa : ntpd no está en ejecución, o otro servicio de sincronización (como systemd-timesyncd) está en conflicto
- Solución : Desactive los servicios de sincronización de tiempo innecesarios y reinicie ntpd.
sudo systemctl disable systemd-timesyncd sudo systemctl restart ntp
3. Falla al resolver nombres de servidores NTP
- Causa : Problemas de configuración DNS o de red
- Solución : Compruebe la resolución de nombres con comandos como
ping ntp.nict.jpy ajuste la configuración DNS si es necesario.
4. La hora está muy desfasada y no se sincroniza
- Causa : Por motivos de seguridad, ntpd no corrige automáticamente desfases de tiempo muy grandes
- Solución : Corrija manualmente la hora inicial y luego reinicie ntpd.
sudo ntpd -gq # Perform a one-time immediate synchronization sudo systemctl restart ntp
Para monitoreo continuo
En entornos de producción, se recomienda registrar periódicamente la salida de ntpq -p y configurar alertas para anomalías. Detectar señales como la ausencia de registros o un valor de reach que permanezca constantemente en 0 permite identificar fallas de forma temprana.
6. Comparación de ntpd con otras herramientas de sincronización horaria
Principales herramientas de sincronización horaria en Ubuntu
Ubuntu ofrece varias herramientas para la sincronización horaria, cada una con características distintas. Elegir la herramienta adecuada depende de los requisitos del sistema y del caso de uso.
- ntpd (paquete ntp)
- chrony
- systemd-timesyncd
Características de ntpd
- Ventajas
- Estabilidad y fiabilidad probadas, respaldadas por una larga trayectoria operativa
- Conjunto amplio de funciones con opciones de configuración granulares (servidores NTP locales, autenticación, modo simétrico)
Alta compatibilidad con servidores NTP públicos y abundantes recursos de solución de problemas
Desventajas
- La sincronización inicial después del arranque puede ser lenta
- Menos adaptable a entornos modernos como la virtualización y redes altamente variables
Características de chrony
- Ventajas
- Sincronización inicial muy rápida, incluso inmediatamente después del arranque
- Alta precisión en entornos virtualizados o de red variables (portátiles, VPNs)
- El aprendizaje adaptativo mejora la precisión con el tiempo, a veces superando a ntpd
- Desventajas
- Configuración ligeramente más compleja cuando se usa como servidor NTP local
- Menos documentación y menos ejemplos reales en comparación con ntpd
Características de systemd-timesyncd
- Ventajas
- Habilitado por defecto en Ubuntu 20.04 y posteriores, extremadamente fácil de gestionar
- Consumo mínimo de recursos con funcionalidad básica de sincronización
- Bien integrado con systemd y adecuado para configuraciones estándar de Ubuntu
- Desventajas
- Funcionalidades limitadas; la configuración avanzada y la operación como servidor NTP local no están soportadas
- La precisión y las capacidades de registro son básicas, lo que lo hace inadecuado para sistemas a gran escala
Tabla comparativa
| Feature | ntpd | chrony | systemd-timesyncd |
|---|---|---|---|
| Accuracy | High | Very High | Moderate |
| Initial Sync Speed | Sometimes Slow | Very Fast | Moderate |
| Local NTP Server | Excellent | Good (More Complex) | Not Supported |
| Configuration Flexibility | High | Medium | Low |
| Virtual Environment Support | Limited | Excellent | Good |
| Operational History & Resources | Excellent | Good | Limited |
| Recommended Use Cases | Servers, Organization-wide Sync | Virtual Environments, Laptops | Single PCs, Beginners |
Herramientas recomendadas según el caso de uso
- Entornos de servidor (especialmente sistemas siempre activos) → ntpd o chrony para estabilidad y precisión.
- Entornos en la nube, máquinas virtuales, portátiles → chrony ofrece la mayor flexibilidad y precisión.
- PCs individuales con necesidades básicas de sincronización → systemd-timesyncd es suficiente.
7. Preguntas frecuentes (FAQ)
Q1. ¿Está ntpd instalado por defecto en Ubuntu 22.04?
R1.
No. En Ubuntu 22.04, ntpd no está instalado por defecto. En su lugar, systemd-timesyncd está habilitado para la sincronización básica de tiempo. Para usar ntpd, debes instalar explícitamente el paquete ntp.
sudo apt install ntp
Después de la instalación, desactivar systemd-timesyncd ayuda a evitar conflictos.
Q2. ¿Por qué ntpq -p no muestra resultados?
R2.
Varias causas son posibles:
- El servicio no está en ejecución: Verifica con
sudo systemctl status ntpy arráncalo si es necesario - No hay comunicación con los servidores NTP: Asegúrate de que el puerto UDP 123 no esté bloqueado por un firewall
- Errores de configuración: Verifica que
/etc/ntp.confno contenga errores
Comienza ejecutando el siguiente comando para comprobar el funcionamiento básico:
ntpq -p
Si la salida está vacía o reach permanece en 0, es probable que la comunicación con servidores externos esté fallando.
Q3. ¿Debería elegir ntpd o chrony?
R3.
La elección óptima depende de tu entorno:
- Servidores físicos de larga duración o configuraciones de servidor NTP local → se recomienda
ntpdpor su estabilidad - Entornos virtuales, portátiles o redes variables (Wi‑Fi) →
chronyofrece mejor precisión y sincronización más rápida - Solo sincronización de tiempo simple →
systemd-timesyncdes suficiente
Q4. ¿Qué hace el comando ntpd -gq?
R4.
ntpd -gq realiza una sincronización única con un servidor NTP y luego finaliza.
-g: Permite la corrección incluso si la diferencia horaria es grande-q: Sincroniza una vez y sale (no se ejecuta como daemon)
Este comando es útil cuando la hora del sistema está significativamente incorrecta y la operación normal de ntpd no la ajustará automáticamente.
Q5. ¿Hay algún beneficio en especificar varios servidores NTP?
R5.
Sí. Especificar varios servidores NTP mejora la redundancia y la fiabilidad. Si un servidor deja de estar disponible, el sistema puede seguir sincronizándose con los demás.
Ejemplo de configuración en /etc/ntp.conf:
server ntp.nict.jp iburst
server ntp.jst.mfeed.ad.jp iburst
server ntp.ring.gr.jp iburst
8. Conclusión: Mejorando la fiabilidad del sistema mediante una sincronización de tiempo estable
Reconsiderando el valor de ntpd
En los sistemas Ubuntu, la sincronización precisa del tiempo no es solo una comodidad; impacta directamente en seguridad, resolución de problemas, gestión de registros y la corrección de los procesos automatizados.
Este artículo ha proporcionado una visión general completa de los fundamentos de NTP, cómo funciona la sincronización de tiempo con ntpd, pasos de instalación y configuración, opciones de personalización, métodos de verificación y resolución de problemas, y comparaciones con herramientas alternativas.
Consejos para los lectores
La elección de la herramienta de sincronización de tiempo en Ubuntu depende del propósito del sistema, la arquitectura y los requisitos de disponibilidad.
Sin embargo, el principio permanece universal: sin tiempo preciso, la operación estable del sistema es imposible.
- Entornos de servidor y sistemas intensivos en registros → Configure cuidadosamente
ntpdochrony - Sistemas individuales con requisitos simples → Use
systemd-timesyncdpara una configuración rápida
Aunque los problemas de sincronización de tiempo a menudo pasan desapercibidos en las operaciones diarias, se convierten en un diferenciador crítico al diagnosticar incidentes.
Use esta guía para construir una configuración de sincronización de tiempo que mejor se adapte a su entorno Ubuntu.


