[转帖]把Windows打造成一个NTP时间同步服务器

windows,造成,一个,ntp,时间,同步,服务器 · 浏览次数 : 0

小编点评

**项目中ARM版本的Ubuntu操作系统没有纽扣电池,需要使用NTP同步服务器时间,但由于局域网只有一台Windows 10电脑,无法使用公网服务,因此需要使用Windows 10作为NTP服务器提供校时服务。** **搭建NTP服务Windows 10本身是可以作NTP时间同步服务器的,无需安装其它软件,只需要修改一些配置。** **搭建步骤:** 1. 修改注册表使用win + R 组合键在运行窗口中输入regedit,打开注册表编辑器。 2. 依次展开数据项目,计算机\\HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\W32Time\\TimeProviders\\NtpServer,把Enabled设置为1,为打开NTP服务。 3. 启动NTP服务使用win + R 组合键在运行窗口中输入services.msc,打开服务。在服务项中找到Windows Time设置为自动后确定,点击右键重新启动此服务,至此服务启动成功。 4. 部署客户端服务端部署成功后,如果要为客户端提供服务的话需要开放udp协议中的123端口,或者根据自身安全情况关闭防火墙。 **使用ntpdate命令同步服务器时间:** 1. 在cmd窗口中输入w32tm /stripchart /computer:127.0.0.1& 2. 如果有回显则服务正常 **使用chrony服务同步服务器时间:** 1. sudo apt-get install chrony 2. 打开配置文件vim /etc/chrony.conf 3. 修改其中的一行文件,例如: ``` server 127.0.0.1 ``` 4. 最后保存退出 **注意事项:** * ntpdate由于我这里使用的是ARM版本的ubuntu操作系统,下面演示将适用于此系统,其它操作系统或架构平台操作类似。 * 建议使用chrony服务,因为ntpdate服务可能存在安全风险。

正文

https://zhuanlan.zhihu.com/p/453366437

 

起因是这样的,在项目中有一个机器人是使用的ARM版本的Ubuntu操作系统,但是它上面没有纽扣电池用于保存时间,因此每次重启后时间错误,需要手动校正,非常麻烦。所以使用NTP来同步服务器时间,但并没有公网环境,且局域网中只有一台Windows 10电脑(可同时连接内外网),因此使用Windows 10作为NTP server为ubuntu提供校时服务。

搭建NTP服务

Windows 10本身是可以作NTP时间同步服务器的,无需安装其它软件,只需要修改一些配置。

1.修改注册表

使用win + R 组合键在运行窗口中输入regedit,打开注册表编辑器。

依次展开数据项目,计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer,把Enabled设置为1,为打开NTP服务,操作如下图所示。

依次打开,计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config,并把AnnounceFlags的值设置为5(系统默认为a)。

2.启动NTP服务

使用win + R 组合键在运行窗口中输入services.msc,打开服务。

在服务项中找到Windows Time

设置为自动后确定,点击右键重新启动此服务,至此服务启动成功。

注:启动和关闭windows NTP的方式,还可以使用命令行来管理
启动:net start w32time
停止:net stop w32time

3.本机测试

在cmd窗口中输入w32tm /stripchart /computer:127.0.0.1 ,如果有回显则服务正常。

 

4.部署客户端

服务端部署成功后,如果要为客户端提供服务的话需要开放udp协议中的123端口,或者根据自身安全情况关闭防火墙。客户端下可以使用ntpdate命令来同步服务器时间,也可以使用chrony服务。

4.1 ntpdate

由于我这里使用的是ARM版本的ubuntu操作系统,下面演示将适用于此系统,其它操作系统或架构平台操作类似。

# 安装ntpdate服务
sudo apt-get install ntpdate

# 安装完成后, 同步时间。xxx.xxx.xxx.xxx为你服务器的IP地址,clock -w把时间写入硬件。
sudo ntpdate xxx.xxx.xxx.xxx && clock -w

4.2 chrony

chrony是一个时间同步服务,通过配置可以把一台服务器变为NTP服务端或客户端,这里只用到客户端的功能。

sudo apt-get install chrony

安装完成后打开配置文件

vim /etc/chrony.conf

如果做客户端的话,只需要修改其中的一行文件,最后保存退出。

