我有一个在 Centos 6 上运行的 FreeIPA 服务器,它的功能之一是为客户端主机提供时间同步。NTP 是版本 4.2.6
问题是它自己的 NTP 同步无法正常工作,我不明白为什么。这会影响 Kerberos/身份验证功能。
FreeIPA 服务器无法直接访问互联网,因此需要使用另一个可以看到互联网的服务器。
这是来自“主”时间服务器的 nptq 列表,其 IP 地址为 10.20.1.23。
# ntpq -p 远程重新识别 st t 轮询到达延迟偏移抖动 ============================================================================== *46.101.52.119 81.174.136.35 2 111 128 377 10.234 0.865 3.491 +51.141.4.8 85.199.214.102 2 121 128 377 14.806 -0.365 2.858 +178.62.16.103 195.66.241.32 117 128 377 10.677 0.816 1.931 +129.250.35.250 249.224.99.213 2 100 128 377 14.064 -1.678 1.525
都是非常标准的东西。46.101.52.119 被用作参考
以下是使用该服务器进行时间同步的另一个客户端的输出
# ntpq -pn 远程重新识别 st t 轮询到达延迟偏移抖动 ============================================================================== *10.20.1.23 46.101.52.119 3 230 256 377 0.439 1095.65 34.637 127.127.1.0 .LOCL。 5 升 49 米 64 0 0.000 0.000 0.000
这很好,告诉我 10.20.1.23 正在使用 46.101.52.119 作为其引用
但是当我访问我的 FreeIPA 服务器时我得到
# ntpq -pn 远程重新识别 st t 轮询到达延迟偏移抖动 ============================================================================== *10.20.1.23 本地(0) 6 u 97 128 377 32.193 92334.0 17.646
refid 不同,它告诉我我们大约有一分半钟的偏差。事实上,我手动将时钟设置在一秒之内,但现在它被 ntpd 拉走了。
答案1
似乎发生的情况是,您的本地时钟相对于它尝试同步的时间源运行得太快了。因此,它会丢弃同步源并采用它认为最好的答案,即它自己的本地内核时间源。您可以采取一些措施来帮助缓解这种情况并尝试让您的本地时钟处于更好的状态。
首先,为了缓解此问题,您可以将本地时钟设置为比同步源更高的层级。ntp.conf
文件中的示例如下:
server 127.0.0.1
fudge 127.0.0.1 stratum 16 ## or some value greater than it's synchronization peer
当 NTP 开始选择对等点进行同步时,这将使其成为不太理想的源。
接下来,如果您的本地时钟确实不正常,您可以使用 进行调整adjtimex
。请注意,此时您正在使用硬件时钟。示例如下:
# adjtimex -p ## List out how the clock is currently running...
mode: 0
offset: 0
frequency: 0
maxerror: 0
esterror: 0
status: 64
time_constant: 4
precision: 1
tolerance: 32768000
tick: 9900
raw time: 1272299204s 17444us = 1272299204.017444
return value = 5
并调整“tick”字段的值:
adjtimex -t 9800
重新启动 ntpd 并查看其行为。如果它使抖动更可接受,则保留它,或者在必要时再次调整它。NTP 可能有些晦涩难懂,我希望我有所帮助,但如果您需要更多信息,我会相信来源http://support.ntp.org
参考