天天看點

NTP服務

首先我們對于預設的client拒絕所有的操作

代碼:

restrict default kod nomodify notrap nopeer noquery

然後允許本機位址一切的操作

restrict 127.0.0.1

最後我們允許區域網路内所有client連接配接到這台伺服器同步時間.但是拒絕讓他們修改伺服器上的時間

restrict 192.168.1.0 mask 255.255.255.0 nomodify

把這三條加入到/etc/ntp.conf中就完成了我們的簡單配置. NTP還可以用key來做authentication,這裡就不詳細介紹了

NTPD服務端設定

(1)确認NTPD服務已經開啟,時區設定正确,如有問題參見本章3、4、5、6條的描述。

(2)确認NTPD能夠作為用戶端從上級NTP伺服器擷取時間,如有問題參見本章3、4、5、6條的描述。

(3)NTPD服務的主要配置檔案預設是/etc/ntp.conf。

(4)設定配置檔案中的“restrict”項,主要用于控制用戶端對伺服器的通路,一般設定如下:

restrict default  kod nomodify notrap nopeer noquery

#禁用全部位址對NTPD各服務的通路

restrict  127.0.0.1

#允許本機位址(127.0.0.1)對NTPD各服務的通路

restrict  xx.xx.xx.xx  mask  xx.xx.xx.xx  nomodify

#允許設定的可信任位址段對NTPD各服務的通路,但不允許此位址段内用戶端修改NTPD伺服器時間(nomodify)。

(5)設定配置檔案中的“server”項,主要用于NTPD的上級伺服器、本機時鐘的同步,以及時鐘的層次stratum:

server 127.127.1.0

NTPD把本地主機的時鐘也看作外部時鐘源來處理,配置設定的位址是127.127.1.0

fudge  127.127.1.0 stratum 1

#設定本地時鐘源的層次為1,這樣如果NTPD服務從本地時鐘源擷取時間的話,NTPD對外宣布的時間層次為2。

server 10.138.1.240

#設定上級時鐘源為10.138.1.240,上級時鐘源的層次是1,NTPD從上級時鐘源擷取到時間,對外宣布的時間層次為2。隻有在上級時鐘源失效時,NTPD才會使用127.127.1.0的本地時鐘。

(6)配置完畢,重新開機NTPD服務,使配置更改生效。

11、NTPD服務調試過程遇到的問題

NTP時間同步失敗的原因很多,但排除配置不當和外部因素後,NTP協定本身的特性也需要考慮到,在Linux NTPD服務調試的過程中,遇到以下問題:

(1)NTPD服務剛啟動後,用戶端無法同步時間,在過了幾分鐘之後,用戶端才能成功成功同步時間。

(2)網絡上存在多個NTP伺服器時,用戶端單獨隻從A伺服器或B伺服器同步時間都能成功,但如果把從A服務同步時間的客戶機重新設定,改為從B伺服器同步,很有可能不能成功同步時間,重新開機客戶機上的同步服務之後,發現客戶機又能成功從B伺服器同步了。

層的概念

這些問題主要涉及到NTP的層(stratum)的概念,頂層是1,值為0時表示層數不明,層的值是累加的,比如NTP授時方向是A-〉B-〉C,假設A的stratum值是3,那麼B從A擷取到時間,B的stratum置為4,C從B擷取到時間,C的值被置為5。一般隻有整個NTP系統最頂層的伺服器stratum才設為1。

NTP同步的方向是從stratum值較小的節點向較大的節點傳播,如果某個NTP用戶端接收到stratum比自己還要大,那麼NTP用戶端認為自己的時間比接受到的時間更為精确,不會進行時間的更新。

對于大部分NTP軟體系統來說,服務啟動後,stratum值初始是0,一旦NTP服務擷取到了時間,NTP層次就設定為上級伺服器stratum+1。對于具備衛星時鐘、原子鐘的專業NTP裝置,一般stratum值初始是1。

NTPD的運作過程

NTPD啟動後,stratum值初始是0,此時NTPD接收到NTP請求,回複stratum字段為0的NTP包,用戶端接收後,發現stratum字段無效,拒絕更新時間,造成時間更新失敗。

幾分鐘後,NTPD從上級伺服器擷取到了更新,設定了正确的stratum,回複stratum字段為n+1的NTP包,用戶端接收後,确認stratum有效,成功進行時間更新。

在NTPD上級伺服器不可用的情況下,NTPD将本機時鐘服務模拟為一個上級NTP伺服器,位址使用環回127.127.1.0,服務啟動幾分鐘後,NTPD從127.127.1.0更新了時鐘,設定了有效的stratum,用戶端接收後,成功進行時間更新。

對應的/etc/ntp.conf配置項如下:

#NTPD把本地主機的時鐘也看作外部時鐘源來處理,配置設定的位址是127.127.1.0

位置

标志

含義

remote之前

*

響應的NTP伺服器和最精确的伺服器

+

響應這個查詢請求的NTP伺服器

blank(空格)

沒有響應的NTP伺服器

清單上方

remote

響應這個請求的NTP伺服器的名稱

refid

NTP伺服器使用的更高一級伺服器的名稱

st

正在響應請求的NTP伺服器的級别

when

上一次成功請求之後到現在的秒數

poll

本地和遠端伺服器多少時間進行一次同步,機關秒,在一開始運作NTP的時候這個poll值會比較小,伺服器同步的頻率大,可以盡快調整到正确的時間範圍,之後poll值會逐漸增大,同步的頻率也就會相應減小

reach

用來測試能否和伺服器連接配接,是一個八進制值,每成功連接配接一次它的值就會增加

delay

從本地機發送同步要求到ntp伺服器的往返時間

offset

主機通過NTP時鐘同步與所同步時間源的時間偏移量,機關為毫秒,offset越接近于0,主機和ntp伺服器的時間越接近

jitter

統計了在特定個連續的連接配接數裡offset的分布情況。簡單地說這個數值的絕對值越小,主機的時間就越精确

本文轉自 zfno11 51CTO部落格,原文連結:http://blog.51cto.com/zfno111/1944936

<a href="http://blog.51cto.com/search/result?q=ntp" target="_blank">ntp</a>

繼續閱讀