当前位置 : 主页 > 编程语言 > 小程序开发 >

时间服务器设置方法(ntp服务器怎么设置时间同步)

来源:互联网 收集:自由互联 发布时间:2023-01-04
起因是这样的,在项目中有一个机器人是使用的ARM版本的Ubuntu操作系统,但是它上面没有纽扣电池用于保存时间,因此每次重启后时间错误,需要手动校正,非常麻烦。所以使用NTP来同

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

搭建NTP服务

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

1.修改注册表

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

时间服务器设置方法(ntp服务器怎么设置时间同步)(1)

image

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

时间服务器设置方法(ntp服务器怎么设置时间同步)(2)

image

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

时间服务器设置方法(ntp服务器怎么设置时间同步)(3)

2.启动NTP服务

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

时间服务器设置方法(ntp服务器怎么设置时间同步)(4)

在服务项中找到Windows Time

时间服务器设置方法(ntp服务器怎么设置时间同步)(5)

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

时间服务器设置方法(ntp服务器怎么设置时间同步)(6)

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

启动:net start w32time

停止:net stop w32time

3.本机测试

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

时间服务器设置方法(ntp服务器怎么设置时间同步)(7)

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.1 chrony

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

sudo apt-get install chrony

安装完成后打开配置文件

vim /etc/chrony.conf

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

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

时间服务器设置方法(ntp服务器怎么设置时间同步)(8)

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

systemctl restart chronyd
设置时间服务器ntp方法
网友评论