我在我的 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”服务器?请帮忙。
有时,互联网路由器在通过 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
- 此调用使用非特权端口,这更有可能起作用。不幸的是,ntpd 除了打开端口 123 之外不支持任何其他通信方式。
幸运的是,有使用不同端口的替代实现:
我使用 OpenNTPD 获得了不错的结果,但在论坛中人们也推荐了 chrony
您也可以只设置一个 OpenNTPD 主机,并让网络中的所有其他机器使用默认的 NTP 实现同步到这台机器。
您的 /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 的数据包转发到您的服务器。