我正在尝试在 Windows 机器上设置 NTP 服务器。我将简要介绍一下我所针对的架构:
设置如下:Windows 计算机上有两个网络接口,一个用于连接互联网,另一个用于与本地组件(即路由器)通信。我们的想法是建立一个与互联网隔离的整个网络,其中所有端口都开放,我可以做我想做的事情,只有 Windows 计算机作为接入点,这样它的防火墙就可以保护整个 LAN。
问题是由于我没有共享互联网连接,所以 LAN 端的路由器无法同步其时钟,因此我尝试让 Windows 提供从互联网获取的 NTP 数据。
到目前为止,我可以看到 NTP 服务器已在 Windows 机器上启用,并且w32tm
正在运行:
NtpServer (Local)
DllName: C:\Windows\system32\w32time.dll (Local)
Enabled: 1 (Local)
InputProvider: 0 (Local)
AllowNonstandardModeCombinations: 1 (Local)
123
我可以通过运行看到它正在监听netstat -aon
:
UDP 0.0.0.0:123 *:*
我还激活了日志,并在测试时完全禁用了防火墙。
但路由器根本无法同步。
如果我连接 LAN 上的另一台计算机(也禁用了防火墙)并运行,w32tm /monitor /computers:x.x.x.x
我会得到以下结果:
x.x.x.x[x.x.x.x:123]:
ICMP: 0ms delay
NTP: error ERROR_TIMEOUT - no response from server in 1000ms
为什么ping通了,但是NTP包却打不通呢?
在日志中我看不到任何计算机收到请求的痕迹。目前我不知道该寻找什么,如果你能给我指明正确的方向,我将不胜感激!
答案1
好吧,问题一直出在防火墙上,而不是 Windows 防火墙。我被困在电脑上,没看路由器。如果您尝试这样的设置,请确保每一步都打开所有端口,这样它就会正常工作。