Ntp

跟踪 NTP 伺服器鏈

  • May 4, 2015

出於教育目的,我想追踪一個 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使用rvandpstat而不是pentpq 命令的組合。

經過幾次嘗試讓它與 ntpq 一起工作後,我只是使用了一種解決方法:

  1. 從 `ntpq -p 讀取 peer 和 refid
  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 數據包

引用自:https://serverfault.com/questions/683854