ntpdate server時出錯原因及解決


錯誤1.Server dropped: Strata too high

在ntp客戶端運行ntpdate serverIP,出現no server suitable for synchronization found的錯誤,如下所示

zhj@test:~$ sudo ntpdate weblbserver-1
28 Dec 15:22:33 ntpdate[4444]: no server suitable for synchronization found
zhj@test:~$

在ntp客戶端用ntpdate –d serverIP查看,參數是-d是指debug模式,它會將ntpdate同步時的一些信息打印出來,而且即使從ntp server那里獲取到了國際

原子時,也不會寫入客戶端的osclock。可以看到,錯誤信息中有“stratum 16”。stratum是ntp服務器層級,正常情況下stratum的值為“0~15”。而

stratum=16是因為NTP server還沒有和它的上層NTP server同步上。

zhj@appserver-1:~$ sudo ntpdate -d weblbserver-1
28 Dec 15:22:06 ntpdate[4434]: ntpdate 4.2.6p5@1.2349-o Wed Oct  9 19:08:07 UTC 2013 (1)
Looking for host weblbserver-1 and service ntp
host found : 192.168.0.7
transmit(192.168.0.7)
receive(192.168.0.7)
transmit(192.168.0.7)
receive(192.168.0.7)
transmit(192.168.0.7)
receive(192.168.0.7)
transmit(192.168.0.7)
receive(192.168.0.7)
192.168.0.7: Server dropped: strata too high
server 192.168.0.7, port 123
stratum 16, precision -18, leap 11, trust 000
refid [192.168.0.7], delay 0.02667, dispersion 0.00003
transmitted 4, in filter 4
reference time:    00000000.00000000  Mon, Jan  1 1900  0:00:00.000
originate timestamp: d84a9ea5.06da4607  Sun, Dec 28 2014 15:22:13.026
transmit timestamp:  d84a9ea5.07d57eae  Sun, Dec 28 2014 15:22:13.030
filter delay:  0.02667  0.02675  0.02678  0.02696
         0.00000  0.00000  0.00000  0.00000
filter offset: -0.00457 -0.00453 -0.00467 -0.00468
         0.000000 0.000000 0.000000 0.000000
delay 0.02667, dispersion 0.00003
offset -0.004574

28 Dec 15:22:13 ntpdate[4434]: no server suitable for synchronization found
zhj@appserver-1:~$

那我們怎樣知道weblbserver-1這個NTP server是否與它的上層NTP server是否同步上了呢?用ntpq -p命令(注:ntpq即ntp query,參數-p是print),

如下在weblbserver執行ntpq -p

zhj@weblbserver-1:~$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 dns1.synet.edu. 202.118.1.46     2 u  915 1024    1   43.464  -134.79   0.004
 golem.canonical 192.93.2.20      2 u  914 1024    1  433.083  -198.90   0.004
zhj@weblbserver-1:~$

這里簡單說一下when,poll,reach幾個參數,

when —— 上次同步時間到現在的距離,單位是秒。當然,如果ntp服務是剛啟動,還沒同步過,那這個參數就是ntp服務啟動后到現在的距離

poll   —— 同步周期,單位為秒

reach —— 它是八進制數,正常情況下值為[0, 1, 3, 7, 17, 37, 77, 177, 377],對應的二進制為[0, 1, 11, 111, 1111, 11111, 111111, 1111111, 11111111],

               ntp服務啟動后,reach就以poll值為周期與ntp server通信,為了方便理解,我們可以簡單的認為每次ping一下上層ntp server,如果成功,那

               reach就向左移一位,右邊補1,如果失敗,則右邊補0,所以如果reach不是上面給出的枚舉值,那就是在通信過程中出錯了。當reach 達到17時

             (對應1111,即最近的四次通信都成功了),那才開始同步時間,這時,remote項對應的域名或IP列表有,其中一個前面會有*號,表示該IP就是

               NTP server。而在開始同步時間之前,當客戶端訪問weblbserver-1這個NTP server時,都會出現stratum 16,no server suitable for

               nchronization found這樣的錯誤。也就是說如果你在NTP server主機上重啟了ntp服務,那要等4*poll秒(在前四次通信都是成功的前提下),

               該NTP server才與上層NTP server開始同步時間,而且只有當開始同步時,該NTP server才能為其它客戶端提供NTP服務。因此,你在/etc/ntp.conf

               中設置的同步周期minpoll maxpoll不能太大,因為每次ntp服務重啟后,要等4倍長的時間才能開始同步。 

 

錯誤2.Server dropped: 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: Server dropped: 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 changed between versions 4.1 and 4.2.

In 4.1 (and earlier) notrust meant "Don't trust this host/subnet for time".

In 4.2 (and later) notrust means "Ignore all NTP packets that are not cryptographically authenticated." This forces remote time servers to

authenticate themselves to your (client) ntpd

解決辦法:把notrust去掉。


2.  檢查ntp server的防火牆。可能是server的防火牆屏蔽了upd 123端口。

   可以用命令 來關掉iptables服務后再嘗試從ntp客戶端的同步,如果成功,證明是防火牆的問題,需要更改iptables的設置。

#service iptables stop

 

參考:http://www.xiangqian.org/jishucangku/240.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM