windows时间同步出错出错 ()

在Linux上安装诸如k8s之类的集群系统时,需要我们在各个节点之间进行时间同步。有的时候,因为内网网络原因,无法连接公共ntp server进行同步,会出现以下类似错误。

[root@localhost ~]# ntpdate 0.cn.pool.ntp.orgError resolving 0.cn.pool.ntp.org: Name or service not 电脑 known (-2) 6 Apr 22:36:56 ntpdate[1310]: Can't find host 0.cn.pool.ntp.org: Name or service not known (-2) 6 Apr 22:36:56 ntpdate[1310]: no servers can be used, exiting

这个时候,我们可以用能联网windows工作电脑来做ntp server,为内网的linux机器同步时间,前提是windows与内网的linux机器能互通。下面就讲一下具体的步骤,实验环境如下:

一台Windows 11 家庭中文版笔记本一台装在virtualbox里的centos7虚拟机centos7虚拟机关闭了nat网络,开启了host-only网络。检查连通性

在window上查看ip地址

ipconfig

在centos里ping一下上面的ip(192.168.56.1),验证一下能否ping通windows

ping 192.168.56.1

如下图所示,表示可以ping通。

设置windows时间服务器

点击搜索,输入【regedit】,打开注册表编辑器

在注册表编辑器的地址栏里输入

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer

双击右边的【Enabled】将其值改为1,点击确定启用ntp server。

在注册表编辑器的地址栏里输入

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config

双击右边的【AnnounceFlags】将其值改为5,点击确定使其为可靠源。

点击搜索,输入【服务】,打开服务管理器,

找到【windows time】服务,双击,并将其设置为开机自动启动

右键单击,选择启动或重启windows time服务

命令行输入以下命令验证设置是否成功

w32tm /stripchart /computer:127.0.0.1

如下图所示表示设置成功

设置windows防火墙

点击搜索,输入【防火墙】,打开windows 防火墙

选择【高级设置】→【入站规则】→【新建规则】

选择【端口】→【下一页】

选择【UDP】→【特定本地端口】→输入【123】→【下一页】

选择【允许连接】→【下一页】

选择【公用】→【下一页】

输入名称完成设置

为了安全起见,这里设置ip限制

双击【ntp server】→【作用域】→【本地ip地址】→【下列ip地址】→【添加】→【此ip地址或子网】→输入【192.168.56.0/24】→【确定】

对【远程ip地址】进行同样操作,最终结果如下,点击确定完成

在centos上使用windows时间服务器

使用windows 的ip作为ntp server,输入如下命令,同步时间

ntpdate 192.168.56.1

如下代表设置成功

[root@localhost ~]# ntpdate 192.168.56.1 7 Apr 00:42:14 ntpdate[9236]: adjust time server 192.168.56.1 offset -0.001146 sec[root@localhost ~]# dateThu Apr 7 00:43:01 CST 2022

以上就是本次全部内容,下次再见。

相关系列视频教程如下:

开发环境小助手


电脑