ntpd 服务器始终处于“INIT”模式

Dee*_*pak 8 ntp

我在我的 ubuntu (10.04) 机器上运行 ntpd 服务器。但它始终保持在“INIT”状态,如下所示。

lyra@ws07475:~$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 europium.canoni .INIT.          16 u    - 1024    0    0.000    0.000   0.000
 lyra@ws07475:~$ 
Run Code Online (Sandbox Code Playgroud)

当然,这意味着它没有计时。

如何正确启动“ntpd”服务器?请帮忙。

Dan*_*der 5

有时,互联网路由器在通过 NTP 流量时会出现问题。原因是 UDP 比 TCP 更难转发,有时端口甚至用于设备本身的 NTP 守护进程。

就我而言,是 DD-WRT 阻止了我所有的 NTP 流量。正如您可能已经注意到的那样:NTP 不太擅长说出现了问题。尤其不好说哪里出了问题。以下是关于 DD-WRT 的线程链接:https : //superuser.com/questions/386240/allow-lan-clients-to-sync-time-through-dd-wrt

您可以使用工具 ntpdate(这是 ntpd 的一次性版本)轻松检查您的路由器是否阻止了 NTP:

  • ntpdate pool.ntp.org- 这个调用的行为就像 ntpd,只要您以 root 身份运行它并且 ntpd 不在同一时间运行。如果您的路由器阻止 NTP,此命令将失败
  • ntpdate -u pool.ntp.org - 此调用使用非特权端口,这更有可能起作用。

如果您的路由器阻止 NTP,您能做什么?

不幸的是,ntpd 除了打开端口 123 之外不支持任何其他通信方式。

幸运的是,有使用不同端口的替代实现:

我使用 OpenNTPD 获得了不错的结果,但在论坛中人们也推荐了 chrony

您也可以只设置一个 OpenNTPD 主机,并让网络中的所有其他机器使用默认的 NTP 实现同步到这台机器。


Joh*_*ber 2

您的 /etc/ntp.conf 文件中似乎只有一台服务器。我有:

server ntp.ubuntu.com
server 0.north-america.pool.ntp.org
server 1.north-america.pool.ntp.org
server 2.north-america.pool.ntp.org
server 3.north-america.pool.ntp.org
Run Code Online (Sandbox Code Playgroud)

至少再添加几个可能是个好主意。

但是,我可以访问 europium.canonical.com(第一个),因此我怀疑问题出在远程站点和 ntp 端口(123)之间的通信。防火墙和 NAT 转换都会影响这一点。

请检查您可能运行的任何防火墙,并考虑设置您的 nat(假设您正在运行 nat)以将定向到端口 123 的数据包转发到您的服务器。