我正在尝试在我的机器上配置 NTP,但似乎我设置的参数未被系统读取。以下是我的/etc/ntp.conf
文件。(我应用了最基本的配置以消除其他问题)
server 10.45.68.47
server 127.0.0.1
设置上述配置后,我通过执行以下操作重新启动 ntpd 进程:
service ntpd restart
然后我得到以下输出:
Shutting down ntpd: [ OK ]
ntpd: Synchronizing with time server: [FAILED]
Starting ntpd: [ OK ]
此外,我可以在中看到以下内容/var/etc/messages
:
Apr 2 10:54:07 hsystem1a ntpd[21067]: ntpd exiting on signal 15
Apr 2 10:54:07 hsystem1a ntpdate[21537]: can't find host ntpServer1
Apr 2 10:54:07 hsystem1a ntpdate[21537]: can't find host ntpServer2
Apr 2 10:54:07 hsystem1a ntpdate[21537]: no servers can be used, exiting
因此看起来,和ntpServer1
是ntpServer2
从某个地方读取的,而不是从我在中配置的 IP 读取的/etc/ntp.conf
。
笔记:为了以防万一,我init 6
在机器上做了这个。
更新 看起来目标服务器可以访问,但是没有同步。我知道如果同步成功,那么服务器名称附近应该会出现“*”:
remote refid st t when poll reach delay offset jitter
==============================================================================
omap 127.0.0.1 7 u 50 64 377 0.269 -21536. 4.813
答案1
在 Red Hat 上,当您这样做时,会发生几件事service ntpd restart
。
ntpd
已停止ntpdate
运行以设置初始时间。这是因为默认情况下,ntpd
不会将系统时间调整到超过某个阈值。ntpdate
使用指定的时间服务器设置一次性时间。只要ntpdate 10.45.68.47
ntpd 没有运行,您就可以手动执行此操作。ntpd
重新开始
ntpd 的服务器在 中指定,/etc/ntp.conf
但从ntpdate
名为 的文件中获取它们/etc/ntp/step-tickers
。如果您查看ntpd
中的脚本,/etc/init.d
您会注意到ntpdate
如果此文件中有任何内容,则会使用此文件(如果它为空,则ntpdate
跳过此步骤)。您可以将时间服务器放入此处:
server 10.45.68.47
并将ntpdate
使用它们来设置初始时间。
另外,您不应该将 localhost 作为时间服务器。使用本地服务器,或者使用来自ntp 池项目。为获得最佳效果,请确保它们在地理位置上离您较近。此外,我会重新设置默认的 Red Hat 配置,因为它有一些合理的默认值,即不允许其他服务器设置您服务器上的时间。
答案2
您显然正在使用 Debian。
默认配置选项在/etc/default/<daemon-name>
。
编辑:好的,不是 Debian :)
简单的事实是,你不能在同一台计算机上运行 ntpdate 和 ntpd,否则会发生端口冲突 - ntpd听在 UDP 123 和 ntpdate 上发送来自 UDP 123。
答案3
如果不连接到另一个时间服务器(源),则无法运行 ntp 服务器。