跟踪NTP服务器链

为了教育目的,我想跟踪一系列NTP服务器,例如0.de.pool.ntp.org回到第一层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 

我试图通过手动重现Perl脚本的步骤来debugging/usr/bin/ntptrace

 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使用rvpstat的组合而不是pe ntpq命令。

经过几次尝试使用ntpq,我只是使用了一种解决方法:

  1. 阅读peer,并从`ntpq -p中删除
  2. server 56.1.129.236 (跳过78.47.249.19)插入/etc/ntp.conf
  3. 使用sudo service ntp restart应用设置
  4. 转到1。

这可以追溯到NTP链,但是非常繁琐。 因此我的问题是:

  • 我如何才能使用ntpq来跟踪NTP服务器链?
  • 为什么不是ntptrace首先工作?

从ntptrace的手册页:

ntptrace是一个perl脚本,它使用ntpq实用程序跟踪从给定主机返回主时间源的NTP服务器链。 为了使ntptrace正常工作,每台服务器都必须实现RFC 1305中规定的NTP控制和监视协议,并启用NTP模式6数据包