Linux服务器配置时间同步机制(内网环境将一台服务器作为时间同步节点)

设置时间源服务器

修改chrony配置文件chrony.conf

bash 复制代码
vim /etc/chrony.conf

设置同步数据源如果当前服务器可以连接互联网则设置同步节点如果不能联网则将本机硬件时钟作为同步节点

bash 复制代码
# 上游NTP服务器
server ntp.aliyun.com iburst
server time1.cloud.tencent.com iburst

# 访问控制:允许内网客户端查询,但禁止修改,可以不设置
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
bash 复制代码
# 本地时钟作为备用
# 127.127.1.0为固定配置代表 这是一个 NTP/Chrony 专用的虚拟IP地址(伪IP地址),专门用来指代 "本机的系统硬件时钟(本地振荡器)"
server 127.127.1.0
fudge 127.127.1.0 stratum 10

# 访问控制:允许内网客户端查询,但禁止修改,可以不设置
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

设置允许访问权限

bash 复制代码
# 允许内网客户端访问
allow 172.16.0.0/16

重启 chronyc 服务

bash 复制代码
# 重启 chronyd 服务
systemctl restart chronyd

执行强制同步

bash 复制代码
# 执行时间强制同步
chronyc makestep

设置开机自启

bash 复制代码
#设置开机自启
systemctl enable --now chronyd

查看当前时间

bash 复制代码
# 查看当前时间
date

配置时间同步服务器

修改chrony配置文件chrony.conf

bash 复制代码
vim /etc/chrony.conf

将你的挑选一台服务器作为同步时间源

bash 复制代码
server 172.16.10.203 iburst

注释掉默认的pool/server行,添加内网NTP服务器地址

重启 chronyc 服务

bash 复制代码
# 重启 chronyd 服务
systemctl restart chronyd

执行强制同步

bash 复制代码
# 执行时间强制同步
chronyc makestep

设置开机自启

复制代码
#设置开机自启
systemctl enable --now chronyd

查看当前时间

bash 复制代码
# 查看当前时间
date

验证服务器同步状态

bash 复制代码
# Chrony:查看同步源(带*号的为当前同步源)
chronyc sources -v
# Chrony:查看详细追踪信息
chronyc tracking

常见问题与排查

防火墙未放行UDP 123端口

bash 复制代码
# 使用 firewalld(CentOS/RHEL)
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload