凌峰创科服务平台

Windows如何配置NTP服务器?

  1. 将你的 Windows 服务器配置成一个标准的 NTP 时间源,供网络中的其他设备(如其他电脑、服务器、网络设备)同步时间。
  2. 配置你的 Windows 客户端(包括服务器本身),让它从一个外部或内部的 NTP 时间源同步时间。

下面我将详细讲解这两种配置方法。

Windows如何配置NTP服务器?-图1
(图片来源网络,侵删)

将 Windows 服务器配置为 NTP 服务器(作为时间源)

如果你想让一台 Windows Server 成为局域网内的权威时间源,你需要配置 Windows Time 服务,并将其设置为权威时间源。

第 1 步:检查和安装角色(如果需要)

Windows Server 的“角色”或“功能”中已经包含了 Windows Time 服务,但为了确保万无一失,可以检查一下。

  1. 打开 服务器管理器
  2. 点击 “管理” -> “添加角色和功能”
  3. 在向导中,一直点击 “下一步”,直到 “功能” 页面。
  4. 在功能列表中,找到并勾选 “Windows Time 服务”
  5. 点击 “安装” 完成安装。

第 2 步:配置注册表(关键步骤)

要让 Windows 服务器成为权威时间源,必须修改注册表。操作前请务必备份注册表!

  1. Win + R 键,输入 regedit 并回车,打开注册表编辑器。
  2. 导航到以下路径:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
  3. 在右侧窗口中,找到名为 AnnounceFlags 的 DWORD (32 位) 值。
    • 如果不存在,请右键点击空白处 -> 新建 -> DWORD (32 位) 值,并将其命名为 AnnounceFlags
    • 双击 AnnounceFlags,将其值修改为:
      • 5:如果你的域功能级别是 Windows Server 2008 或更高。
      • A:如果你的域功能级别是 Windows Server 2003 或更低。
      • 对于独立(非域)服务器,设置为 5 通常是可行的。
  4. 导航到以下路径:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
  5. 在右侧窗口中,找到名为 Enabled 的 DWORD (32 位) 值。
    • 如果不存在,请右键点击空白处 -> 新建 -> DWORD (32 位) 值,并将其命名为 Enabled
    • 双击 Enabled,将其值修改为 1
  6. (可选但推荐)在同一 NtpServer 键下,可以修改 RegKey 的值为 Parameters,以确保配置被正确应用。

第 3 步:配置 Windows Time 服务类型

  1. 导航到以下注册表路径:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
  2. 在右侧窗口中,找到名为 SpecialPollInterval 的 DWORD (32 位) 值。
    • 这个值决定了客户端向此服务器同步时间的频率(以秒为单位)。
    • 默认值是 604800(7天),你可以修改为一个更小的值,900(15分钟)或 3600(1小时)。
    • 注意:这个值是以 为单位的,不要直接填入 151

第 4 步:重启 Windows Time 服务

  1. 以管理员身份打开 命令提示符 (CMD)PowerShell
  2. 执行以下命令来重启服务,使所有更改生效:
    w32tm /config /update
    net stop w32time
    net start w32time

    或者,你也可以在服务管理器中重启 "Windows Time" 服务。

    Windows如何配置NTP服务器?-图2
    (图片来源网络,侵删)

第 5 步:配置防火墙(重要!)

为了让其他设备能够访问你的 NTP 服务器,必须在防火墙中允许 NTP 流量。

  1. 打开 “高级安全 Windows Defender 防火墙”
  2. 在左侧点击 “入站规则”
  3. 在右侧,点击 “新建规则...”
  4. 规则类型选择 “端口”,点击“下一步”。
  5. 选择 “TCP”,并在特定本地端口中输入 123(NTP 服务的标准端口),点击“下一步”。
  6. 选择 “允许连接”,点击“下一步”。
  7. 规则应用配置(域、专用、公用),根据你的网络环境选择,通常勾选“专用”即可,点击“下一步”。
  8. 为规则命名,NTP Server Inbound,然后点击“完成”。

