配置的ntp为什么日期不能同步?

不知大家可发现了一个规律,电脑经过一段时间的运行后,系统上的时间会变慢。为了解决这个问题,就有了NTP服务,但并不是说设置了NTP同步服务器后电脑上的时间就能自动联网同步,有时配置了NTP依旧无法同步时间。

NTP服务器是什么?

NTP是Network Time Protocol的英文缩写,是一种使计算机时间自动联网同步的协议,通过NTP协议可以高精度的校正时间(即保证时间是准时的)。

为什么时间无法同步?

并不是我们开启了电脑上的NTP服务,并且设置了NTP服务器地址就能保证本机上的时间就会成功校正!有时它就是不会自动校正,总结出来的原因有以下几类供大家参考:

1、本机的NTP服务开启了,且设置了NTP服务器的地址

2、本机时间与标准时间差距跨度太大

如果本机时间与当地标准时间(如北京时间)间隔太大(15min以上),那是无法成功同步的,需要手动调整本机时间,当两者时间差距不大时会自动校正。

3、本地防火墙设置问题

本地防火墙需要开放UDP 123端口,若此端口未被开放则有可能导致时间同步失败。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

1 Windows xp NTP服务器的配置(2003配置方式一样)

  1. 首先需要关闭作为NTP服务器的windows系统自带的防火墙,否则将同步不成功。

  2. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。

找到下面的注册表项然后单击它:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。

在“编辑 DWORD 值”对话框中的“数值数据”下,键入 5,然后单击“确定”。

  1. 启用 NTPServer。

a. 找到并单击下面的注册表子项:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer

b. 在右窗格中,右键单击“Enabled”,然后单击“修改”。

c. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。

  1. 关闭NTP client

找到并单击下面的注册表子项:

a) HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpclient

b) 在右窗格中,右键单击“Enabled”,然后单击“修改”。

c) 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 0,然后单击“确定”。

  1. 退出注册表编辑器。

在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:

net stop w32time && net start w32time

2 Windows(2003、XP)系统的NTP同步配置

2.1 Windows客户端的设置

  1. 首先需要关闭作为NTP客户端的windows系统自带的防火墙,否则将同步不成功。

  2. 设定同步时间间隔,在“开始”菜单→“运行”项下输入“Regedit”进入注册表编辑器。

展开[ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient ] 分支,并双击 SpecialPollInterval 键值,将对话框中的“基数栏”选择到“十进制”上,如图1所示

而这时在对话框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的。

  1. 将KEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeparametersNtpServer地址改为NTP服务器的IP地址,在使用IP地址时后面要加上”,0x1”.多个地址之间用空格隔开。

  2. 启动NTP client

找到并单击下面的注册表子项:

d) HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpclient

e) 在右窗格中,右键单击“Enabled”,然后单击“修改”。

f) 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。

  1. 退出注册表编辑器。

在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:

net stop w32time && net start w32time

3 Linux系统 NTP同步配置:

1.1 客户端的配置流程

  1. 在客户端手动执行“ntpdate 服务器IP”来同步时间;

  2. 另可以使用crond来定时同步时间:

以root身份运行周期性任务:[root@supersun root]# crontab -e

添加以下内容,设定同步周期或者同步时间:

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/sbin/ntpdate -u 10.124.76.98 //在每个分钟点上执行同步

30 5 * * * /usr/sbin/ntpdate –u 10.124.76.98//每天早晨5点半执行

  1. 使用下面的命令检查时间服务器同步的状态: #ntpq -p

若同步过程存在问题,则所有远程服务器的jitter值是4000并且delay和reach的值是0。造成这种情况的可能原因有:

  1. 配置文件中的restrict default ignore没有被注释

  2. 防火墙阻断了与server之间的通讯

  3. 此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你执行ntpdateip的时候将返回:no server suitable for synchronization found

  1. 以上是通过设置时间间隔的方式来配置同步周期,还可以通过设置每天同步时间的方式来同步,此时客户端配置的配置如下:

#vi /etc/crontab

写入:

10 5 * * * root /usr/sbin/ntpdate 192.168.0.20 &&/sbin/hwclock -w

这样每天的5点10分,linux系统都会自动向我们的新建NTP时间服务器192.168.0.20 进行时间的同步操作

