Skip to main content

2.2 配置 NTP 服务器(Chrony)

配置 NTP 服务器(Chrony)是确保网络中各设备时间同步的重要步骤,尤其在分布式系统、日志审计、安全认证等场景下,精确的时间同步至关重要。Chrony 是一种广泛使用的 NTP(网络时间协议)实现,相较于传统的 ntpd,它具有更快的收敛速度、更好的网络适应性以及在不稳定的网络环境下更优的表现,因此被越来越多的 Linux 发行版默认采用。

在配置 Chrony 作为 NTP 服务器之前,首先需要确认系统已安装 chrony 软件包。大多数现代 Linux 系统可通过包管理器如 yum、dnf 或 apt 进行安装。安装完成后,主要的配置文件位于 /etc/chrony.conf 或 /etc/chrony/chrony.conf,具体路径依发行版而异。

配置过程的核心是编辑该配置文件。常见的配置项包括 server 指令,用于指定上游时间服务器。例如,可以添加多条 server 记录指向公共 NTP 服务器,如 cn.pool.ntp.org,以获取权威时间源。同时,可使用 iburst 参数加快初始同步速度。若本机将作为局域网内其他设备的时间服务器,则需启用 allow 指令,允许特定子网或 IP 地址访问,例如 allow 192.168.1.0/24 表示允许该网段内的客户端同步时间。

此外,可通过 local stratum 10 配置本地时间源,当系统离线时仍可为内部网络提供有限的时间服务。为了提高安全性,Chrony 支持密钥认证和访问控制,可配置 keyfile 和相关认证机制防止未授权访问。

配置完成后,需启动并启用 chronyd 服务,通常使用 systemctl start chronyd 和 systemctl enable chronyd 命令。随后可通过 chronyc 命令行工具进行状态检查,如执行 sources -v 查看当前时间源状态,tracking 查看同步精度,sourcestats 则显示各时间源的长期性能统计。

还需注意防火墙设置,确保 UDP 端口 123 在必要时开放,以便接收和发送 NTP 数据包。对于虚拟化环境或经常休眠的设备,建议启用 makestep 指令,使 chrony 在检测到较大时间偏差时立即调整而非缓慢校正,避免应用因时间跳跃异常报错。

综上所述,合理配置 Chrony 不仅能提升系统时间的准确性与稳定性,还能为整个网络基础设施提供可靠的时间基准,是系统运维中不可忽视的基础环节。

  • 安装并配置 Chrony
root@sheer:~# apt -y install chrony
root@sheer:~# vi /etc/chrony/chrony.conf
# 第20行 : 请将默认配置项注释,随后根据实际需求添加所需的 NTP 服务器池地址。  若无特殊时间同步要求,可保留原有默认配置。

#pool ntp.ubuntu.com        iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2
pool ntp.aliyun.com iburst 

# 在最后一行添加:添加允许接收客户端时间同步请求的网络范围
allow 172.18.100.0.0.0/24
root@dlp:~# systemctl restart chrony
# 验证状态
root@sheer:~# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^- ntp.aliyun.com            1   6    17     1    -36us[  -36us] +/- 8587us