【问题标题】:NTP in local network本地网络中的 NTP
【发布时间】:2018-09-11 17:04:30
【问题描述】:

我正在尝试在无法访问 Internet 的本地网络中配置 NTP 服务器(即使错误,我也需要所有机器都具有相同的时间)。

我已经为客户端和服务器配置了 /etc/ntp.conf 文件。 在系统启动时,我运行ntpd -qgx 来同步启动时间以加快同步速度,然后运行ntpd 继续同步。

但是有时它会成功同步,而其他时候它给了我:

select() 返回 -1:系统调用中断

select() 返回 -1:系统调用中断

1 Jan 00:02:56 ntpd[2599]:ntpd:未找到服务器

我真的试图找到一种模式来理解它何时失败......但对我来说没有成功,这完全是随机的。

当我尝试使用 google 的 NTP 服务器时,它看起来不错,并且每次都确实同步

有人遇到过这样的问题吗?有什么想法吗?

我的 ntp.conf 文件:

服务器:

#Use the local clock
server 127.127.1.0 
fudge  127.127.1.0 stratum 0

driftfile /var/lib/ntp/drift
broadcastdelay 0.008

# Give localhost full access rights
restrict 127.0.0.1

# Give machines on our network access to query us
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

客户:

#Point to our network's master time server
server 192.168.1.102

#restrict default ignore
restrict 127.0.0.1
restrict 192.168.1.102  mask 255.255.255.255 nomodify notrap noquery

tos orphan 16

driftfile /var/lib/ntp/drift

【问题讨论】:

    标签: linux time synchronization ntp local-network


    【解决方案1】:

    不确定您的系统调用中断,但与您的既定目标相比,这里有一些关于您的配置的注意事项:

    • 您似乎正在尝试将您的服务器配置为根本没有其他 refclock 或对等点。这几乎肯定不会让您获得任何合理质量的时间。至少,您需要 A) 针对已知的良好同步时钟临时运行候选服务器几天到calibrate,或 B) 获得便宜的 GPS 连接到系统用作参考时钟。而且,如果您的本地网络规模很大,您可能需要一些内部服务器,而不仅仅是一个(并且要检测一个时钟何时出错,即使对于小型网络,您也可能需要一些)。

    • 您几乎可以肯定不需要broadcastdelay。如果您的配置中缺少其他配置,广播将无法正常工作。虽然我没有经常使用广播,但我在野外的客户中并没有看到对它的太多支持。最好只使用传统的客户端/服务器/对等 NTP。

    • Stratum 16 保留用于非同步时钟。如果您为您的tos orphan 配置选择较低的层 - 类似tos orphan 6 或其他东西 - 这可能会有所帮助。否则,您将无法获得所需的孤立行为。

    (关于您的其他测试的附带说明:不建议将 Google 的服务器与 ntpd 一起使用,因为它们使用 leap smearing。使用来自 the NTP Pool Project 的对等点可能更适合您的用例。虽然它也不会任何一种方式都很重要,除非它是在闰第二天(六月或十二月的最后一天,但只有几年)。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-02
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多