Cómo instalar NTP usando Chrony en Linux

Mantener la fecha y la hora exactas en un sistema Linux es muy importante porque muchos servicios, como trabajos cron y scripts, dependen de la hora exacta para funcionar correctamente. Network Time Protocol, abreviado como NTP, es un protocolo que mantiene la hora exacta en un sistema Linux. Es un protocolo de Internet que desempeña un papel en la sincronización de los relojes de un sistema Linux con los servidores NTP en línea disponibles.

El viejo demonio ntpd que se usaba para sincronizar la configuración de fecha y hora está desactualizado y no está disponible para sistemas Linux modernos como Ubuntu 20.04. Fedora 30 y CentOS 8. En su lugar, tenemos chrony, que es una implementación NTP desarrollada por RedHat.

Chrony toma la mejor decisión por las siguientes razones:

  • Chrony sincroniza la hora mucho más rápido que su predecesor, NTP.
  • Esto compensa la latencia de la red y los problemas de latencia.
  • Sigue funcionando bien incluso con la degradación de la calidad de la red.
  • Puede configurar un servidor local usando chrony para que actúe como un servidor de hora desde el cual el resto de las PC cliente pueden recuperar la configuración de fecha y hora.

Estructura crónica

Chrony incluye el demonio chronyd y la herramienta de línea de comandos chronyc. El demonio Chronyd se ejecuta en segundo plano y sincroniza la hora del sistema con los servidores definidos en el archivo /etc/chrony.conf.

La utilidad de línea de comandos Chronyc permite a los usuarios interactuar con Chrony y extraer la mayor cantidad de información posible. Comenzaremos instalando Chrony en varias distribuciones de Linux.

Instalar Chronyd en Linux

Chronyd se instala de forma predeterminada en los sistemas modernos. Sin embargo, chrony no está incluido en sistemas Linux más antiguos que todavía dependen del paquete NTP heredado.

Entonces, así es como puedes instalar Chrony.

En Ubuntu/Debian/Mint

$ sudo apt-get install chronyd

En CentOS/RHEL

$ sudo yum install chronyd

Después de la instalación, habilite e inicie el demonio Chronyd de la siguiente manera:

$ sudo systemctl --enable now chronyd

Luego confirme el estado de la siguiente manera:

$ sudo systemctl status chronyd

Como puede ver, el demonio chronyd está activo y funcionando como se esperaba.

Archivo de configuración de Chrony

La configuración de Chronicle se define en el archivo de configuración /etc/chrony.conf o /etc/chrony/chrony.conf. No se requiere ninguna intervención inicial ya que los valores predeterminados ya sincronizan su sistema con los grupos de servidores NTP disponibles. Las principales distribuciones de Linux, como Ubuntu, CentOS, RHEL y Fedora, tienen sus propios grupos NTP de forma predeterminada.

Consultar sincronización horaria con Chronyc

Para verificar que Chrony realmente se esté ejecutando y ver los pares y servidores a los que está conectado, ejecute el comando:

$ chronyc activity

Para ver una lista detallada de los servidores de hora, sus direcciones IP, compensación horaria y compensación, sin mencionar algunos parámetros, ejecute:

$ chronyc sources

Con el indicador -v, puede obtener más detalles como se muestra:

$ chronyc sources -v

También puede confirmar que Chrony esté sincronizado usando el siguiente comando. El ID de referencia le proporciona el nombre del servidor al que apunta su sistema para obtener la configuración de fecha y hora. Otros detalles, como Último desplazamiento y Hora del sistema, muestran qué tan lejos está el sistema del servidor NTP.

$ chronyc tracking

El comando timedatectl también será útil y le ayudará a saber si el servicio NTP está habilitado o no.

Configurar el cliente NTP

Para configurar otro sistema en su red local como cliente y apuntarlo a su servidor NTP, siga estos pasos.

En el servidor NTP, navegue hasta el archivo de configuración de Chrony, descomente la directiva de permiso y especifique la máscara de subred.

Guarde y salga del archivo de configuración.

Asegúrese de permitir que el servicio NTP atraviese el firewall. En nuestro caso abriremos el firewall en CentOS 8 de la siguiente manera:

$ sudo firewall-cmd --permanent --add-service = ntp

Luego reinicie para que los cambios surtan efecto:

$ sudo firewall-cmd --reload

Luego reinicie el demonio chronyd.

$ sudo systemctl restart chronyd

En el cliente o sistema remoto, descomente cualquier grupo NTP y agregue la línea que se muestra. La dirección IP proporcionada es la dirección IP del servidor NTP. Por supuesto, esto será diferente en su caso, así que edítelo en consecuencia.

servidor 192.168.2.109

Nuevamente, reinicie el demonio chronyd para reflejar los cambios.

$ sudo systemctl restart chronyd

El sistema cliente ahora apuntará a un servidor NTP en la misma red como se muestra.

Conclusión

Hemos demostrado cómo configurar NTP en Linux utilizando el servicio Chrony y cómo configurar el sistema cliente para que apunte a un servidor NTP.

Actualizaciones del boletín

Ingrese su dirección de correo electrónico a continuación para suscribirse a nuestro boletín