要配置chrony实现网络时间同步,首先安装chrony服务,在debian/ubuntu执行sudo apt update && sudo apt install chrony,centos/rhel使用sudo yum install chrony或sudo dnf install chrony;安装后确认chronyd状态并启动、启用服务;接着修改/etc/chrony.conf文件,将server行替换为可信时间服务器如ntp.aliyun.com等,并添加优化选项如keyfile、driftfile、rtcsync、makestep和logdir;保存后重启chronyd服务;最后通过chronyc sources -v查看对等节点状态,chronyc tracking检查同步情况,必要时用chronyc makestep强制同步;此外需确保udp 123端口出站开放,局域网可设内部时间服务器,虚拟机环境注意宿主机时间同步影响。
在linux系统中,保持时间准确非常重要,尤其是在服务器环境中。chrony 是一个比 ntp 更轻量、更灵活的时间同步服务,适合各种网络环境使用。下面介绍如何配置 chrony 来实现网络时间同步。
安装 chrony 服务
大多数主流 Linux 发行版默认已经安装了 chrony,如果没有,可以通过包管理器手动安装:
-
Debian/Ubuntu:
sudo apt update && sudo apt install chrony
-
centos/RHEL:
sudo yum install chrony # 或者使用 dnf(适用于较新版本) sudo dnf install chrony
安装完成后,chrony 通常会自动启动并设置为开机自启。可以用以下命令确认状态:
sudo systemctl status chronyd
如果没运行,就启动它并设为开机启动:
sudo systemctl start chronyd sudo systemctl enable chronyd
配置 chrony 时间源
chrony 的主配置文件是 /etc/chrony.conf,我们主要就是修改这个文件来指定时间服务器和一些行为参数。
打开配置文件后,找到 server 行,默认可能有类似这样的内容:
server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst
你可以将这些替换成你信任的时间服务器,比如国内常用的 NTP 源:
server ntp.aliyun.com iburst server ntp1.aliyun.com iburst server time1.cloud.tencent.com iburst
iburst 参数表示在初次连接时快速同步时间,建议保留。
还可以添加一些通用优化选项:
keyfile /etc/chrony.keys driftfile /var/lib/chrony/drift rtcsync makestep 1.0 3 logdir /var/log/chrony
保存退出后,重启 chrony 生效:
sudo systemctl restart chronyd
查看与验证同步状态
配置完成后,我们可以用几个常用命令来检查当前时间同步情况:
-
查看对等节点状态:
chronyc sources -v
看输出中的 ^* 标记,代表当前正在使用的主时间源。
-
查看时间偏差和同步状态:
chronyc tracking
-
如果发现时间差得太多,可以强制同步一次:
sudo chronyc makestep
正常情况下,chrony 会自动调整时间漂移,不需要频繁干预。
其他注意事项
- 防火墙设置:确保允许 UDP 123 端口出站访问,否则无法连接远程 NTP 服务器。
- 局域网内部同步:如果你有多台机器,可以让其中一台做时间服务器,其他机器指向它作为 source。
- 虚拟机或容器环境:某些云厂商的虚拟机会自动同步宿主机时间,此时 chrony 可能只是辅助作用。
基本上就这些。chrony 的配置虽然不复杂,但容易忽略的是选择合适的时间源以及定期检查同步状态。只要做好这两点,系统时间就能一直保持准确。