为什么我的 ntpd 不起作用?

abl*_*lmf 5 linux ntp vmware-workstation

编辑

我已经尝试了您的所有建议,但似乎 ntpd 只是拒绝同步到服务器。

[vivs@peter-centos ~]$ /usr/sbin/ntpq -np
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================
 192.168.0.30    .LOCL.           1 u   11   64    3    0.984  232732. 20083.2
Run Code Online (Sandbox Code Playgroud)

这个抖动“20083.2”是否表示时间是手动更改的?

我已经关闭了 vmware 的时间同步。

原始问题

这是ntp的状态

[root@peter-centos gw]# /usr/sbin/ntpq -pn
 remote           refid      st t when poll reach   delay   offset  jitter
=============================================
 192.168.0.30    .LOCL.           1 u  153 1024  377    0.950  1905553 274023.
*127.127.1.0     .LOCL.          10 l    9   64  377    0.000    0.000   0.001
Run Code Online (Sandbox Code Playgroud)

您可以看到它只与本地时钟“127.127.1.0”同步。

是不是因为偏移量太大了?

但是我手动设置date by date命令后,还是拒绝同步到192.168.0.30

这可能是ntp.conf

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery

# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict -6 ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server 192.168.0.30 #blf
#broadcast 192.168.1.255 key 42         # broadcast server
#broadcastclient                        # broadcast client
#broadcast 224.0.1.1 key 42             # multicast server
#multicastclient 224.0.1.1              # multicast client
#manycastserver 239.255.254.254         # manycast server
#manycastclient 239.255.254.254 key 42  # manycast client

# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
#server 127.127.1.0     # local clock
#fudge  127.127.1.0 stratum 10

# Drift file.  Put this in a directory which the daemon can write to.
# No symbolic links allowed, either, since the daemon updates the file
# by creating a temporary in the same directory and then rename()'ing
# it to the file.
driftfile /var/lib/ntp/drift

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8
lkey 8
h the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8
lkey 8
olkey 8
lkey 8
Run Code Online (Sandbox Code Playgroud)

Dav*_*osh 10

2021 年 4 月更新:至少从 2016 年开始,正确的答案是在 VM 中运行 NTP。下面的答案应该被弃用。

之前:

啊——现在清楚了:

我的机器安装在 vmware 工作站中。因此,从所有答案中,我想可能抖动变得如此大是因为 vmware 调整了时间。我会看看我是否正确。

不要在 VM 中运行 ntp。主机不保证 CPU 切片,因此 VM 的时钟不准确。如您所见,ntp 试图跟上看起来像是变化很大的外部时钟,但最终放弃了。

这个问题的一般答案是不运行 ntp,安装 VMware 工具并将 VM 的时钟锁定到主机的时钟。

具体答案取决于您运行的 Linux 版本。我在CentOS的一些注意事项(可能普遍适用于其他的RedHat家庭分布)在这里