no server suitable for synchronization found

小菜鸟 2015-10-21

源:http://blog.sina.com.cn/s/blog_3f1a25310100qn84.html

评:

时间同步

yuminstall-yrdate&&rdate-stime.nist.gov

------------------------------

rdate解决方案:

使用ntpdate的遇到这样的错误提示:

noserversuitableforsynchronizationfound

很可能是防火墙封锁了udp的123端口,如果关闭的防火墙问题依旧,很可能是上层路由的设置有问题,如果这种情况,我们就只能通过tcp来更新时间啦

那肯定是rdate

<!–more–>

查看时间服务器的时间:

#rdatetime-b.nist.gov

设置时间和时间服务器同步:

#rdate-stime-b.nist.gov

有什么不明白的,请#manrdate

下面附送系列时间服务器的列表,有的不一定可以使用哈

time.nist.gov

time-b.nist.gov

216.118.116.105

rdate.darkorb.net

202.106.196.19

time-b.timefreq.bldrdoc.gov

ntpdate-debian解决方案:

执行/usr/sbin/ntpdatetime.stdtime.gov.tw出现下述错误:

28Dec10:44:25ntpdate[20348]:noserversuitableforsynchronizationfound

注:于Ubuntu/DebianLinux/FreeBSD都有看到类似状况.

NTPDateDebug

sudo/usr/sbin/ntpdate-dtime.stdtime.gov.tw

28Dec10:44:20ntpdate[20348]:[email protected]:21:54UTC2009(1)

transmit(11.11.11.11)

transmit(11.11.11.11)

transmit(11.11.11.11)

transmit(11.11.11.11)

transmit(11.11.11.11)

11.11.11.11:Serverdropped:nodata

server11.11.11.11,port123

stratum0,precision0,leap00,trust000

refid[11.11.11.11],delay0.00000,dispersion64.00000

transmitted4,infilter4

referencetime:00000000.00000000Thu,Feb7203614:28:16.000

originatetimestamp:00000000.00000000Thu,Feb7203614:28:16.000

transmittimestamp:cee29a08.b7863beeMon,Dec28200910:44:24.716

filterdelay:0.000000.000000.000000.00000

0.000000.000000.000000.00000

filteroffset:0.0000000.0000000.0000000.000000

0.0000000.0000000.0000000.000000

delay0.00000,dispersion64.00000

offset0.000000

NTPDate正常状况

sudo/usr/sbin/ntpdate-dtime.stdtime.gov.tw

28Dec10:44:10ntpdate[3790]:[email protected]:03:30UTC2009(1)

transmit(11.11.11.11)

receive(11.11.11.11)

transmit(11.11.11.11)

receive(11.11.11.11)

transmit(11.11.11.11)

receive(11.11.11.11)

transmit(11.11.11.11)

receive(11.11.11.11)

transmit(11.11.11.11)

server11.11.11.11,port123

stratum2,precision-20,leap00,trust000

refid[11.11.11.11],delay0.05048,dispersion0.00038

transmitted4,infilter4

referencetime:cee2968e.b3b3e71fMon,Dec28200910:29:34.701

originatetimestamp:cee29a07.4a9ed10bMon,Dec28200910:44:23.291

transmittimestamp:cee29a07.57baecd0Mon,Dec28200910:44:23.342

filterdelay:0.050480.051320.050750.05052

0.000000.000000.000000.00000

filteroffset:-0.06352-0.06368-0.06410-0.06398

0.0000000.0000000.0000000.000000

delay0.05048,dispersion0.00038

offset-0.063529

查到都是udp的123port被Firewall挡掉(被iptables/ipfw挡掉),不过我并没有挡这个port,很奇怪~

解法

上述原因不明,不过可以用此方法解决(换个TimeServer就解决了.XD)

sudo/usr/sbin/ntpdate-debian

28Dec10:46:46ntpdate[20408]:steptimeserver204.9.54.119offset-2.274225sec

上述命令为执行此语法:sudo/usr/sbin/ntpdate-d0.debian.pool.ntp.org

注1:从[0-3].debian.pool.ntp.org的Serversync时间.

注2:直接执行sudo/usr/sbin/ntpdate0.debian.pool.ntp.org也是可以.

另一个牛人的解决方案:

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

错误1.Serverdropped:Stratatoohigh

在ntp客户端运行ntpdateserverIP,出现noserversuitableforsynchronizationfound的错误。

在ntp客户端用ntpdate–dserverIP查看,发现有“Serverdropped:stratatoohigh”的错误,并且显示“stratum16”。而正常情况下stratum这个值得范围是“0~15”。

这是因为NTPserver还没有和其自身或者它的server同步上。

以下的定义是让NTPServer和其自身保持同步,如果在/ntp.conf中定义的server都不可用时,将使用local时间作为ntp服务提供给ntp客户端。

server127.127.1.0

fudge127.127.1.0stratum8

在ntpserver上重新启动ntp服务后,ntpserver自身或者与其server的同步的需要一个时间段,这个过程可能是5分钟,在这个时间之内在客户端运行ntpdate命令时会产生noserversuitableforsynchronizationfound的错误。

那么如何知道何时ntpserver完成了和自身同步的过程呢?

在ntpserver上使用命令:

#watchntpq-p

出现画面:

Every2.0s:ntpq-pThuJul1002:28:322008

remoterefidsttwhenpollreachdelayoffsetjitter

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

192.168.30.22LOCAL(0)8u226412.113179133.0.001

LOCAL(0)LOCAL(0)10l216410.0000.0000.001

注意LOCAL的这个就是与自身同步的ntpserver。

注意reach这个值,在启动ntpserver服务后,这个值就从0开始不断增加,当增加到17的时候,从0到17是5次的变更,每一次是poll的值的秒数,是64秒*5=320秒的时间。

如果之后从ntp客户端同步ntpserver还失败的话,用ntpdate–d来查询详细错误信息,再做判断。

错误2.Serverdropped:nodata

从客户端执行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:nodata

server192.168.30.22,port123

.....

28Jul17:42:24ntpdate[14148]:noserversuitableforsynchronizationfound

出现这个问题的原因可能有2:

1。检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误。

使用以下命令检查ntp的版本:

#ntpq-cversion

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

Thebehaviorofnotrustchangedbetweenversions4.1and4.2.

In4.1(andearlier)notrustmeant"Don'ttrustthishost/subnetfortime".

In4.2(andlater)notrustmeans"IgnoreallNTPpacketsthatarenotcryptographicallyauthenticated."Thisforcesremotetimeserverstoauthenticatethemselvestoyour(client)ntpd

解决:

把notrust去掉。

2。检查ntpserver的防火墙。可能是server的防火墙屏蔽了upd123端口。

可以用命令

#serviceiptablesstop

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