小菜鸟 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的设置。