中心时间服务器怎么设置?

1、将一台服务器配置为局域网内的“中心时间服务器”,为网络中的其他设备提供时间同步服务。

2、将一台计算机/服务器指向一个已有的“中心时间服务器”,以同步自己的时间。

我将为您详细讲解这两种情况的设置方法。

情况一:设置一台服务器作为局域网的中心时间服务器

这通常用于企业或组织内部,确保所有设备都使用统一、准确的时间,这台中心服务器自己先从外部的权威时间源(如 NTP 服务器池)获取时间,然后向内网的其他设备提供时间。

Windows Server 环境

这里以 Windows Server 2016/2019/2022 为例。

1、启用 NTP 服务器功能

* 打开注册表编辑器 (regedit)。

导航到以下路径

        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

* 在右侧,双击Enabled,将其值从0 改为1,然后点击“确定”。

2、配置时间源(让中心服务器自身同步准确的时间)

* 以管理员身份打开命令提示符PowerShell

输入以下命令,将服务器指向外部可靠的 NTP 源(这里以time.windows.com 为例)

        w32tm /config /syncfromflags:manual /manualpeerlist:"time.windows.com" /reliable:yes /update

重启 Windows Time 服务以应用更改

        net stop w32time && net start w32time

3、配置 NTP 客户端策略(可选但推荐)

* 打开组策略管理编辑器

导航到计算机配置 ->管理模板 ->系统 ->Windows 时间服务 ->时间提供程序

* 启用配置 Windows NTP 客户端 策略。

* 将NTP 服务器 设置为你的中心服务器地址(例如192.168.1.10),将类型 设置为NTP

* 在客户端计算机上运行gpupdate /force 并重启,或等待组策略自动应用。

4、开放防火墙端口

* 中心服务器需要允许 UDP 123 端口的入站连接。

* 打开Windows Defender 防火墙与高级安全

* 新建一条入站规则,选择端口,协议为UDP,特定本地端口为123,允许连接,并应用到你需要的网络配置文件(域、专用、公用)。

验证

在客户端计算机上,打开命令提示符,执行:

w32tm /query /source

应该显示你的中心时间服务器的 IP 地址或主机名。

Linux 环境(使用 chrony)

现代 Linux 发行版(如 CentOS 8/RHEL 8, Ubuntu 18.04+)推荐使用chrony

1、安装 chrony(通常已预装):

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

2、编辑 chrony 配置文件 (/etc/chrony.conf/etc/chrony/chrony.conf):

    sudo vim /etc/chrony.conf

3、配置 chrony

注释掉或删除原有的pool 行。

添加可靠的外部 NTP 服务器池,例如

        pool cn.pool.ntp.org iburst
        pool time.windows.com iburst

允许局域网客户端同步添加allow 指令。

        allow 192.168.1.0/24  # 允许你的局域网网段

设置一个独立的本地时钟(当外部时间源全部不可用时使用)

        local stratum 10

stratum 10 表示即使断网,它也会以较低的优先级(10级)提供时间,防止时间混乱。

4、重启并启用 chrony 服务

    sudo systemctl restart chronyd
    sudo systemctl enable chronyd

5、开放防火墙端口

    # CentOS/RHEL/Fedora (firewalld)
    sudo firewall-cmd --add-service=ntp --permanent
    sudo firewall-cmd --reload
    # Ubuntu (ufw)
    sudo ufw allow from 192.168.1.0/24 to any port 123
    sudo ufw reload

验证

在中心服务器上查看时间源:

chronyc sources -v

在客户端上,将 NTP 服务器指向此中心服务器的 IP 即可。

情况二:将计算机/服务器指向一个中心时间服务器

这适用于局域网内的普通客户端,或者任何需要同步时间的计算机。

Windows 客户端

1、通过图形界面

* 右键点击任务栏的时间 ->调整日期/时间

* 确保自动设置时间自动设置时区 是开启状态,这通常使用微软的默认时间服务器。

* 要指定特定的中心服务器,请关闭“自动设置时间”,点击立即同步 旁边的同步 按钮,或者点击“其他日期、时间和区域设置” ->设置时间和日期 ->Internet 时间 ->更改设置,在这里你可以输入你的中心时间服务器地址。

2、通过命令提示符(管理员)

指向特定的 NTP 服务器

        w32tm /config /syncfromflags:manual /manualpeerlist:"你的中心服务器IP" /update
        net stop w32time && net start w32time

强制立即同步

        w32tm /resync

Linux 客户端(使用 chrony)

1、 编辑 chrony 配置文件:

    sudo vim /etc/chrony.conf

2、 将poolserver 指向你的中心时间服务器:

    server 192.168.1.10 iburst  # 替换为你的中心服务器IP

(如果需要,注释掉其他所有的poolserver 行)

3、 重启 chrony 服务:

    sudo systemctl restart chronyd

4、 验证时间源:

    chronyc sources -v

推荐的外部公共 NTP 服务器

如果你的中心服务器需要连接互联网获取时间,可以使用以下可靠的公共 NTP 服务器:

国际

time.windows.com (Microsoft)

pool.ntp.org (轮询池)

time.apple.com (Apple)

time.google.com (Google)

ntp.ubuntu.com (Ubuntu)

中国

cn.pool.ntp.org (中国区轮询池)

time.pool.aliyun.com (阿里云)

time1.cloud.tencent.com (腾讯云)

ntp.ntsc.ac.cn (国家授时中心)

1、分层设计:遵循 NTP 的层级(Stratum)概念,你的中心服务器是 Stratum 2(从公共 Stratum 1 服务器同步),局域网客户端是 Stratum 3(从你的 Stratum 2 服务器同步)。

2、选择多个时间源:为你的中心服务器配置至少 3-4 个可靠的外部 NTP 服务器,以提高准确性和可靠性。

3、防火墙是关键:确保中心服务器的 UDP 123 端口对内部客户端开放,并且中心服务器本身可以访问外部的 UDP 123 端口。

4、监控:定期检查时间同步状态(使用w32tm /query /statuschronyc tracking),确保系统时间准确。

根据你的具体环境选择对应的方法进行设置即可。

文章摘自:https://idc.huochengrm.cn/fwq/18703.html

评论