出于教育目的,我想追踪一个 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
使用rv
andpstat
而不是pe
ntpq 命令的组合。
经过几次尝试让它与 ntpq 一起工作后,我只是使用了一种解决方法:
- 从 `ntpq -p 读取 peer 和 refid
- 插入
server 56.1.129.236
(跳过 78.47.249.19)到/etc/ntp.conf
- 应用设置
sudo service ntp restart
- 转到 1。
这可以跟踪 NTP 链,但是非常繁琐。因此,我的问题是:
- 我怎么可能
ntpq
只使用来跟踪 NTP 服务器链? - 为什么 ntptrace 一开始就不起作用?
从 ntptrace 的手册页: