Chrony是现代linux推荐的时间同步服务,安装后通过配置/etc/chrony.conf文件指定server或pool时间源,启用服务并使用chronyc命令验证同步状态,确保udp 123端口开放。
在linux系统中,保持时间同步对日志记录、安全认证和分布式服务至关重要。Chrony 是现代Linux发行版中推荐的时间同步服务,相比传统的 NTPd,它更轻量、适应性更强,尤其适合笔记本或虚拟机这类网络连接不稳定的环境。下面介绍如何配置 Linux 作为 Chrony 客户端与时间服务器同步。
安装 Chrony
大多数主流发行版默认已安装 Chrony。如果没有,可通过包管理器安装:
- centos/RHEL/Rocky Linux:sudo yum install chrony 或 sudo dnf install chrony
- ubuntu/debian:sudo apt install chrony
安装完成后,服务通常会自动启动并启用开机自启。
配置 Chrony 客户端
主配置文件位于 /etc/chrony.conf 或 /etc/chrony/chrony.conf,使用文本编辑器打开:
sudo vi /etc/chrony.conf
常见配置项说明:
- server:指定上游时间服务器。例如:
- iburst 表示在初始同步阶段快速发送多个请求,加快时间校准速度。
- pool:也可使用 pool 配置一组服务器,例如:
pool pool.ntp.org iburst - keyfile、driftfile、logdir:建议保持默认,用于记录时钟漂移和日志。
- 注释或删除默认的 server 行,替换为你选择的可靠时间源。
server time1.aliyun.com iburst
server time.google.com iburst
启动并验证服务
确保 chrony 服务正在运行:
sudo systemctl enable chronyd
sudo systemctl start chronyd
查看同步状态:
chronyc tracking
输出中关注 System time 是否已同步,以及偏移量(Last offset)是否在合理范围内。
查看当前时间源状态:
chronyc sources -v
显示的源中,^* 表示当前正在使用的服务器,^? 表示无法通信。
手动触发时间同步
如果需要立即强制同步(如系统时间偏差较大):
sudo chronyc makestep
该命令会立即调整系统时间,跳过渐进式校正。
也可临时使用命令查询是否同步:
chronyc activity
显示有多少源可达,是否能进行同步。
基本上就这些。配置完成后,Chrony 会后台自动维护系统时间精度。对于大多数客户端场景,只需正确设置 server 并确保网络可访问标准时间服务器即可。注意防火墙不要阻止 UDP 123 端口。