凌峰创科服务平台

Linux/Win10如何同步时间服务器?

Linux 系统时间同步

Linux 系统使用 chronyntpd 来进行时间同步,在现代 Linux 发行版(如 CentOS 7+, Ubuntu 18.04+)中,chrony 是默认推荐的服务,因为它对网络延迟和不稳定的连接适应性更强。

Linux/Win10如何同步时间服务器?-图1
(图片来源网络,侵删)

使用 Chrony(推荐)

A. 客户端模式(从公网服务器同步)

这是最常见的配置,让你的 Linux 电脑与互联网上的标准时间服务器同步。

安装:

# CentOS/RHEL/Fedora
sudo yum install chrony
# Debian/Ubuntu
sudo apt update
sudo apt install chrony

配置: 编辑 /etc/chrony.conf 文件:

Linux/Win10如何同步时间服务器?-图2
(图片来源网络,侵删)
sudo nano /etc/chrony.conf

默认情况下,文件中已经包含了一些公共 NTP 服务器(如 pool.ntp.org),你可以直接使用它们,或者替换为你信任的其他服务器(如国家授时中心的服务器)。

示例配置(使用中国国家授时中心服务器):

# 使用公共池服务器,推荐
pool pool.ntp.org iburst
# 或者使用指定的服务器
# server ntp.ntsc.ac.cn iburst
# server s1a.time.edu.cn iburst
# server 2.cn.pool.ntp.org iburst
# 允许其他客户端从本机同步时间(配置服务器时需要)
# allow 192.168.1.0/24
# 禁止修改本地硬件时钟(除非你是服务器)
# local stratum 10

iburst 选项可以在启动时快速同步时间。

启动并启用服务:

Linux/Win10如何同步时间服务器?-图3
(图片来源网络,侵删)
# 启动服务
sudo systemctl start chronyd
# 设置开机自启
sudo systemctl enable chronyd

检查同步状态:

# 查看同步状态
chronyc tracking
# 查看与哪些服务器同步
chronyc sources
# 查看详细活动信息
chronyc activity

B. 服务器模式(作为局域网时间同步服务器)

如果你想配置一台 Linux 机器作为局域网内所有设备的时间源,你需要进行如下配置。

前提条件:

  1. 这台 Linux 机器本身时间必须非常准确(最好先与公网服务器同步好)。
  2. 需要防火墙开放 UDP 123 端口。

配置步骤:

  1. 编辑 /etc/chrony.conf 文件:

    sudo nano /etc/chrony.conf

    修改为如下格式:

    # 允许来自局域网的客户端同步
    # 192.168.1.0/24 替换为你的局域网网段,192.168.0.0/16
    allow 192.168.1.0/24
    # (可选)如果你想让服务器从公网同步,保留这一行
    # server ntp.ntsc.ac.cn iburst
    # 如果这台服务器本身是权威时间源(例如连接了GPS),可以这样配置
    # local stratum 10
    # 确保监听所有网络接口
    bindaddress 0.0.0.0
  2. 配置防火墙:

    # 对于 firewalld (CentOS/RHEL)
    sudo firewall-cmd --permanent --add-service=ntp
    sudo firewall-cmd --reload
    # 对于 ufw (Ubuntu/Debian)
    sudo ufw allow 123/udp
  3. 重启 Chrony 服务:

    sudo systemctl restart chronyd

你的 Linux 服务器就已经准备好作为局域网的时间服务器了,局域网内的其他设备(无论是 Linux 还是 Windows)都可以配置指向这个服务器的 IP 地址进行同步。


使用 NTP (传统工具)

ntpd 是另一个经典的时间同步工具,配置方式与 chrony 类似。

安装:

sudo yum install ntp  # CentOS/RHEL
sudo apt install ntp  # Debian/Ubuntu

配置: 编辑 /etc/ntp.conf 文件,添加你的服务器和 restrict 规则。

作为服务器模式示例:

# 限制客户端访问
restrict default nomodify notrap noquery
restrict 192.168.1.0/24 mask 255.255.255.0 nomodify
# 指定上游服务器
server ntp.ntsc.ac.cn iburst
# 允许本地时钟同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10
# 监听所有接口
listen on 0.0.0.0

启动服务:

sudo systemctl start ntpd
sudo systemctl enable ntpd

Windows 10 时间同步

Windows 10 使用 Windows Time 服务 (w32time) 来管理时间同步。

客户端模式(从默认服务器或指定服务器同步)

A. 通过图形界面设置

  1. 右键点击任务栏右下角的时间 -> 调整日期/时间
  2. 在“其他日期、时间和区域设置”中,找到“日期和时间”。
  3. 点击“其他日期和时间设置”。
  4. 在弹出的窗口中,选择“Internet 时间”选项卡。
  5. 点击“更改设置...”。
  6. 勾选“与 Internet 时间服务器同步”。
  7. 在服务器地址中,你可以输入:
    • 默认的 time.windows.com
    • 你配置好的 Linux 时间服务器的 IP 地址(168.1.100)。
    • 其他公共 NTP 服务器,如 time.nist.gov
  8. 点击“立即更新”和“确定”。

B. 通过命令行设置(推荐)

使用命令行可以更精确地配置,并且可以永久修改策略。

  1. 设置 NTP 服务器地址: 打开 管理员权限 的 PowerShell 或 CMD,然后执行:

    # 将 192.168.1.100 替换为你的 Linux 时间服务器 IP
    w32tm /config /syncfromflags:manual /manualpeerlist:"192.168.1.100,0x8"
    • /syncfromflags:manual:指定使用手动配置的 NTP 服务器。
    • /manualpeerlist:指定 NTP 服务器列表。0x8 表示该服务器是 可靠源,优先级最高。
  2. 重新启动 Windows Time 服务以应用更改:

    w32tm /resync /force
  3. 验证同步状态:

    w32tm /query /status

    你应该能看到源已经变为你设置的 IP 地址。


服务器模式(作为局域网时间同步服务器)

Windows 也可以作为时间服务器,但默认是客户端模式,需要通过组策略或注册表来启用。

推荐方法:使用本地组策略编辑器

  1. Win + R 键,输入 gpedit.msc 并回车,打开组策略编辑器。
  2. 导航到以下路径: 计算机配置 -> 管理模板 -> 系统 -> Windows 时间服务 -> 时间提供程序
  3. 在右侧窗口中,找到并双击 “配置 Windows NTP 客户端”
  4. 选择 “已启用”
  5. 在“NTP 服务器”框中,输入你希望 Windows 服务器同步的上游服务器地址(ntp.ntsc.ac.cn 或留空表示自身成为权威源)。
  6. 关键步骤:找到并双击 “启用 Windows NTP 服务器”
  7. 选择 “已启用”
  8. 点击“应用” -> “确定”。
  9. 重启 Windows Time 服务 以使更改生效:
    net stop w32time && net start w32time

你的 Windows 10 机器也成为了局域网内的时间服务器,其他设备可以配置指向它的 IP 地址。


最佳实践和常见问题

  1. 层级结构
    • 层级 0 (Stratum 0):原子钟、GPS 等物理时间源。
    • 层级 1 (Stratum 1):直接连接 Stratum 0 的时间服务器,最权威。
    • 层级 2 (Stratum 2):从
分享:
扫描分享到社交APP
上一篇
下一篇