你的 Windows 服务器已经成功配置为 NTP 服务器,网络中的其他设备可以将它的时间源地址指向这台服务器的 IP 地址。


配置 Windows 客户端同步时间

无论是 Windows 客户端还是服务器,它自己也需要同步时间,你可以让它从一个外部公共 NTP 服务器(如 time.windows.com)同步,也可以从你在场景一中配置的内部 NTP 服务器同步。

使用图形界面(适用于普通用户)

  1. 右键点击任务栏右下角的时间 -> “调整日期/时间”
  2. 在打开的设置页面中,找到 “其他日期、时间和区域设置”
  3. 点击 “设置日期和时间”
  4. 在弹出的窗口中,点击 “更改日期和时间” -> “更改时区”
  5. (关键步骤) 返回到“日期和时间”设置主界面,向下滚动找到 “其他日期、时间和区域设置”,再次点击进入。
  6. 点击 “设置日期和时间” -> “Internet 时间” 选项卡 -> “更改设置”
  7. 勾选 “与 Internet 时间服务器同步”
  8. 在服务器地址中输入你想要同步的时间源地址。
    • 公共 NTP 服务器time.windows.compool.ntp.org
    • 你的内部 NTP 服务器:输入你配置好的服务器的 IP 地址或主机名。
  9. 点击 “立即更新”(可选)和 “确定” 保存设置。

使用命令行(推荐用于管理员和自动化)

命令行方式更强大,也更适合批量管理。

Windows如何配置NTP服务器?-图3
(图片来源网络,侵删)
  1. 以管理员身份打开命令提示符或 PowerShell。

  2. (可选但推荐)将类型设置为 NTPClient 首先确保你的客户端是作为 NTP 客户端去同步时间,而不是 NTP 服务器。

    w32tm /config /syncfromflags:manual /update
    • /syncfromflags:manual:表示手动指定时间源。
    • /update:应用配置。
  3. 配置时间源 指定要同步的 NTP 服务器,你可以指定多个服务器,用空格隔开,系统会按顺序尝试。

    w32tm /config /manualpeerlist:"time.windows.com 0x8 pool.ntp.org 0x8" /update
    • time.windows.com:微软的公共时间源。
    • pool.ntp.org:公共 NTP 服务器池。
    • 0x8:这是一个特殊标志,表示这是一个可靠的时间源强烈建议添加此标志,尤其是在从公共服务器同步时。
    • 如果你使用的是内部服务器,命令应为:
      w32tm /config /manualpeerlist:"ntp.yourdomain.com 0x8" /update
  4. 立即同步并检查状态

    • 立即强制同步一次:
      w32tm /resync /force
    • 查看 Windows Time 服务的当前状态和配置:
      w32tm /query /status
    • 查看详细的同步信息:
      w32tm /query /verbose
命令 功能
w32tm /query /status 查看时间服务当前状态(源、上次同步时间等)
w32tm /resync 尝试与配置的时间源重新同步
w32tm /resync /force 强制与时间源重新同步,即使时间差异不大
w32tm /config /update 应用通过 w32tm /config 进行的所有更改
w32tm /config /syncfromflags:domhier 将时间源设置为域层级中的权威时间源(域环境)
w32tm /config /syncfromflags:manual 将时间源设置为手动指定的服务器
w32tm /config /manualpeerlist:"server1 server2" 手动指定多个时间源服务器
net stop w32time && net start w32time 重启 Windows Time 服务

故障排查

如果时间同步失败,可以:

  1. 检查防火墙:确认目标 NTP 服务器的 123 端口是开放的。
  2. 检查网络连接:确保客户端可以访问配置的 NTP 服务器 IP 地址。
  3. 检查时间源服务器:确保你的内部 NTP 服务器已经正确配置为权威时间源(AnnounceFlags=5)。
  4. 查看事件日志:在 “事件查看器” -> “Windows 日志” -> “系统” 中,查找来源为 W32Time 的日志,里面会记录详细的同步成功或失败信息。
  5. 使用 w32tm /query /verbose:这个命令能提供最详细的同步信息,是排查问题的利器。
分享:
扫描分享到社交APP
上一篇
下一篇