凌峰创科服务平台

Windows如何搭建NTP服务器?

  1. 使用 Windows 内置功能(推荐):从 Windows Server 2008 和 Windows Vista 开始,Windows 系统就内置了完整的 NTP 服务器功能,无需安装任何第三方软件,对于大多数家庭或小型办公环境,这已经足够强大和稳定。
  2. 使用第三方软件:如 Meinberg NTP 等,这通常用于有特殊需求(如更高精度、更复杂配置)的企业环境。

对于绝大多数用户,强烈推荐使用第一种方法,因为它免费、稳定,且与系统集成度高。

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

使用 Windows 内置功能(Windows 10/11 和 Windows Server)

这个方法的核心是修改 Windows 的注册表,将 Windows Time 服务从“客户端”模式切换到“服务器/客户端”兼用模式。

第一步:确认 Windows Time 服务状态

  1. Win + R 键,输入 services.msc 并回车,打开“服务”管理器。
  2. 在服务列表中找到 Windows Time 服务。
  3. 确保其“启动类型”为 自动,服务状态”为 正在运行,如果不是,右键点击它,选择“属性”进行修改。

第二步:修改注册表以启用 NTP 服务器

⚠️ 警告:修改注册表有风险,请务必在操作前备份注册表。

  1. Win + R 键,输入 regedit 并回车,打开注册表编辑器。
  2. 导航到以下路径:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
  3. 在右侧窗口中,找到名为 Enabled 的 DWORD (32 位) 值。
    • 如果不存在,请右键点击空白处 -> 新建 -> DWORD (32 位) 值,并将其命名为 Enabled
  4. 双击 Enabled,将数值数据从 0 修改为 1,然后点击“确定”。
    • 0 表示禁用(默认值,仅作为客户端)
    • 1 表示启用(作为服务器)

第三步:配置 NTP 客户端同步模式

为了让你的服务器自身也能保持准确的时间,并知道从哪里同步,需要配置一下。

  1. 再次打开注册表编辑器,导航到以下路径:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
  2. 在右侧窗口中,找到名为 AnnounceFlags 的 DWORD 值。

    如果不存在,请新建一个。

    Windows如何搭建NTP服务器?-图2
    (图片来源网络,侵删)
  3. 双击 AnnounceFlags,将其数值数据修改为 5,然后点击“确定”。
    • 数值解释
      • 5 (二进制 0101):表示此计算机既是可靠的 NTP 时间源(0100),也是普通客户端(0001),这是最常用的设置。
      • 10 (二进制 1010):表示此计算机是域控制器,它会作为权威的时间源。
      • a (十进制 10):同上。
      • 0 (默认值):表示此计算机仅作为客户端,不对外提供时间同步。

第四步:配置 NTP 源(可选但推荐)

为了确保你的服务器时间准确,你需要告诉它应该从哪里同步时间,对于非域环境,通常指向微软的公共 NTP 服务器。

  1. 打开命令提示符(CMD)或 PowerShell,以管理员身份运行
  2. 输入以下命令,将 NTP 服务器设置为微软的公共服务器(time.windows.com):
    w32tm /config /syncfromflags:manual /manualpeerlist:"time.windows.com,0x8"
    • time.windows.com 是微软的公共 NTP 服务器,0x8 表示使用特殊间隔(8秒)进行初始同步,然后恢复正常间隔。
    • 你也可以使用其他公共 NTP 服务器,如 pool.ntp.org(它会自动分配一个最优的节点)。
    • 命令示例:w32tm /config /syncfromflags:manual /manualpeerlist:"pool.ntp.org,0x8"
  3. 执行命令后,重启 Windows Time 服务以使配置生效:
    net stop w32time
    net start w32time

    你也可以在服务管理器里重启它。

第五步:验证 NTP 服务器是否工作

你的 Windows 电脑已经成功配置为 NTP 服务器,局域网内的其他设备(如手机、树莓派、另一台电脑)就可以通过它的 IP 地址来同步时间了。

在你的 Windows 服务器上验证:

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

  2. 运行以下命令,查看当前 NTP 源配置:

    w32tm /query /configuration

    你应该能看到 Type: NTPNtpServer: time.windows.com,0x8 等信息。

  3. 运行以下命令,检查与时间源的同步状态:

    w32tm /query /status

    这会显示当前同步源、延迟、偏差和精度等信息。

在局域网内的另一台设备上验证:

假设你的 Windows 服务器的 IP 地址是 168.1.100

  • 在 Linux 或 macOS 上

    ntpq -p 192.168.1.100

    如果配置成功,你应该能看到 168.1.100 作为服务器列表中的一员,reach 列的值不为 0。

  • 在另一台 Windows 电脑上

    1. 打开“日期和时间”设置,选择“添加其他时钟”。
    2. 在“Internet 时间”选项卡中,点击“更改设置”。
    3. 勾选“与 Internet 时间服务器同步”,在服务器地址中填入 168.1.100,然后点击“立即更新”。
    4. 如果成功,会提示“时间已同步”。

使用第三方软件(以 Meinberg NTP 为例)

如果你需要更专业的功能,可以安装 Meinberg 的免费 NTP 服务器。

  1. 下载:访问 Meinberg 官网下载页面:https://www.meinberg.de/download/ntp.htm
  2. 安装:下载后运行安装程序,按照向导进行安装,安装过程非常简单,一路点击 "Next" 即可,它会自动配置好服务和防火墙规则。
  3. 配置:安装完成后,可以在系统托盘找到 Meinberg 的图标,右键点击可以进行配置,如选择时间源、查看同步状态等。
  4. 使用:局域网内的设备可以通过安装这台电脑的 IP 地址来同步时间,与内置方法相同。

总结对比

特性 Windows 内置功能 Meinberg NTP
成本 免费 免费
易用性 需要手动修改注册表和命令行,有一定门槛 图形化界面,安装即用,非常简单
功能 基本功能,能满足大多数需求 功能强大,配置灵活,支持更多高级选项
稳定性 非常稳定,与系统深度集成 同样非常稳定,是业界广泛使用的解决方案
适用场景 家庭、小型办公室、个人开发者 企业环境、实验室、需要高精度时间同步的场景

对于绝大多数 Windows 用户,方法一(内置功能) 完全可以满足搭建 NTP 服务器的需求,无需安装任何额外软件,只有在需要更精细控制或特殊功能时,才考虑使用第三方软件。

分享:
扫描分享到社交APP
上一篇
下一篇