0x01. NTP 简介
NTP(Network Time Protocol) 的全称是 网络时间协议 ,它是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源做同步化,它可以提供高精准度的时间校正(LAN上与标准时间差小于1ms,WAN上是几十毫秒)。
0x02. Windows 时间服务简介
从Windows2000开始,所有的Microsoft Windows 操作系统都内置了 Windows时间服务(即W32Time),它具有将计算机时钟与NTP服务器同步的能力。
Windows 10 和 Windows Server 2016 中的时间同步已大幅改善。 在合理的操作条件下,可将系统配置为维持 1ms(毫秒)的精度或更高的精度(相对于 UTC)。
——From Microsoft
0x03. Win NTP 服务器详细搭建步骤
Step 1. 打开 Windows 注册表
按下 Windows键 + R
或 打开 运行
,输入 regedit
后点击确定。
Step 2. 找到指定路径 -1
依次展开至 Config
路径,或直接在路径输入框复制下方路径后回车跳转。
1 | 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config |
Step 3. 修改指定的值 -1
在右侧找到 AnnounceFlags
,双击,将它的 数值数据
改为 5
,单击确定。
Step 4.找到指定路径 -2
依次展开至 NtpServer
路径,或直接在路径输入框复制下方路径后回车跳转。
1 | 计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer |
Step 5. 修改指定的值 -2
在右侧找到 Enabled
,双击,将它的 数值数据
改为 1
,单击确定。
Step 6. 启动 W32Time 服务
按下 Windows键 + R
或 打开 运行
,输入 services.msc
后点击确定;
找到 Windows Time
服务项,双击,将它的 启动类型
设置为 自动
,单击确定。
Step 7. 重启 W32Time 服务
按下 Windows键 + X + A
或 以管理员身份运行 cmd.exe
,依次输入 net stop w32time
和 net start w32time
后点击确定;
按下 Windows键 + R
或 打开 运行
,输入 cmd
后点击确定;
在弹出的窗口中,输入 netstat -an
,回车,在输出的文本中可以看到 UDP 0.0.0.0:123 *:*
,说明 NTP 服务搭建成功。
0x04. Windows 和 Linux 下 NTP 对时服务的使用
Windows
Step 1.打开 Internet时间 设置
在任务栏右下角单击时间
,继续单击 日期和时间设置
;
在弹出的窗口中,点击 添加不同时区的时钟
;
在弹出的窗口中,单击 Internet时间
选项卡,单击 更改设置
按钮;
在弹出的窗口中,输入搭建好NTP服务的主机地址,单击 立即更新
。
Ubuntu
在终端输入命令 sudo ntpdate 192.168.10.123
,输入密码,出现类似 step time server 192.168.10.123 offset -1231.354535 sec
字样即表示成功。
参考链接:
[1] Microsoft - Windows 时间服务 (W32Time)
[2] Github - microsoft/W32Time