Cómo instalar el servidor NTP de Chrony en CentOS 8
Chrony es el servidor por defecto del Protocolo de Tiempo de Red (NTP) en el sistema operativo CentOS 8. Es un sustituto del antiguo Ntpd utilizado en la versión anterior del sistema operativo Linux. Se utiliza para sincronizar el reloj del sistema con servidores de tiempo remotos de Internet. Establecer la hora exacta es muy importante para que cualquier aplicación funcione correctamente.
Está formado por dos componentes chronyc y chronyd. chronyd es un demonio que se inicia en el momento de arrancar el sistema. chronyc es una interfaz de línea de comandos que se utiliza para controlar el rendimiento de chronyd.
En este tutorial, te mostraré cómo instalar y utilizar Chrony en un servidor CentOS 8.
Requisitos previos
- Dos servidores con CentOS 8.
- Una contraseña de root configurada en el servidor.
Cómo empezar
Antes de instalar Chrony, tendrás que configurar una zona horaria correcta en tu servidor. Puedes configurarla con el siguiente comando:
timedatectl set-timezone Asia/Kolkata
Ahora, verifica tu zona horaria actual con el siguiente comando:
timedatectl
Deberías obtener la siguiente salida:
Local time: Sun 2021-05-02 20:00:44 IST Universal time: Sun 2021-05-02 14:30:44 UTC RTC time: Sun 2021-05-02 14:30:43 Time zone: Asia/Kolkata (IST, +0530) System clock synchronized: yes NTP service: active RTC in local TZ: no
Instalar el servidor Chrony
Por defecto, el paquete Chrony está incluido en el repositorio por defecto de CentOS 8. Puedes instalarlo con el siguiente comando:
dnf install chrony -y
Una vez instalado el Chrony, inicia el servicio Chrony y haz que se inicie al reiniciar el sistema:
systemctl start chronyd
systemctl enable chronyd
También puedes verificar el estado del Chrony con el siguiente comando:
systemctl status chronyd
Deberías ver la siguiente salida:
? chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-05-02 20:00:13 IST; 1min 7s ago Docs: man:chronyd(8) man:chrony.conf(5) Main PID: 616 (chronyd) Tasks: 1 (limit: 25014) Memory: 2.3M CGroup: /system.slice/chronyd.service ??616 /usr/sbin/chronyd May 02 20:00:12 centos8 systemd[1]: Starting NTP client/server... May 02 20:00:12 centos8 chronyd[616]: chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH > May 02 20:00:12 centos8 chronyd[616]: Frequency 18.331 +/- 0.061 ppm read from /var/lib/chrony/drift May 02 20:00:12 centos8 chronyd[616]: Using right/UTC timezone to obtain leap second data May 02 20:00:13 centos8 systemd[1]: Started NTP client/server. May 02 20:00:20 centos8 chronyd[616]: Selected source 129.250.35.250 May 02 20:00:20 centos8 chronyd[616]: System clock TAI offset set to 37 seconds May 02 20:00:20 centos8 chronyd[616]: System clock wrong by 1.153394 seconds, adjustment started May 02 20:00:21 centos8 chronyd[616]: System clock was stepped by 1.153394 seconds
Configurar el servidor Chrony
El archivo de configuración principal de Chrony se encuentra en /etc/chrony.conf. Tendrás que editarlo y cambiar los servidores de tiempo más cercanos.
nano /etc/chrony.conf
Comenta el grupo por defecto y añade una lista de servidores NTP más cercanos a tu ubicación.
#pool 2.centos.pool.ntp.org iburst server 1.in.pool.ntp.org server 2.in.pool.ntp.org server 3.in.pool.ntp.org
Guarda y cierra el archivo cuando hayas terminado y luego establece la sincronización NTP con el siguiente comando:
timedatectl set-ntp true
A continuación, reinicia el servicio Chrony para aplicar los cambios:
systemctl restart chronyd
También puedes permitir que un rango específico de IP de tu red local permita el acceso a tu servidor NTP. Puedes permitirlo añadiendo la siguiente línea al archivo /etc/chrony.conf:
# Allow NTP client access from local network. allow 192.168.0.0/24
Ahora puedes comprobar si tu servidor NTP funciona o no con el siguiente comando:
chronyc sources
Si todo está bien, deberías obtener la siguiente salida:
210 Number of sources = 4 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^? ntp7.mum-in.hosts.301-mo> 2 6 1 8 +31ms[ +31ms] +/- 248ms ^? static.15.192.216.95.cli> 2 6 1 8 +2616us[+2616us] +/- 88ms ^? 157.245.102.2 2 6 1 9 -4088us[-4088us] +/- 139ms ^? ec2-13-126-27-131.ap-sou> 2 6 1 9 +6017us[+6017us] +/- 181ms
Configurar el cortafuegos
A continuación, tendrás que permitir el servicio NTP a través del cortafuegos. Puedes permitirlo con el siguiente comando:
firewall-cmd --permanent --add-service=ntp --permanent
A continuación, recarga el servicio del cortafuegos para aplicar los cambios:
firewall-cmd --reload
Configurar el Cliente Chrony
A continuación, tendrás que instalar el cliente Chrony en la máquina cliente y configurarlo para que utilice tu servidor Chrony.
En la máquina cliente, configura tu zona horaria correcta con el siguiente comando:
timedatectl set-timezone Asia/Kolkata
A continuación, instala el paquete Chrony con el siguiente comando:
dnf install chrony -y
Una vez completada la instalación, edita tu archivo de configuración de Chrony y señala tu servidor NTP.
nano /etc/chrony.conf
Comenta el pool por defecto y añade la siguiente línea:
server chrony-server-ip
Guarda y cierra el archivo y luego establece la sincronización NTP con el siguiente comando:
timedatectl set-ntp true
A continuación, inicia el servicio Chrony y habilítalo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start chronyd
systemctl enable chronyd
Ahora, verifica la sincronización horaria con el siguiente comando:
chronyc sources
Deberías obtener la siguiente salida:
210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^? chrony-server-ip 0 6 0 10y +0ns[ +0ns] +/- 0ns
Conclusión
En la guía anterior, has aprendido a configurar un servidor NTP Chrony en CentOS 8. También has aprendido a instalar el cliente Chrony y a configurarlo para sincronizar la hora con el servidor Chrony. No dudes en preguntarme si tienes alguna duda.