Ntp
跟踪 NTP 伺服器鏈
出於教育目的,我想追踪一個 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 的手冊頁:
ntptrace 是一個 perl 腳本,它使用 ntpq 實用程序跟踪從給定主機返回到主要時間源的 NTP 伺服器鏈。為了使 ntptrace 正常工作,這些伺服器中的每一個都必須實現 RFC 1305 中指定的 NTP 控制和監視協議並啟用 NTP 模式 6 數據包。