Chrony es el servidor NTP (Network Time Protocol) predeterminado en el sistema operativo CentOS 8. Es un reemplazo 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 de Internet remotos. Configurar la hora exacta es muy importante para que cualquier aplicación funcione correctamente.
Está hecho de dos componentes chronyc y chronyd. chronyd es un demonio que se inicia en el momento del arranque del sistema. chronyc es una interfaz de línea de comandos utilizada para monitorear el rendimiento de chronyd.
En este tutorial, le mostraré cómo instalar y usar Chrony en el servidor CentOS 8.
Requisitos
- Dos servidores que ejecutan CentOS 8.
- Se configura una contraseña raíz en el servidor.
Cómo empezar
Antes de instalar Chrony, deberá configurar una zona horaria correcta en su servidor. Puede configurarlo con el siguiente comando:
timedatectl set-timezone Asia/Kolkata
Ahora, verifica tu zona horaria actual con el siguiente comando:
timedatectl
Deberías obtener el siguiente resultado:
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 servidor Chrony
De forma predeterminada, el paquete Chrony se incluye en el repositorio predeterminado de CentOS 8. Puede instalarlo con el siguiente comando:
dnf install chrony -y
Una vez que Chrony esté instalado, inicie el servicio de Chrony y habilítelo para que se inicie al reiniciar el sistema:
systemctl start chronyd
systemctl enable chronyd
También puede verificar el estado del Chrony con el siguiente comando:
systemctl status chronyd
Debería ver el siguiente resultado:
? 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 servidor Chrony
El archivo de configuración principal de Chrony se encuentra en /etc/chrony.conf. Deberá editarlo y cambiar los servidores de tiempo más cercanos a usted.
nano /etc/chrony.conf
Comente el grupo predeterminado y agregue una lista de servidores NTP más cercanos a su 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
Guarde y cierre el archivo cuando haya terminado, luego configure la sincronización NTP con el siguiente comando:
timedatectl set-ntp true
A continuación, reinicie el servicio de Chrony para aplicar los cambios:
systemctl restart chronyd
También puede permitir un rango de IP específico en su red local para permitir el acceso a su servidor NTP. Puede permitirlo agregando la siguiente línea al archivo /etc/chrony.conf:
# Allow NTP client access from local network. allow 192.168.0.0/24
Ahora puede comprobar si su servidor NTP funciona o no con el siguiente comando:
chronyc sources
Si todo está bien, debería obtener el siguiente resultado:
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 cortafuegos
A continuación, deberá permitir el servicio NTP a través del firewall. Puedes permitirlo con el siguiente comando:
firewall-cmd --permanent --add-service=ntp --permanent
A continuación, vuelva a cargar el servicio de firewall para aplicar los cambios:
firewall-cmd --reload
Configurar cliente Chrony
A continuación, deberá instalar el cliente Chrony en la máquina cliente y configurarlo para usar su servidor Chrony.
En la máquina del Cliente, configure su zona horaria correcta con el siguiente comando:
timedatectl set-timezone Asia/Kolkata
A continuación, instale el paquete Chrony con el siguiente comando:
dnf install chrony -y
Una vez completada la instalación, edite su archivo de configuración de Chrony y apunte a su servidor NTP.
nano /etc/chrony.conf
Comente el grupo predeterminado y agregue la siguiente línea:
server chrony-server-ip
Guarde y cierre el archivo, luego configure la sincronización NTP con el siguiente comando:
timedatectl set-ntp true
A continuación, inicie el servicio Chrony y habilítelo 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 el siguiente resultado:
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, aprendió cómo configurar un servidor Chrony NTP en CentOS 8. También aprendió cómo instalar el cliente Chrony y configurarlo para sincronizar la hora con el servidor Chrony. Siéntase libre de preguntarme si tiene alguna pregunta.