Cómo sincronizar la hora con NTP en Linux


El Network Time Protocol (NTP) es un protocolo que se utiliza para sincronizar el reloj del sistema informático automáticamente a través de una red. La máquina puede hacer que el reloj del sistema utilice la hora universal coordinada (UTC) en lugar de la hora local.

Mantener la hora exacta en los sistemas Linux, especialmente en los servidores, es una tarea importante por muchas razones. Por ejemplo, en un entorno de red, se requiere un cronometraje preciso para obtener marcas de tiempo precisas en los paquetes y registros del sistema para el análisis de la causa raíz, determinar cuándo ocurrieron los problemas y encontrar correlaciones.

Chrony es ahora el paquete de implementación NTP predeterminado en las últimas versiones de sistemas operativos Linux como CentOS, RHEL, Fedora y Ubuntu/Debian, entre otros, y viene preinstalado de manera predeterminada. El paquete consta de chronyd, un demonio que se ejecuta en el espacio de usuario, y chronyc, un programa de línea de comandos para monitorear y controlar chronyd.

Chrony es una implementación de NTP versátil y funciona bien en una amplia gama de condiciones (consulte la comparación de la suite chrony con otras implementaciones de NTP). Se puede utilizar para sincronizar el reloj del sistema con servidores NTP (actuar como cliente), con un reloj de referencia (por ejemplo, un receptor GPS) o con una entrada de tiempo manual. También se puede emplear como un servidor NTPv4 (RFC 5905) o un par para proporcionar un servicio horario a otras computadoras en la red.

En este artículo, aprenderá a sincronizar la hora del servidor con NTP en Linux usando chrony.

Instalación de Chrony en el servidor Linux

En la mayoría de los sistemas Linux, el comando chrony no se instala de forma predeterminada. Para instalarlo, ejecute el siguiente comando.

$ sudo apt-get install chrony    [On Debian/Ubuntu]
$ sudo yum  install chrony       [On CentOS/RHEL]
$ sudo dnf install chrony        [On Fedora 22+]

Una vez que se complete la instalación, inicie el servicio chrony y habilítelo para que se inicie automáticamente al arrancar el sistema, luego verifique si está en funcionamiento.

# systemctl enable --now chronyd
# systemctl status chronyd

Para verificar si chrony ahora está funcionando correctamente y para ver la cantidad de servidores y pares que están conectados a él, ejecute el siguiente comando de chronyc.

# chronyc activity

Comprobación de la sincronización de Chrony

Para mostrar información (lista de servidores disponibles, estado y compensaciones del reloj local y la fuente) sobre las fuentes de tiempo actual a las que está accediendo Chronyd, ejecute el siguiente comando con el indicador -v que muestra la descripción para cada columna.

# chronyc sources
OR
# chronyc sources -v

Con respecto al comando anterior, para mostrar otra información útil para cada una de las fuentes que Chronyd está examinando actualmente (como la tasa de deriva y el proceso de estimación de compensación), utilice el comando sourcestats.

# chronyc sourcestats
OR
# chronyc sourcestats -v

Para verificar el seguimiento cronológico, ejecute el siguiente comando.

# chronyc tracking

En el resultado de este comando, el ID de referencia especifica el nombre (o dirección IP), si está disponible, del servidor con el que la computadora está sincronizada actualmente, de todos los servidores disponibles.

Configuración de fuentes de tiempo Chrony

El archivo de configuración principal de Chrony se encuentra en /etc/chrony.conf (CentOS/RHEL/Fedora) o /etc/chrony/chrony.conf (Ubuntu/Debian).

Al instalar un sistema operativo Linux en la nube, su sistema debe tener algunos servidores predeterminados o un grupo de servidores agregados durante el proceso de instalación. Para agregar o cambiar los servidores predeterminados, abra el archivo de configuración para editarlo:

# vim /etc/chrony.conf
OR
# vim /etc/chrony/chrony.conf

Puede agregar varios servidores usando la directiva de servidor como se muestra.

server 0.europe.pool.ntp.org iburst
server 1.europe.pool.ntp.org iburst
server 2.europe.pool.ntp.org ibusrt
server 3.europe.pool.ntp.org ibusrt

o en la mayoría de los casos, es mejor usar ntppool.org para encontrar un servidor NTP. Esto permite que el sistema intente encontrar los servidores disponibles más cercanos para usted. Para agregar un grupo, use la directiva de grupo:

pool 0.pool.ntp.org burst

Hay muchas otras opciones que puede configurar en el archivo. Después de realizar los cambios, reinicie el servicio Chrony.

$ sudo systemctl restart chrony		
OR
# systemctl restart chronyd

Para mostrar información sobre las fuentes de tiempo actual que está consultando Chronyd, ejecute el siguiente comando una vez más.

# chronyc sources

Para verificar el estado del seguimiento cronológico, ejecute el siguiente comando.

# chronyc tracking

Para mostrar la hora actual en su sistema, verifique si el reloj del sistema está sincronizado y si NTP está realmente activo, ejecute el comando timedatectl:

# timedatectl

Eso nos lleva al final de esta guía. Si tiene alguna pregunta, comuníquese con nosotros a través de la sección de comentarios a continuación. Para obtener más información, consulte: uso de chrony para configurar NTP desde el blog oficial de Ubuntu.