Win10 NTP时间服务器设置
[p=30, 2, left]起因是这样的,在项目中有一个机器人是使用的ARM版本的Ubuntu操作系统,但是它上面没有纽扣电池用于保存时间,因此每次重启后时间错误,需要手动校正,非常麻烦。所以使用NTP来同步服务器时间,但并没有公网环境,且局域网中只有一台Windows 10电脑(可同时连接内外网),因此使用Windows 10作为NTP server为ubuntu提供校时服务。[/p]搭建NTP服务[p=30, 2, left]Windows 10本身是可以作NTP时间同步服务器的,无需安装其它软件,只需要修改一些配置。[/p]1.修改注册表
[p=30, 2, left]使用[b]win + R[/b] 组合键在运行窗口中输入[b]regedit[/b],打开注册表编辑器。[/p][font=arial][size=18px][p=30, 2, left] [img]https://pic.rmb.bdstatic.com/bjh/down/11323cd095fe2be521314913e1d86c43.png@wm_2,t_55m+5a625Y+3L+i/kOe7tOi0vOiIuQ==,fc_ffffff,ff_U2ltSGVp,sz_10,x_7,y_7[/img][/p][p=30, 2, center]image[/p][/size][/font][p=30, 2, left]依次展开数据项目,[b]计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer[/b],把Enabled设置为1,为打开NTP服务,操作如下图所示。[/p][font=arial][size=18px][p=30, 2, left] [img]https://pic.rmb.bdstatic.com/bjh/down/91c7e11faf057c551a7e90cd9b3e15a7.png@wm_2,t_55m+5a625Y+3L+i/kOe7tOi0vOiIuQ==,fc_ffffff,ff_U2ltSGVp,sz_33,x_21,y_21[/img][/p][p=30, 2, center]image[/p][/size][/font][p=30, 2, left]依次打开,[b]计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config[/b],并把AnnounceFlags的值设置为5(系统默认为a)。[/p][font=arial][size=18px][p=30, 2, left] [img]https://pic.rmb.bdstatic.com/bjh/down/32d1e22eb6f41ffee1dbc7ef231976b6.png@wm_2,t_55m+5a625Y+3L+i/kOe7tOi0vOiIuQ==,fc_ffffff,ff_U2ltSGVp,sz_33,x_21,y_21[/img][/p][p=30, 2, center]image[/p][/size][/font]2.启动NTP服务
[p=30, 2, left]使用[b]win + R[/b] 组合键在运行窗口中输入[b]services.msc[/b],打开服务。[/p][font=arial][size=18px][p=30, 2, left] [img]https://pic.rmb.bdstatic.com/bjh/down/9cbc73c611ae268d26f90eb6c9afb3b5.png@wm_2,t_55m+5a625Y+3L+i/kOe7tOi0vOiIuQ==,fc_ffffff,ff_U2ltSGVp,sz_10,x_7,y_7[/img][/p][p=30, 2, center]image[/p][/size][/font][p=30, 2, left]在服务项中找到[b]Windows Time[/b][/p][font=arial][size=18px][p=30, 2, left] [img]https://pic.rmb.bdstatic.com/bjh/down/b7303c8bf809083bb768f492d254c073.png@wm_2,t_55m+5a625Y+3L+i/kOe7tOi0vOiIuQ==,fc_ffffff,ff_U2ltSGVp,sz_23,x_15,y_15[/img][/p][p=30, 2, center]image[/p][/size][/font][p=30, 2, left]设置为自动后确定,点击右键重新启动此服务,至此服务启动成功。[/p][font=arial][size=18px][p=30, 2, left] [img]https://pic.rmb.bdstatic.com/bjh/down/1a48f6f7b02d2789e2ac9c55e184088e.png@wm_2,t_55m+5a625Y+3L+i/kOe7tOi0vOiIuQ==,fc_ffffff,ff_U2ltSGVp,sz_12,x_8,y_8[/img][/p][p=30, 2, center]image[/p][/size][/font][indent][p=30, 2, left]注:启动和关闭windows NTP的方式,还可以使用命令行来管理[/p][p=30, 2, left]启动:net start w32time[/p][p=30, 2, left]停止:net stop w32time[/p][/indent][b]注:Win10默认的同步时间间隔为32768秒(即9.1小时),如需要修改可修改以下注册键值:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\W32Time\TimeProviders\NtpClient
右边的SpecialPollInterval值。[/b][b][color=#ff0000]另:如果防火墙开启,需在防火墙入站规则中添加UDP 123端口。[/color]
[/b]3.本机测试
[p=30, 2, left]在cmd窗口中输入[b]w32tm /stripchart /computer:127.0.0.1[/b] ,如果有回显则服务正常。[/p][font=arial][size=18px][p=30, 2, left] [img]https://pic.rmb.bdstatic.com/bjh/down/e63bc026850d42e021fc808bb84c539d.png@wm_2,t_55m+5a625Y+3L+i/kOe7tOi0vOiIuQ==,fc_ffffff,ff_U2ltSGVp,sz_25,x_16,y_16[/img][/p][p=30, 2, center]image[/p][/size][/font]4.部署客户端
[p=30, 2, left]服务端部署成功后,如果要为客户端提供服务的话需要开放udp协议中的123端口,或者根据自身安全情况关闭防火墙。客户端下可以使用ntpdate命令来同步服务器时间,也可以使用chrony服务。[/p]4.1 ntpdate[p=30, 2, left]由于我这里使用的是ARM版本的ubuntu操作系统,下面演示将适用于此系统,其它操作系统或架构平台操作类似。[/p]
# 安装ntpdate服务
sudo apt-get install ntpdate
# 安装完成后, 同步时间。xxx.xxx.xxx.xxx为你服务器的IP地址,clock -w把时间写入硬件。
sudo ntpdate xxx.xxx.xxx.xxx && clock -w
4.1 chrony
[p=30, 2, left]chrony是一个时间同步服务,通过配置可以把一台服务器变为NTP服务端或客户端,这里只用到客户端的功能。[/p]
sudo apt-get install chrony
[p=30, 2, left]安装完成后打开配置文件[/p]
vim /etc/chrony.conf
[p=30, 2, left]如果做客户端的话,只需要修改其中的一行文件,最后保存退出。[/p]
# xxx为你的IP地址
server xxx.xxx.xxx.xxx
[font=arial][size=18px][p=30, 2, left] [img]https://pic.rmb.bdstatic.com/bjh/down/5ac01adf5e702dd0dfe0366b4da93ac9.png@wm_2,t_55m+5a625Y+3L+i/kOe7tOi0vOiIuQ==,fc_ffffff,ff_U2ltSGVp,sz_29,x_19,y_19[/img][/p][p=30, 2, center]image[/p][/size][/font][p=30, 2, left]重启chrony服务,使用时间同步服务生效。[/p]
systemctl restart chronyd
页:
[1]