NTP時間伺服器介紹

2021-09-07 07:31:02 字數 2504 閱讀 1304

ntp伺服器提供準確時間,首先要有準確的時間**,這一時間應該是國際標準時間utc。 ntp獲得utc的時間**可以是原子鐘、天文台、衛星,也可以從internet上獲取。這樣就有了準確而可靠的時間源。時間按ntp伺服器的等級傳播。按照離外部utc 源的遠近將所有伺服器歸入不同的stratum(層)中。stratum-1在頂層,有外部utc接入,而stratum-2則從stratum-1獲取時間,stratum-3從stratum-2獲取時間,以此類推,但stratum層的總數限制在15以內。所有這些伺服器在邏輯上形成階梯式的架構相互連線,而stratum-1的時間伺服器是整個系統的基礎。

計算機主機一般同多個時間伺服器連線, 利用統計學的演算法過濾來自不同伺服器的時間,以選擇最佳的路徑和**來校正主機時間。即使主機在長時間無法與某一時間伺服器相聯絡的情況下,ntp服務依然有效運轉。為防止對時間伺服器的惡意破壞,ntp使用了識別(authentication)機制,檢查來對時的資訊是否是真正來自所宣稱的伺服器並檢查資料的返回路徑,以提供對抗干擾的保護機制。

ntp校時方式

時間伺服器可以利用以下三種方式與其他伺服器對時:broadcast/multicast,client/server和symmetric。

broadcast/multicast:方式主要適用於區域網的環境,時間伺服器週期性的以廣播的方式,將時間資訊傳送給其他網路中的時間伺服器,其時間僅會有少許的延遲,而且配置非常的簡單。但是此方式的精確度並不高,對時間精確度要求不是很高的情況下可以採用。

symmetric:的方式得一台伺服器可以從遠端時間伺服器獲取時鐘,如果需要也可提供時間資訊給遠端的時間伺服器。此一方式適用於配置冗餘的時間伺服器,可以提供更高的精確度給主機。

client/server:方式與symmetric方式比較相似,只是不提供給其他時間伺服器時間資訊,此方式適用於一台時間伺服器接收上層時間伺服器的時間資訊,並提供時間資訊給下層的使用者。

上述三種方式,時間資訊的傳輸都使用udp協議。時間伺服器利用乙個過濾演演算法,及先前八個校時資料計算出時間參考值,判斷後續校時包的精確性,乙個相對較高的離散程度,表示乙個對時資料的可信度比較低。僅從乙個時間伺服器獲得校時資訊,不能校正通訊過程所造成的時間偏差,而同時與許多時間伺服器通訊校時,就可利用過濾演算法找出相對較可靠的時間**,然後採用它的時間來校時

ntp伺服器配置

ntp在linux主機上預設一般都是安裝過的,只是服務沒有啟用。如果沒有安裝可直接使用yum install ntp命令即可。

ntp的主配置檔案,以下是ntp伺服器可選的指令:

# 允許172.16.*.*的ip使用該時間伺服器;

restrict 172.16.0.0 mask 255.255.0.0 nomodify

#允許任何人來同步;

restrict default nomodify notrap

# 遮蔽其他ip過來更新時間;

restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap noquery notrust

#ignore:關閉所有的ntp聯機服務;

#nomodify:表示client端不能更改server端的時間引數;不過client端仍然可以透過server端來進行網路校時;

#notrust:該client除非通過認證否則該client**將被視為不信任網域;

#noquery:不提供client端的時間查詢;

#notrap:允許任何人來查詢;

# 同步的上層伺服器(210.72.145.44國家時間伺服器),ntp伺服器預設也有同步的時間伺服器;

server 210.72.145.44

# 同步本地時間;

server 127.127.1.0 prefer

# 本地伺服器的stratum大小不能超過16;

fudge 127.127.1.0 stratum 8

啟動ntp伺服器

[root@localhost ~]# chkconfig ntpd on 

[root@localhost ~]# service ntpd start

檢視ntp資訊

[root@localhost ~]# ntpq -p

ntp伺服器配置完成啟動之後;ntp自身或者與其server的同步需要乙個時間段這個過程可能是5-10分鐘;在這個時間段內客戶端執行ntpdate命令時會產生no serversuitable for synchronization found的錯誤,上圖表示210.72.145.44的reach為0不可用,local的reach為17可用。

將時間同步到硬體時鐘

[root@localhost ~]# vi /etc/sysconfig/ntpd 

sync_hwclock=yes

客戶端配置

[root@localhost ~]# ntpdate 172.16.16.1

[root@localhost ~]# crontab -e

*/1 * * * * ntpdate 172.16.16.1

NTP時間伺服器介紹

ntp伺服器提供準確時間,首先要有準確的時間 這一時間應該是國際標準時間utc。ntp獲得utc的時間 可以是原子鐘 天文台 衛星,也可以從internet上獲取。這樣就有了準確而可靠的時間源。時間按ntp伺服器的等級傳播。按照離外部utc 源的遠近將所有伺服器歸入不同的stratum 層 中。st...

NTP時間伺服器介紹

ntp伺服器提供準確時間,首先要有準確的時間 這一時間應該是國際標準時間utc。ntp獲得utc的時間 可以是原子鐘 天文台 衛星,也可以從internet上獲取。這樣就有了準確而可靠的時間源。時間按ntp伺服器的等級傳播。按照離外部utc 源的遠近將所有伺服器歸入不同的stratum 層 中。st...

ntp時間伺服器

兩台虛擬機器 192.168.30.139 服務端 192.168.30.143 客戶端1 安裝ntp 服務 192.168.30.139 root hadoop1 opt yum install y ntp 192.168.30.143 root hadoop2 opt yum install y...