NTP fudge 網路源層
是否可以配置
ntpd
來偽造網路源的層級?乍一看,我認為該
fudge
指令可以實現這一點,但是在瀏覽ntp.conf(5)
手冊頁後,我發現該指令僅適用於參考時鐘。一些細節:
我有一個本地伺服器
ntpd
作為 LAN 上客戶端的主要時間源執行。此伺服器指向 ntp.org 池,通常維護一個層級 3。除了我的主伺服器之外,我還有一個第 3 方網路設備,其主要工作是通過無線方式同步掛鐘。射頻傳輸。該設備的規範說它是“符合 RFC2030 的時間伺服器”,但除此之外它幾乎是一個黑匣子。我已將設備配置為使用我的主伺服器,因為它是唯一的時間源:
黑盒配置 http://www.freeimagehosting.net/uploads/21bafb12bd.png
ntpd
當我在我的個人電腦上配置為使用我的主 NTP 伺服器和無線發射器作為時間源時,我的問題浮出水面。在查詢本地 ntpd 時,我注意到“黑匣子”(10.xxZ)是首選時間源:$ ntpq -pn remote refid st t when poll reach delay offset jitter ============================================================================== x10.x.x.X 69.164.222.108 3 u 48 64 177 0.501 370.029 1.530 *10.x.x.Z 10.x.x.Z 2 u 50 64 377 1.354 -23.681 14.179
由於 server
10.x.x.Z
唯一的時間源是server10.x.x.X
(即第 3 層),所以應該是第 4 層。我相信製造商已經硬編碼了它的層級別。有什麼辦法可以讓我的機器偏愛“好”(10.xxxX)伺服器,儘管它的層級更高?我也在我的本地文件中嘗試了該
prefer
指令ntp.conf
,但無濟於事,小黑盒總是獲勝:/值得一提的是,我的本地機器執行的是 Mac OS X 10.6。
$ ntpq -c rv | grep version version="ntpd 4.2.4p4@1.1520-o Mon May 18 19:38:25 UTC 2009 (1)",
經過更多研究後,似乎不可能“捏造”網路源的層級。所以我繼續嘗試dtoubeli 的回答。令我驚訝的是,簡單地將我的本地時間伺服器設置為第 2 層(等於第 3 方設備)並不總是使其成為首選時間源。我當地的 ntpd 仍然會將它們都視為“錯誤滴答聲”。出於什麼原因,我不確定,但我猜是因為它們是僅有的兩個時間源,而且它們的時間相距甚遠。
這裡最大的問題是我的 3rd 方設備似乎並沒有保持非常一致的時間,實際上它波動很大。我的問題的解決方案是將其他幾個準確的時間源 (pool.ntp.org) 添加到我的
/etc/ntp.conf
. 現在,我的本地伺服器始終被選為首選時間源,儘管它的層級通常高於池中的某些伺服器。