出于教学目的,我想将 NTP 服务器链(例如 0.de.pool.ntp.org)追溯到第 1 层 NTP 服务器。我该怎么做?
我找到了 ntptrace,但是它不起作用:
/home/xyzdragon# ntptrace
localhost: stratum 2, offset -0.009285, synch distance 0.010221
192.53.103.104: timed out, nothing received
***Request timed out
我尝试/usr/bin/ntptrace
通过手动重现该 Perl 脚本的步骤进行调试:
home/xyzdragon# ntpq -n
ntpq> pe
remote refid st t when poll reach delay offset jitter
==============================================================================
+78.47.249.19 56.1.129.236 3 - 129 128 376 27.339 14.405 12.857
ntpq> host 78.47.249.19
current host set to 78.47.249.19
ntpq> pe
78.47.249.19: timed out, nothing received
***Request timed out
实际上是使用和ntptrace
的组合来代替ntpq命令。rv
pstat
pe
经过多次尝试使其与 ntpq 一起工作后,我只是使用了一种解决方法:
- 从“ntpq -p”读取对等点和 refid
- 插入
server 56.1.129.236
(跳过 78.47.249.19)到/etc/ntp.conf
- 使用以下方式应用设置
sudo service ntp restart
- 转至 1。
这可以跟踪 NTP 链,但非常繁琐。因此,我的问题是:
- 我怎样才能使用可能
ntpq
仅来跟踪 NTP 服务器链? - 为什么 ntptrace 不起作用?
答案1
来自 ntptrace 的手册页:
ntptrace 是一个 perl 脚本,它使用 ntpq 实用程序跟踪从给定主机到主时间源的 NTP 服务器链。为了使 ntptrace 正常工作,这些服务器中的每一个必须实现 RFC 1305 中指定的 NTP 控制和监控协议,并启用 NTP 模式 6 数据包。