您的位置:首页 > 产品设计 > UI/UE

解决ntp的错误 no server suitable for synchronization found

2016-01-27 15:59 639 查看
 

当用ntpdate -d 来查询时会发现导致 no serversuitable for synchronization found 的错误的信息有以下2个:  

错误1.Server dropped: Strata too high
在ntp客户端运行ntpdate serverIP,出现no server suitable for synchronizationfound的错误。
在ntp客户端用ntpdate –dserverIP查看,发现有“Server dropped:strata too high”的错误,并且显示“stratum 16”。而正常情况下stratum这个值得范围是“0~15”。
这是因为NTP server还没有和其自身或者它的server同步上。
以下的定义是让NTP Server和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。
server 127.127.1.0

fudge 127.127.1.0 stratum 8 

 
在ntp server上重新启动ntp服务后,ntp server自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生no server suitablefor synchronization found的错误。
那么如何知道何时ntp server完成了和自身同步的过程呢?
在ntp server上使用命令:
# watch ntpq -p

出现画面:
Every 2.0s: ntpq-p                                                                                                            Thu Jul 10 02:28:32 2008
    remote          refid      st t when poll reach   delay  offset jitter
==============================================================================
 192.168.30.22  LOCAL(0)         8 u  22   64    1   2.113 179133.   0.001
 LOCAL(0)       LOCAL(0)        10 l  21   64    1   0.000   0.000  0.001
注意LOCAL的这个就是与自身同步的ntp server。
注意reach这个值,在启动ntp server服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。
如果之后从ntp客户端同步ntp server还失败的话,用ntpdate –d来查询详细错误信息,再做判断。

错误2.Serverdropped: no data


从客户端执行netdate –d时有错误信息如下:
transmit(192.168.30.22)
transmit(192.168.30.22)
transmit(192.168.30.22)
transmit(192.168.30.22)
transmit(192.168.30.22)
192.168.30.22: Serverdropped: no data
server 192.168.30.22,port 123
.....

28 Jul 17:42:24 ntpdate[14148]: no server suitable for synchronization found
出现这个问题的原因可能有2:
1。检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误。
使用以下命令检查ntp的版本:
# ntpq -c version

下面是来自ntp官方网站的说明:

The behavior of notrust changedbetween versions 4.1 and 4.2.
In 4.1 (and earlier) notrust meant "Don't trust thishost/subnet for time".
In 4.2 (and later) notrust means "Ignore all NTP packetsthat are not cryptographically authenticated." This forces remote timeservers to authenticate themselves to your (client) ntpd
解决:
把notrust去掉。

2。检查ntp server的防火墙。可能是server的防火墙屏蔽了upd 123端口。
可以用命令
#service iptables stop

来关掉iptables服务后再尝试从ntp客户端的同步,如果成功,证明是防火墙的问题,需要更改iptables的设置。
 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: