Timezone/Timesync Using Chrony
Table of Contents
Chrony is the recommended Network Time Protocol (NTP) implementation for modern Linux distributions. Chrony synchronizes the system clock with configured NTP servers using UDP port 123.
Important Notes
- Use at least two NTP servers whenever possible.
- Internal enterprise NTP servers should be preferred over public NTP servers.
- Ensure UDP port 123 is permitted between clients and NTP servers.
- All LDAP providers, consumers, proxy servers, and authentication systems should synchronize to the same NTP source.
- Time synchronization is critical for TLS certificate validation, Kerberos authentication, log correlation, monitoring, and replication troubleshooting.
Set the Timezone
Display the current timezone configuration:
timedatectlList available timezones:
timedatectl list-timezonesExample:
timedatectl list-timezones | grep New_YorkSet the timezone:
sudo timedatectl set-timezone America/New_YorkVerify the change:
timedatectlOutput:
Local time: Tue 2026-06-01 09:30:15 EDT
Universal time: Tue 2026-06-01 13:30:15 UTC
RTC time: Tue 2026-06-01 13:30:15
Time zone: America/New_York (EDT, -0400)
System clock synchronized: yes
NTP service: activeInstall Chrony
RHEL, Rocky Linux, AlmaLinux, CentOS Stream
sudo dnf install chrony -yDebian and Ubuntu
sudo apt update
sudo apt install chrony -ySUSE Linux Enterprise Server (SLES)
sudo zypper install chronyEnable and Start the Chrony Service
RHEL, Rocky Linux, AlmaLinux, CentOS Stream, SLES
sudo systemctl enable --now chronydVerify service status:
sudo systemctl status chronydOutput:
● chronyd.service - NTP client/server
Loaded: loaded
Active: active (running)Debian and Ubuntu
sudo systemctl enable --now chronyVerify service status:
sudo systemctl status chronyOutput:
● chrony.service - chrony, an NTP client/server
Loaded: loaded
Active: active (running)Configure NTP Servers
RHEL, Rocky Linux, AlmaLinux, CentOS Stream, SLES
Edit:
sudo vi /etc/chrony.confDebian and Ubuntu
Edit:
sudo vi /etc/chrony/chrony.confExample configuration:
server ntp1.company.com iburst
server ntp2.company.com iburstOr use public NTP pool servers:
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburstRestart Chrony after making changes:
RHEL/Rocky/SLES:
sudo systemctl restart chronydDebian/Ubuntu:
sudo systemctl restart chronyVerify Time Synchronization
Display synchronization status:
chronyc trackingExample output:
Reference ID : C0A80101
Stratum : 2
System time : synchronized
Last offset : 0.000123 secondsDisplay configured NTP sources:
chronyc sources -vExample output:
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp1.company.com 2 6 377 42 +15us[ +20us] +/- 1ms
^+ ntp2.company.com 2 6 377 44 +18us[ +23us] +/- 2msVerify synchronization using systemd:
timedatectlOutput:
System clock synchronized: yes
NTP service: activeForce an Immediate Time Correction
If the server has significant clock drift:
sudo chronyc makestepVerify synchronization:
chronyc trackingTroubleshooting
Check Chrony Service Status
RHEL/Rocky/SLES:
systemctl status chronydDebian/Ubuntu:
systemctl status chronyCheck NTP Sources
chronyc sources -vCheck Synchronization Status
chronyc trackingReview Logs
RHEL/Rocky/SLES:
journalctl -u chronydDebian/Ubuntu:
journalctl -u chronyVerify Network Connectivity
Chrony communicates using UDP port 123.
Verify DNS resolution:
host ntp1.company.comVerify firewall and network connectivity to configured NTP servers.