【问题标题】:Device is getting time from ntpd but "ntpq -p" command is getting timeout设备从 ntpd 获取时间,但“ntpq -p”命令超时
【发布时间】:2016-12-16 05:29:05
【问题描述】:

在我们的代码中,我们使用 ntpd 从服务器获取时间并设置时间。执行 ntpd 命令后,我们正在运行“ntpq -p”来检查服务器偏移量。我们在不同进程中运行 ntpd 的命令,并在完成该 ntpq 之后。

/bin/ntpd -g -c /etc/ntp.conf /bin/ntpq -p

在一个实验室设置路由器中,我们能够观察到该设备正在正常获取时间,但是当我们运行“/bin/ntpq -p”时,它会阻塞一段时间并返回超时。在放弃代码之前,我们正在尝试连续一小时。仅在实验室设置中,它会出现问题。在实验室外,设备连接到其他路由器的地方工作正常。当我拿一个在实验室外工作的设备(连接到另一个路由器)并且如果我将设备连接到实验室路由器时,它会超时。

我认为实验室路由器设置有问题,这就是它无法连接到 ntp 服务器的原因。但我想知道设备是否无法联系 NTP 服务器,设备如何获得正确的时间。设备从 ntp 服务器获取时间但 ntpq -p 返回超时,这很奇怪。另一个奇怪的行为是,如果我重新启动路由器(设备正在运行),设备工作正常,直到设备重新启动,如果我重新启动设备,也会发生相同的超时。谁能告诉我这种奇怪行为的原因。

【问题讨论】:

    标签: linux ntpd


    【解决方案1】:

    您已为尝试从其接收ntpq -p 的任何主机启用了noquery 限制。

    来自 ntp.org 文档:https://www.eecis.udel.edu/~mills/ntp/html/accopt.html

    noquery
        Deny ntpq and ntpdc queries. Time service is not affected.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多