在我的网络中,我有一个可靠的 NTP 服务器,所有 PC 都与其同步。由于 Windows 时间服务存在各种问题(至少在 Windows 7 及更低版本中),我已在 Windows 计算机上禁用它,而是安装了Meinberg 的 NTPD 适用于 Windows 的端口。
多年以来,此功能在我测试过的所有 PC 上都运行可靠,但今天我的一台 Windows 机器出现了问题(Windows 7 Pro x64,撰写本文时已应用所有更新)。
请注意,C:\Program Files (x86)\NTP\etc\ntp.conf
该机器上字面上地与该网络上的所有其他 Windows PC 相同,最后一行除外(见下文)。
ntpd.conf
(在有问题的机器上,删除了一些评论):
restrict default noquery nopeer nomodify notrap
restrict -6 default noquery nopeer nomodify notrap
# allow status queries and everything else from localhost
restrict 127.0.0.1
restrict -6 ::1
# if you need to allow access from a remote host, you can add lines like this:
# restrict <IP OF REMOTE HOST>
# Use drift file
driftfile "C:\Program Files (x86)\NTP\etc\ntp.drift"
# Use specific NTP servers
server timeserver.in.my.local.network iburst minpoll 6 maxpoll 7
# End of generated ntp.conf --- Please edit this to suite your needs
interface ignore wildcard
interface ignore ipv6
interface listen 127.0.0.1
interface listen 192.168.20.100
当然,最后一句在不同的电脑上是不同的。是的,我确实不ntpd
想听每个接口/IP 地址,而仅限于“主”IP 地址和localhost
。
问题:
作为安装后我在每台电脑上进行的第一个快速测试,我在相关电脑上打开cmd32
并administrator
运行
C:\Program Files (x86)\NTP>ntpq -p
这导致了以下错误消息:
ntpq: read: No such file or directory
我一开始相信它说的话,并用 分析了它的行为ProcessMonitor
,但无济于事。我找不到任何无法打开文件的提示。我挠了挠头,然后尝试
C:\Program Files (x86)\NTP>ntpq -p 192.168.20.100
这次,我得到了
192.168.20.100: timed out, nothing received
***Request timed out
因此,显然,根据我从中得出的结论ProcessMonitor
,读取文件没有问题,但打开网络设备也许有问题。
奇怪的是,
C:\Program Files (x86)\NTP>ntpq -p 127.0.0.1
产生了预期的结果:
remote refid st t when poll reach delay offset jitter
==============================================================================
*192.168.20.10 ( 192.53.103.108 2 u 8 128 377 0.977 0.194 0.977
这又让我头疼了。为了测试,我关闭了那台电脑上的 Windows 防火墙(那里没有安装其他防火墙),但ntpq -p
仍然ntpq -p 192.168.20.100
出现与以前相同的错误消息。
作为最后一次测试,我运行了
C:\Program Files (x86)\NTP>netstat -abno
并得到
Active Connections
...
UDP 127.0.0.1:123 *:* 5076
[ntpd.exe]
...
UDP 192.168.20.100:123 *:* 5076
[ntpd.exe]
...
因此ntpd
按照预期从配置文件中监听 IP 地址。
当然,重新启动服务甚至重新启动电脑都无济于事。
现在我没主意了。即使防火墙完全关闭,为什么ntpq
可以与监听的 IP 地址之一通信,却无法与另一个 IP 地址通信?ntpd