Instalar Chrony en Debian
Existen dos sistemas para mantener nuestros sistemas Debian correctamente sincronizados, por un lado tenemos ntp y como mejora al ntp también está chrony.
Al igual que ntp, chrony permite sincronizar fuentes de referencias externas para mantener la hora de los servidores, pero ambos tienen algunas diferencias.
Chrony permite sincronizar con servidores horarios externos y a la vez servir de fuente de hora para otros servidores de nuestra red. En el caso de ntp es sólo cliente y hay que instalar ntpd para que haga de servidor de hora.
Además chrony responde de forma más rápida y la sincronización tarda mucho menos, por lo que es ideal sobre todo para máquinas virtuales, que se pueden encender y apagar más a menudo.
Instalar chrony
Para instalar chrony ejecutaremos como siempre un simple comando, este instalará por si solo los dos sistemas (Chronyc y Chronyd) es decir el cliente y el demonio.
apt install chrony
Una vez instalado, lo habilitaremos y lo ejecutaremos.
systemctl enable chrony
systemctl start chrony
Nota: antes de activar chrony, hay que deshabilitar y parar el servicio ntp y el ntpd en caso de que estuvieran instalados y habilitados
Para comprobar ejecutaremos
chronyc tracking
Nos dará una salida parecida a esta
# chronyc tracking
Reference ID : A29FC801 (time.cloudflare.com)
Stratum : 4
Ref time (UTC) : Sun Oct 08 09:50:10 2023
System time : 0.000003285 seconds slow of NTP time
Last offset : -0.000056454 seconds
RMS offset : 0.000053328 seconds
Frequency : 32.070 ppm slow
Residual freq : -0.001 ppm
Skew : 0.021 ppm
Root delay : 0.030552367 seconds
Root dispersion : 0.001204389 seconds
Update interval : 1025.7 seconds
Leap status : Normal
En esto podemos ver lo siguientes valores destacados:
Reference ID: Indica el ID de referencia y el nombre con el cual se sincroniza actualmente el equipo.
Stratum: número de saltos hacia un equipo usando el RefrenceID anterior.
Ref time (UTC): hora UTC en el cual se realizó la última medición de la fuente de referencia.
System Time: retraso del reloj del sistema desde el servidor sincronizado.
Last Offset: desplazamiento de la última actualización del reloj NTP.
RMS Offset: promedio a largo plazo del valor de compensación de tiempo.
Frequency: velocidad a la cual el reloj del sistema (el RTC) sería erróneo en caso de que chronyd no lo ajuste. las unidades van reflejadas en ppm (partes por millón).
Update interval: intervalos de sincronización en segundos.
Mostar fuentes de chrony
Usando el comando chronyc sources, podemos ver los servidores contra los que se sincroniza
chronyc sources
Ejemplo
root@eduardo:~# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* time.cloudflare.com 3 10 377 455 -308us[ -364us] +/- 22ms
^- i2t15.i2t.ehu.eus 1 10 377 144 -1000us[-1000us] +/- 506ms
^+ cf393dbc-c70f-489d-a6e6-> 2 10 377 969 +164us[ +110us] +/- 45ms
^- 185.90.148.209 2 10 357 487 +5402us[+5346us] +/- 64ms
Fichero de configuración de chrony
El fichero de configuración de chrony está en la carpeta /etc/chrony/chrony.conf como podemos ver en la siguiente imagen
En este fichero podemos configurar parámetros como por ejemplo el servidor o servidores (pool) que vamos a usar como referencia, los intervalos de sincronización, etc.
En este ejemplo, vemos que se usa el pool de debian. Si tenemos nuestros servidores en la red de Neodigit o de Tecnocrática, podemos usar ntp.neodigit.net como referencia.
Editamos el fichero, agregamos la línea server ntp.neodigit.net y reiniciamos chrony
# Include configuration files found in /etc/chrony/conf.d.
confdir /etc/chrony/conf.d
server ntp.neodigit.net
# Use Debian vendor zone.
pool 2.debian.pool.ntp.org iburst
Ahora comprobamos
root@eduardo:~# systemctl restart chrony
root@eduardo:~# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? res2.mad1.tecnocratica.n> 2 6 1 3 -509us[ -509us] +/- 34ms
^? ntp01.pingless.com 2 6 3 1 -614us[ -614us] +/- 18ms
^? cf393dbc-c70f-489d-a6e6-> 2 6 3 2 +211us[ +211us] +/- 43ms
^? i2t15.i2t.ehu.eus 1 6 3 2 -1023us[-1023us] +/- 506ms
root@eduardo:~# chronyc tracking
Reference ID : B2D7E418 (ntp01.pingless.com)
Stratum : 3
Ref time (UTC) : Sun Oct 08 10:08:08 2023
System time : 0.000000205 seconds fast of NTP time
Last offset : -0.000328478 seconds
RMS offset : 0.000328478 seconds
Frequency : 32.077 ppm slow
Residual freq : -22.917 ppm
Skew : 0.024 ppm
Root delay : 0.034075394 seconds
Root dispersion : 0.000739151 seconds
Update interval : 1.5 seconds
Leap status : Normal