不知大家可发现了一个规律,电脑经过一段时间的运行后,系统上的时间会变慢。为了解决这个问题,就有了NTP服务,但并不是说设置了NTP同步服务器后电脑上的时间就能自动联网同步,有时配置了NTP依旧无法同步时间。
NTP服务器是什么?
NTP是Network Time Protocol的英文缩写,是一种使计算机时间自动联网同步的协议,通过NTP协议可以高精度的校正时间(即保证时间是准时的)。
为什么时间无法同步?
并不是我们开启了电脑上的NTP服务,并且设置了NTP服务器地址就能保证本机上的时间就会成功校正!有时它就是不会自动校正,总结出来的原因有以下几类供大家参考:
1、本机的NTP服务开启了,且设置了NTP服务器的地址
2、本机时间与标准时间差距跨度太大
如果本机时间与当地标准时间(如北京时间)间隔太大(15min以上),那是无法成功同步的,需要手动调整本机时间,当两者时间差距不大时会自动校正。
3、本地防火墙设置问题
本地防火墙需要开放UDP 123端口,若此端口未被开放则有可能导致时间同步失败。
以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!
1 Windows xp NTP服务器的配置(2003配置方式一样)
-
首先需要关闭作为NTP服务器的windows系统自带的防火墙,否则将同步不成功。
-
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
找到下面的注册表项然后单击它:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig
在右窗格中,右键单击“AnnounceFlags”,然后单击“修改”。
在“编辑 DWORD 值”对话框中的“数值数据”下,键入 5,然后单击“确定”。
- 启用 NTPServer。
a. 找到并单击下面的注册表子项:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer
b. 在右窗格中,右键单击“Enabled”,然后单击“修改”。
c. 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
- 关闭NTP client
找到并单击下面的注册表子项:
a) HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpclient
b) 在右窗格中,右键单击“Enabled”,然后单击“修改”。
c) 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 0,然后单击“确定”。
- 退出注册表编辑器。
在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
net stop w32time && net start w32time
2 Windows(2003、XP)系统的NTP同步配置
2.1 Windows客户端的设置
-
首先需要关闭作为NTP客户端的windows系统自带的防火墙,否则将同步不成功。
-
设定同步时间间隔,在“开始”菜单→“运行”项下输入“Regedit”进入注册表编辑器。
展开[ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient ] 分支,并双击 SpecialPollInterval 键值,将对话框中的“基数栏”选择到“十进制”上,如图1所示
而这时在对话框中显示的数字正是自动对时的间隔(以秒为单位),比如默认的604800就是由7(天)×24(时)×60(分)×60(秒)计算来的。
-
将KEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeparametersNtpServer地址改为NTP服务器的IP地址,在使用IP地址时后面要加上”,0x1”.多个地址之间用空格隔开。
-
启动NTP client
找到并单击下面的注册表子项:
d) HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpclient
e) 在右窗格中,右键单击“Enabled”,然后单击“修改”。
f) 在“编辑 DWORD 值”对话框中的“数值数据”下,键入 1,然后单击“确定”。
- 退出注册表编辑器。
在命令提示符处,键入以下命令以重新启动 Windows 时间服务,然后按 Enter:
net stop w32time && net start w32time
3 Linux系统 NTP同步配置:
1.1 客户端的配置流程
-
在客户端手动执行“ntpdate 服务器IP”来同步时间;
-
另可以使用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点半执行
- 使用下面的命令检查时间服务器同步的状态: #ntpq -p
若同步过程存在问题,则所有远程服务器的jitter值是4000并且delay和reach的值是0。造成这种情况的可能原因有:
-
配置文件中的restrict default ignore没有被注释
-
防火墙阻断了与server之间的通讯
-
此外每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接,否则你执行ntpdateip的时候将返回:no server suitable for synchronization found
- 以上是通过设置时间间隔的方式来配置同步周期,还可以通过设置每天同步时间的方式来同步,此时客户端配置的配置如下:
#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 客户端的设置
- 编辑 NTP 客户端上的 /etc/ntp.conf文件, 内容如下:
#broadcastclient
server 10.109.208.41
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
图5、NTP客户端的配置
- 在NTP客户端启动xntpd守护进程
startsrc -s xntpd
也可通过调用smitty , 使 xntpd 在以后重启服务器时能自动启动.在已经启动后再使用smitty命令会引起冲突
smittyxntpd
- 查询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以多长时间自动对时,只要按这个公式算出具体的秒数