Sincronización horaria (Chrony)
La hora exacta del sistema es esencial para la correlación de registros, la validación de certificados TLS, la coherencia de la base de datos y los sistemas distribuidos. En instalaciones nuevas de Ubuntu 26.04, Chrony es el demonio de sincronización de hora de red predeterminado.
Chrony contra systemd-timesyncd
Ubuntu incluye dos implementaciones de sincronización horaria. Entender cómo se relacionan evita errores:
| Característica | systemd-timesyncd | crono |
|---|---|---|
| Role | Cliente SNTP ligero | Cliente/servidor NTP con todas las funciones |
| 26.04 predeterminado | Reserva para actualizaciones/sistemas mínimos | Predeterminado en instalaciones nuevas |
| Actúa como un servidor NTP | No | Sí (puede servir condena a otros anfitriones) |
| Conectividad intermitente/derivación del reloj de VM | Promedio | Mejor |
| comando de gestión | timedatectl | chronyc |
Los dos no pueden correr al mismo tiempo. La instalación de Chrony desactiva automáticamente systemd-timesyncd. En ese momento, timedatectl set-ntp true/false ya no controla la sincronización real; utilice chronyc y systemctl ... chrony en su lugar.
Verificar el estado de sincronización actual
# Overall time status
timedatectl
# Confirm which service is handling sync
systemctl status chrony
# If Chrony is not installed and timesyncd is in use
timedatectl show-timesyncInstalar y habilitar
# A fresh 26.04 install usually has Chrony pre-installed and enabled
sudo apt update
sudo apt install chrony
# Enable and start immediately
sudo systemctl enable --now chronyConfigurar fuentes de tiempo ascendentes
El archivo de configuración principal es /etc/chrony/chrony.conf:
sudo nano /etc/chrony/chrony.confConfiguración común:
# Use the Ubuntu NTP pool (default)
pool ntp.ubuntu.com iburst maxsources 4
# Record the offset of the system clock vs. the hardware clock to speed up future sync
driftfile /var/lib/chrony/chrony.drift
# Step the clock in one go when the initial offset is large (first 3 updates)
makestep 1.0 3Reinicie el servicio después de editar:
sudo systemctl restart chronyComandos comunes de chronyc
# View time sources and their status
chronyc sources -v
# View sync statistics (offset, jitter)
chronyc tracking
# View per-source measurement statistics
chronyc sourcestats
# Force an immediate step toward the server
sudo chronyc makestep
# Check whether the clock is synchronized
chronyc tracking | grep "Leap status"Ejecutando Chrony como servidor NTP
Para servir tiempo a otros hosts en su LAN, permita la subred del cliente en chrony.conf:
# Allow LAN clients to query this host's time
allow 192.168.1.0/24sudo systemctl restart chrony
# Open the NTP firewall port (UDP 123)
sudo ufw allow 123/udpLas máquinas virtuales y las computadoras portátiles que se suspenden durante períodos prolongados son propensas a sufrir desfases en el reloj. makestep y los mecanismos de archivos de deriva de Chrony corrigen grandes desplazamientos más rápido, lo que lo hace más adecuado para estos escenarios que timesyncd.