Ubuntu系统下ntp服务器搭建

之前文章一直提及的“设备”,其它可以把它理解为一台X86架构的安装了ubuntu系统的服务器,其实这系统已经安装了ssh、telnet、apache等服务器了。本文讲讲搭建一个ntp服务器。

对于ntp,我们的设备需要提供同步的函数接口,以便调用者可以随时随意地同步时间。我的工作更是安装ntp工具以及教人如何调用这个工具。

下面的操作基于ubuntu14.04版本。

安装步骤

在ubuntu下安装ntp服务器十分方便,只要一条命令即可搞定:
sudo apt-get install ntp

为了防止出现一些问题,还要编辑/etc/ntp.conf,加入:
server 127.127.1.0 
fudge 127.127.1.0 stratum 8
主要是解决同步时出现 no server suitable for synchronization found错误。

可以使用下面命令重启ntp服务,安装后,系统启动时会自动启动该服务。
sudo /etc/init.d/ntp restart

问题解决

下面是遇到的一些问题的解决。

1、
安装ntpd后,在本机运行ntpdate出错,如下:
ntpdate[19979]: the NTP socket is in use, exiting
在执行命令,添加-u选项即可,比如:
ntpdate -u 202.120.2.101
ntpdate -u  133.100.11.8

2、
在一台机器(IP是172.18.100.168)上安装好ntp服务器后,在另一台设备上同步时间,结果出错了,如下:
# ntpdate -d  172.18.100.168
14 Aug 10:26:30 ntpdate[1448]: ntpdate 4.2.0@1.1161-r Tue Jan 21 15:25:43 CST 2014 (3)
Looking for host 172.18.100.168 and service ntp
host found : 172.18.100.168
transmit(172.18.100.168)
receive(172.18.100.168)
transmit(172.18.100.168)
receive(172.18.100.168)
transmit(172.18.100.168)
receive(172.18.100.168)
transmit(172.18.100.168)
receive(172.18.100.168)
transmit(172.18.100.168)
172.18.100.168: Server dropped: strata too high
server 172.18.100.168, port 123
stratum 16, precision -21, leap 11, trust 000

refid [172.18.100.168], delay 0.02574, dispersion 0.00000
transmitted 4, in filter 4
reference time:    00000000.00000000  Thu, Feb  7 2036 14:28:16.000
originate timestamp: d7f42487.0fcf554a  Fri, Oct 24 2014  9:06:15.061
transmit timestamp:  d977d056.849ff92f  Fri, Aug 14 2015 10:26:30.518
filter delay:  0.02591  0.02574  0.02580  0.02577
         0.00000  0.00000  0.00000  0.00000
filter offset: -2540641 -2540641 -2540641 -2540641
         0.000000 0.000000 0.000000 0.000000
delay 0.02574, dispersion 0.00000
offset -25406415.456428

14 Aug 10:26:30 ntpdate[1448]: no server suitable for synchronization found
解决方法:
编辑/etc/ntp.conf
server 127.127.1.0 
fudge 127.127.1.0 stratum 8

在测试过程中发现服务器时间与真实时间差别太大,会有同步不上的情况,如下:

$ sudo ntpdate -d 172.18.100.168
10 Nov 10:07:57 ntpdate[5892]: ntpdate 4.2.6p5@1.2349-o Wed Oct  9 18:57:00 UTC 2013 (1)
Looking for host 172.18.100.168 and service ntp
host found : 172.18.100.168
transmit(172.18.100.168)
receive(172.18.100.168)
transmit(172.18.100.168)
receive(172.18.100.168)
transmit(172.18.100.168)
receive(172.18.100.168)
transmit(172.18.100.168)
receive(172.18.100.168)
172.18.100.168: Server dropped: server is very broken
server 172.18.100.168, port 123
stratum 9, precision -21, leap 00, trust 000
refid [172.18.100.168], delay 0.02631, dispersion 0.00000
transmitted 4, in filter 4
reference time:    d80a9c4a.02281b8f  Mon, Nov 10 2014 10:07:06.008
originate timestamp: d8096562.75139fc6  Sun, Nov  9 2014 12:00:34.457
transmit timestamp:  d80a9c83.eee02d38  Mon, Nov 10 2014 10:08:03.933

filter delay:  0.02631  0.02634  0.02664  0.02635
         0.00000  0.00000  0.00000  0.00000
filter offset: -79649.4 -79649.4 -79649.4 -79649.4
         0.000000 0.000000 0.000000 0.000000
delay 0.02631, dispersion 0.00000
offset -79649.476483

10 Nov 10:08:03 ntpdate[5892]: no server suitable for synchronization found

但有时候服务器时间比客户端时间大,也是可以的,这类问题比较奇怪。下面是成功的例子:
# date 01091100
Thu Jan  9 11:00:00 GMT-8 2014
# ntpdate  -u 172.18.100.168 
Looking for host 172.18.100.168 and service ntp
host found : 172.18.100.168
9 Nov 12:01:49 ntpdate[626]: step time server 172.18.100.168 offset 26269305.872492 sec
# date
Sun Nov  9 12:01:50 GMT-8 2014

而有时候,国内的服务器却似段公子的六脉神剑,时灵时不灵,下面是一个例子:
# date 11091200         
Sun Nov  9 12:00:00 CST 2014
root@localhost:~# ntpdate -u 202.120.2.101
9 Nov 12:02:28 ntpdate[2607]: no server suitable for synchronization found
root@localhost:~# ntpdate -u 202.120.2.101
9 Nov 12:02:39 ntpdate[2608]: no server suitable for synchronization found
root@localhost:~#
root@localhost:~#
root@localhost:~# ntpdate -u 133.100.11.8
10 Nov 10:29:22 ntpdate[2628]: step time server 133.100.11.8 offset 80736.496480 sec
root@localhost:~# date
Mon Nov 10 10:29:24 CST 2014

参考文章:


李迟,完成于2014年年底,完稿于2015年年初,发表于已未年正月初五晚上

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值