Eug*_*e S 5 linux redhat ntp ntpd
我正在尝试在我的机器上配置 NTP,但系统似乎没有读取我设置的参数。下面是我的/etc/ntp.conf
文件。(我应用了最基本的配置来排除其他问题)
server 10.45.68.47
server 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
设置完上述配置后,我通过执行以下操作重新启动 ntpd 进程:
service ntpd restart
Run Code Online (Sandbox Code Playgroud)
然后我得到以下输出:
Shutting down ntpd: [ OK ]
ntpd: Synchronizing with time server: [FAILED]
Starting ntpd: [ OK ]
Run Code Online (Sandbox Code Playgroud)
此外,我可以在以下内容中看到/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
Run Code Online (Sandbox Code Playgroud)
因此,它似乎ntpServer1
和ntpServer2
正在从某个地方,而不是我所配置的IP地址读取/etc/ntp.conf
。
注意:为了init 6
以防万一,我在机器上完成了。
UPDATE 目标服务器似乎可以访问,但未同步。我知道如果同步成功,那么“*”应该出现在服务器名称附近:
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
Run Code Online (Sandbox Code Playgroud)
在 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
Run Code Online (Sandbox Code Playgroud)
并且ntpdate
将使用它们来设置初始时间。
顺便说一句,您不应该将 localhost 作为时间服务器。使用本地服务器,也可能使用ntp pool 项目中的一些服务器。确保它们在地理位置上靠近您以获得最佳效果。另外,我会重新设置默认的 Red Hat 配置,因为它有一些合理的默认设置,即不允许其他服务器在您的服务器上设置时间。
显然你正在使用 Debian。
默认配置选项位于/etc/default/<daemon-name>
.
编辑:好的,不是 Debian :)
简单的事实是,您无法在同一台计算机上运行 ntpdate 和 ntpd,而不发生端口冲突 - ntpd侦听UDP 123,而 ntpdate从 UDP 123发送。