注明:若不能执行ntpq –p,提示没有访问的地址或命令不存在等,说明ntp服务没有启动。在启动的时候有时启动命令没有提示任何信息,但这也不代表已经启动成功。

因此需要检查走一下几步:

(1)查看 /etc/ntp.conf文件

server 10.124.76.98 prefer

driftfile /etc/ntp.drift (若这个文件不存在,需要手动创建下)

(2)查看/etc/rc.config.d/netdaemons

export ntpdate_server=

export xntpd=1 (这个是客户端必须设的)

export xntpd_args=

(3)手动启动 执行:/sbin/init.d/xntpd start

(4)ntpq -p查看服务信息

4 AIX系统NTP同步配置

4.1 客户端的设置

  1. 编辑 NTP 客户端上的 /etc/ntp.conf文件, 内容如下:

#broadcastclient

server 10.109.208.41

driftfile /etc/ntp.drift

tracefile /etc/ntp.trace

图5、NTP客户端的配置

  1. 在NTP客户端启动xntpd守护进程

startsrc -s xntpd

也可通过调用smitty , 使 xntpd 在以后重启服务器时能自动启动.在已经启动后再使用smitty命令会引起冲突

smittyxntpd

  1. 查询xntpd的状态

当 system peer 不为 ‘insane’ 时, 表明客户端已与服务器端成功地

进行了同步.

lssrc -lsxntpd

配置完成后也需要等待6-10分钟的时间才能与10.109.208.41同步。

通过AIX系统自带的测试命令测试两台同步服务器之间的时间误差约为500μs,完全满足管理信息大区时间同步体系的精度要求。

5 Centos系统的ntp的安装和配置

(注意:防火墙的udp 123要打開,不然会不能用)

5.1 客户端同步时间的方法

方法一:使用 ntpdate

ntpdate [IP_Address]

看下面的例子,其中192.168.1.5是在内网搭建的ntp服务器

[root@zy180 ~]# date

Thu Sep 25 13:04:17 CST 2008

[root@zy180 ~]# ntpdate 192.168.1.5

25 Sep 14:33:13 ntpdate[10302]: step time server 192.168.1.5 offset 5327.700798 sec

[root@zy180 ~]# date

Thu Sep 25 14:33:18 CST 2008

ntpdate 的特点:

1,ntpdate只运行一次就结束,即只同步一次。所以要使用ntpdate同步时间的话要将该命令写入cron中。

vi /etc/crontab

          • root ntpdate 192.168.1.5 &&hwclock -w

2,ntpdate同步时间是跳跃的,如上面的显示,时间立即就同步了,这将可能导致文件时间标记、监控数据的紊乱(慎用)。

方法二:使用ntpd服务

step1:/etc/ntpd.conf 写入 server [IP_Address]

step2:chkconfigntpd on

step3:servicentpd start

大概过一刻钟开始起作用。

FAQ:系统报错 - Sep 25 11:59:39 localhost kernel: set_rtc_mmss: can’t update from 7 to 59

Windows(2003)下配置NTP时间服务器一、服务端设置:因为默认情况下,WINDOWS SERVER 2003 是作为NTP客户端工作的 ,所以必须通过修改注册表,以使系统作为NTP服务器运行。注意,工作之前请先备份注册表文件。1、通过开始菜单,输入regedit命令后打开注册表设定画面,此时请一定备份注册表文件。2、修改以下选项的键值HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer内的「Enabled」设定为1,打开NTP服务器功能3、修改以下键值HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigAnnounceFlags设定为5,该设定强制主机将它自身宣布为可靠的时间源,从而使用内置的互补金属氧化物半导体(CMOS) 时钟。4、在dos命令行执行以下命令,确保以上修改起作用net stop w32timenet start w32time推荐计划;如果该服务器和internet连接,那么为了避免服务器和internet上的ntp同步,最好追加以下配置:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient的「enable」设定为0 以防止作为客户端自动同步外界的时间服务二、客户设置:1、指定主时间服务器。在DOS方式输入“net time /setsntp:ntp.sjtu.edu.cn”,这里我们指定ntp.sjtu.edu.cn是主时间服务器,也可以是其它地址(210.72.145.44)。2、自由设定XP时间同步间隔:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient的「SpecialPollInterval」默认设定为604800(或86400)PS:对话框中的“基数栏”选择到“十进制”上,显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的如果您想让WINODWS以多长时间自动对时,只要按这个公式算出具体的秒数

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