# xxx为你的IP地址
server xxx.xxx.xxx.xxx

重启chrony服务,使用时间同步服务生效。

systemctl restart chronyd

与[转帖]把Windows打造成一个NTP时间同步服务器相似的内容:

[转帖]把Windows打造成一个NTP时间同步服务器

https://zhuanlan.zhihu.com/p/453366437 起因是这样的,在项目中有一个机器人是使用的ARM版本的Ubuntu操作系统,但是它上面没有纽扣电池用于保存时间,因此每次重启后时间错误,需要手动校正,非常麻烦。所以使用NTP来同步服务器时间,但并没有公网环境,且局域网中只

【转帖】ChatGPT重塑Windows!微软王炸更新:操作系统全面接入,Bing也能用插件了

https://cloud.tencent.com/developer/article/2291078?areaSource=&traceId= 金磊 丰色 西风 发自 凹非寺 量子位 | 公众号 QbitAI 一夜之间,微软彻底重新定义了PC交互。 因为这一次,它把Bing和ChatGPT插件的能

[转帖]把VIM打造成一个真正的IDE(1)

http://www.vimer.cn/2009/10/15/ba-vimda-zao-cheng-yi-ge-zhen-zheng-de-ide-1/ 这里所说的IDE主要是指C/C++开发,但是由于笔者之前也搞java和c#开发,所以对这两种语言也会有所兼顾。 这个话题可能要分好几篇文章来写了,

[转帖]把VIM打造成一个真正的IDE(2)

作者是 Dante 发布于 2009年10月17日 in Vim. OK,上一篇文章,我们已经配置好了一个可以正常使用的VIM,那么在我们真正来到程序员的VIM世界之前,希望你能在VIM里面再多加下面几个配置。 set go= "无菜单、工具栏 对,让我真正抛弃鼠标,进入美妙的VIM之旅吧! 首先说

[转帖]把大象装入货柜里——Java容器内存拆解

https://blog.mygraphql.com/zh/notes/java/native-mem/java-native-mem-case/ 介绍 测试环境 配置容量 POD 容量配置 JVM 容量配置 神秘的 MaxDirectMemorySize 默认值 maxThreadCount 最大

[转帖]把SSH客户端放在网页上运行?这个开源项目教你部署实现

https://zhuanlan.zhihu.com/p/420301596 有时候为了管理服务器,又不想去下载各种各样的客户端,只是想在ipad、手机上操作一下,这款SSH开源客户端工具一定适合你,运行在网页端,只要有浏览器的设备就能访问使用。 环境准备 我们的主角依然是docker,采用最方便的

[转帖]美国把龙芯列入黑名单没有什么用

https://baijiahao.baidu.com/s?id=1759406814932648369 美国商务部周四在黑名单中又增加了28家中国实体,龙芯中科名列其中,理由仍是“威胁美国国家安全”之类的陈词滥调。谁都知道龙芯迟早会被美国制裁,只是笔者以为应该是在半年之后…… 笔者难以理解,龙芯是

[转帖]s3fs把 s3-like 对象存储挂载到本地

https://www.cnblogs.com/hiyang/p/12631908.html s3fs-fuse 是一个采用 c++🚀 开发的开源应用,它的作用是可以将 AWS S3 以及兼容 S3 API 的第三方对象存储像普通文件系统一样挂载到本地计算机,由于这种功能通过 FUSE 实现,因此

[转帖]s3fs把 s3-like 对象存储挂载到本地

s3fs把 s3-like 对象存储挂载到本地 s3fs把 s3-like 对象存储挂载到本地 s3fs-fuse 是一个采用 c++🚀 开发的开源应用,它的作用是可以将 AWS S3 以及兼容 S3 API 的第三方对象存储像普通文件系统一样挂载到本地计算机,由于这种功能通过 FUSE 实现,因

[转帖]shell 把以空格分隔的变量 分割后的每个字段赋值给变量

比如我有一个变量 “123 456 789”,要求以空格为分隔符把这个变量分隔,并把分隔后的字段分别赋值给变量,即a=123;b=456;c=789 共有3中方法: 法一:先定义一个数组,然后把分隔出来的字段赋值给数组中的每一个元素 法二:通过eval+赋值的方式 法三:通过多次awk把每个字段赋值