NTP软件networking源层

是否有可能configurationntpd来欺骗networking层的层级?

乍一看,我认为fudge指令可以完成这个,但是在浏览ntp.conf(5)手册页后,我发现这个指令只适用于参考时钟。

一些细节:

我有一台运行ntpd的本地服务器作为LAN上客户端的主要时间源。 该服务器指向ntp.org池,通常保持层级3。

除了我的主服务器之外,我还有一个第三方networking设备,其主要工作是通过无线方式同步壁钟。 射频传输。 该设备的规格说,它是一个“RFC2030兼容的时间服务器”,但否则它几乎是一个黑匣子。 我configuration了设备来使用我的主服务器,因为它只是时间源:

黑匣子configurationhttp://www.freeimagehosting.net/uploads/21bafb12bd.png

当我在个人电脑上configurationntpd使用我的主NTP服务器无线发射器作为时间源时,我的问题就浮出水面。 当查询我的本地ntpd时,我注意到“黑匣子”(10.xxZ)是最受欢迎的时间源:

 $ ntpq -pn remote refid st t when poll reach delay offset jitter ============================================================================== x10.xxX 69.164.222.108 3 u 48 64 177 0.501 370.029 1.530 *10.xxZ 10.xxZ 2 u 50 64 377 1.354 -23.681 14.179 

由于服务器10.xxZ的唯一时间源服务器10.xxX (层数为3),因此它应该是第4层。我相信制造商已经对其层级进行了硬编码。

尽pipe层级较高,有没有办法让我的机器支持“好”(10.xxX)服务器? 我也尝试了我的本地ntp.conf文件中的prefer指令,但无济于事,小小的黑匣子总是赢:/

对于它的价值,我的本地机器运行Mac OS X 10.6。

 $ ntpq -c rv | grep version version="ntpd [email protected] Mon May 18 19:38:25 UTC 2009 (1)", 

经过更多的研究,似乎“欺骗” networking层的层次是不可能的。 所以我继续前进,并尝试了dtoubeli的答案 。 令我吃惊的是,简单地将我的本地时间服务器设置为阶层2(相当于第三方设备)并不总是使它成为首选的时间源。 我的本地ntpd仍然将它们统治为“虚假滴答”。 出于什么原因,我不确定,但我猜是因为他们是唯一的两个时间来源,他们的时代已经很遥远了。

这里最大的问题是,我的第三方设备似乎没有一个非常一致的时间,事实上它波动很大。 解决我的问题是添加其他几个准确的时间源(pool.ntp.org)到我的/etc/ntp.conf 。 现在,我的本地服务器始终被选为首选时间源,尽pipe层级比池中的某些服务器层次更高。

您可以尝试在第2层运行本地ntpd,而不是将其指向pool.ntp.org,只需创build5-7层1服务器的列表并直接将其添加到configuration中。 在层1的参考服务器将运行在第2层。那么你prefer选项可能会工作。

但是,从我的经验来看,阶层水平并不总是主要选举的胜利因素。 我认为延迟和抖动也有重要的影响。 我曾多次注意到,即使有更高级别的服务器可用,但由于延迟最低,所以select了较低级别的服务器作为主要来源。 这就是为什么我不能保证所build议的方法将起作用。

我有一个“高层”的本地networking时间源,在ntpq也给了我一个falsetick状态(x),我发现在ntp.conf中使用“server [IP-addr] true将绕过falsetick检查,这是一个可能的候选人。 看起来层数并不总是意味着更高的优先级。

如果你不喜欢这个服务器10.xxZ作为参考,这应该做的伎俩:

 server 10.xxZ noselect 

如果仅将服务器用于监视原因,这很有用。 或者你也可以configuration:

 server 10.xxX prefer 

因此如果10.xxX可用,10.xxZ将不会被使用。

首选的一个原因是您的其他时间服务器最近无法访问。 查看覆盖面的列?