开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

NTP for LINUX

简介:
+关注继续查看

NTP来同步服务器时间

 

本文介绍了在Linux下使用NTP协议通过网络来同步系统时钟。

 

二、NTP简介

Network Time Protocol(NTP)是一种网络协议,用来使你的计算机系统时间与准确的时间源同步。Internet上有一组“1级”(使用原子钟时间)和“2级”(可接受的可靠性和准确性)服务器可以允许其它计算机与它们同步时间。这些服务器的列表可以在以下地址找到:

http://www.eecis.udel.edu/~mills/ntp/servers.html

一般局域网中使用一台服务器同“1级”或“2级”服务器同步时间,局域网中的其它设备再同这台服务器同步时间。对于一些需要协同操作的应用,使用NTP是很好的选择。

 

三、安装NTP软件

1、获取NTP软件

ntp-4.1.1.tar.gz

http://www.ntp.org/downloads.html

 

2、编译安装

解压缩软件包

tar xzvf ntp-4.1.1.tar.gz

 

配置编译选项

cd ntp-4.1.1/

./configure

 

编译安装

make

make check

make install

缺省执行程序被安装在/usr/local/bin目录下。

 

四、配置NTP服务

1、编辑配置文件

缺省使用/etc/ntp.conf文件作为配置文件,这里给出一个例子:

server 127.127.1.0     # local clock

fudge  127.127.1.0 stratum 10

 

server otherntp.server.org    # A stratum1 server at server.org

server ntp.research.gov       # A stratum2 server at research.gov

 

driftfile /etc/ntp/drift

broadcastdelay  0.008

authenticate no

keys /etc/ntp/keys

 

restrict 192.168.1.0 mask 255.255.255.0notrust nomodify notrap

restrict 127.0.0.1

#restrict default ignore

 

在这个配置文件中,我们指定了两个同步时间源:otherntp.server.orgntp.research.gov。并指定了192.168.1.0/24这个局域网中的客户端都可以与我们的服务器同步时间,当然本地127.0.0.1也可以。

注意,“#restrictdefault ignore”这一句是被注释的,否则它会覆盖其它restrict语句,我们的服务器就不能与其它计算机通信了。

实际使用时最好指定34个同步时间源,这样就可以避免因某个时间源无法访问而不能同步时间。

更多的配置选项请参考http://www.ntp.org/documentation.html中的文档。

 

2、启动NTP服务

执行下面的命令启动NTP服务:

/usr/local/bin/ntpd -c /etc/ntp.conf -l/var/log/ntpd.log -p /var/run/ntpd.pid

ntpd启动后,日志文件在/var/log/ntpd.log,进程号文件在/var/run/ntpd.pid。如果有什么问题可以查看日志文件的内容。

 

3、确认服务器时间正确同步

ntpd启动后过一段时间后就可以查看你的服务器是否正确与时间源同步,使用/usr/local/bin/ntpq -p

显示例子如下:

    remote           refid      st t when poll reach   delay  offset  jitter

==============================================================================

*LOCAL(0)        LOCAL(0)        10 l   56  64  377    0.000   0.000   0.008

 dan.drydog.com tick.ucla.edu    2 u  128  64    4  640.988 -85.179   0.008

 

下面的例子说明不能正确同步:

   remote           refid      st t when poll reach   delay  offset  jitter

==============================================================================

 LOCAL(0)       LOCAL(0)        10 l    -  64    7    0.000   0.000   0.008

 ntp-cup.externa 0.0.0.0         16 u   -   64    0   0.000    0.000 4000.00

 snvl-smtp1.trim 0.0.0.0         16 u   -   64    0   0.000    0.000 4000.00

 nist1.aol-ca.tr 0.0.0.0         16 u   -   64    0   0.000    0.000 4000.00

 

这是就要考虑是配置的问题还是网络的问题了。

 

五、其他问题

1、网络中其他计算机

在局域网中的其它设备只要支持NTP都可以与刚配好的服务器同步时间。例如有一台Cisco的路由器,配置如下:

ciscorouter(config)# ntp server192.168.1.100

ciscorouter(config)# clock timezone CN 8

这里假定我们的服务器地址是192.168.1.100,我们中国的时区是+8。在Cisco路由器中就可以用show clock命令来查看时间是否同步。

 

2、防火墙问题

NTP协议使用UDP协议的123端口来通信,注意源端口和目的端口都是123。所以如果你使用防火墙,需要允许UDP123端口。

 

3、不能同步

如果你的计算机的系统时间与时间源的时间相差太大,就不能正确同步。这时可以先手动调整你的计算机的时间以接近时间源的准确时间,再使用NTP来同步时间。

手动调整时间可以使用date命令,如:

date -s "05/20/2003 14:11:20"

时间格式为:月//::



本文转自 326647452 51CTO博客,原文链接:http://blog.51cto.com/svsky/1693677,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
vue :for循环根据index动态绑定css样式
vue :for循环根据index动态绑定css样式
69 0
SAP Cloud for Customer的跳转链接制作navigation link
SAP Cloud for Customer的跳转链接制作navigation link
33 0
【主机】kernel: XXX [ ]: segfault at rip rsp error N
工作中突然接到手机报警: kernel: exp[24505]: segfault at 000000000000053c rip 00002abe2df39eb8 rsp 00007fff7d147290  error  4  一时没有头绪,搜索一番,看到一些...
1247 0
13688
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载