我在 CentOS 7 主机与 Windows 2008 R2 域控制器的时间同步方面遇到了问题。如果我使用该命令,ntpdate -u host.domain
同步就可以了。但是使用 ntpd 时,时间总是相同的,下面是命令 ntpq -p 的结果:
10.10.10.221 .LOCL。 1 你 65 64 377 1.740 965414. 4.054 10.10.10.220 10.10.10.221 2 62 64 377 1.912 965408. 12.899
ntp.conf 内容如下:
漂移文件 /var/lib/ntp/drift 限制默认 nomodify notrap nopeer noquery 限制 127.0.0.1 限制 ::1 服务器 10.10.10.221 iburst 优先 服务器 10.10.10.220 iburst 包括文件 /etc/ntp/crypto/pw 密钥 /etc/ntp/keys 禁用监视器 日志文件 /var/log/ntp.log
答案1
在对我这边的一个非常相似的问题(不同的操作系统但相同的问题)进行更深入的研究后,我设法找到了解决方案。
Windows NTP 服务器(有时出于各种原因)会报告较大的根分散。这反过来又导致 chronyd/ntpd 忽略 ntp 服务器以获取不准确的数据。
为了解决我需要添加:
tos maxdist 16
到我的 /etc/ntp.conf。重新启动服务后,一切开始正常工作。
这篇文章有助于给出一个简单的解释。
https://access.redhat.com/solutions/4652771
我还偶然发现了这篇有关时间不足的帖子,它进一步帮助排除故障并识别问题。
答案2
Centos 7 使用systemd
。我建议你使用它。
使用命令timedatectl
启用网络时间同步:
timedatectl set-ntp True
创建一个conf文件:
vi /etc/systemd/timesyncd.conf
内容如下:
[时间] NTP=yourserver.org
启动systemd-timedated
服务:
systemctl start systemd-timedated