《NTP中間服務(wù)器(Relay Server)設(shè)置及其日常維護》要點:
本文介紹了NTP中間服務(wù)器(Relay Server)設(shè)置及其日常維護,希望對您有用。如果有疑問,可以聯(lián)系我們。
NTP(Network Time Protocol)是用來使計算機時間同步化的一種協(xié)議,它可以使計算機對其服務(wù)器或時鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精準度的時間校正(LAN上與標準間差小于1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協(xié)議攻擊.
NTP頂級時鐘源都是由國際組織管理維護的,那么我們?nèi)绾巫约杭茉O(shè)一個NTP中間服務(wù)器(NP Relay Server),以及NTP服務(wù)器日常維護都需要關(guān)注些什么呢?請往下看……
1. 架設(shè)一個NTP Relay Server其實非常簡單,我們先把需要的RPM包裝上
# rpm -ivh ntp-4.2.2p1-5.el5.rpm
2. 找到在互聯(lián)網(wǎng)上給我們提供同步服務(wù)的NTP Server,可以在TekTea前面文章提到的pool.ntp.org上找你所在地區(qū)的上級NTP服務(wù)器,在這上面我們可以找到離我們城市最近的NTP Server. NTP建議我們?yōu)榱吮U蠒r間的準確性,最少找兩個個NTP Server,那么在中國大陸就可以選擇下面這兩個服務(wù)器(這兩個域名分別解析到中國大陸和香港地區(qū))
cn.pool.ntp.org
hk.pool.ntp.org
3. 在打開NTP服務(wù)器之前先和這些服務(wù)器做一個同步,使得我們機器的時間盡量接近標準時間,這里我們可以用ntpdate命令
# ntpdate cn.pool.ntp.org
6 Jul 01:21:49 ntpdate[4528]: step time server 213.222.193.35 offset -38908.575181 sec
# ntpdate hk.pool.ntp.org
6 Jul 01:21:56 ntpdate[4530]: adjust time server 213.222.193.35 offset -0.000065 sec
4. 假如你的時間差的很離譜的話第一次會看到調(diào)整的幅度比較大,所以保險起見可以運行兩次,那么為什么在打開NTP服務(wù)之前先要手動運行同步呢?
1)因為根據(jù)NTP的設(shè)置,如果你的系統(tǒng)時間比正確時間要快的話那么NTP是不會幫你調(diào)整的,所以要么你把時間設(shè)置回去,要么先做一個手動同步
2)當你的時間設(shè)置和NTP服務(wù)器的時間相差很大的時候,NTP會花上較長一段時間進行調(diào)整,所以手動同步可以減少這段時間
5. 配置和運行NTP Server
現(xiàn)在我們就來創(chuàng)建NTP的配置文件了, 它就是/etc/ntp.conf. 我們只需要加入上面的NTP Server和一個driftfile就可以了
# vi /etc/ntp.conf
server 0.uk.pool.ntp.org
server 1.uk.pool.ntp.org
driftfile /var/lib/ntp/ntp.drift
非常的簡單,接下來我們就啟動NTP Server,并且設(shè)置其在開機后自動運行
# /etc/init.d/ntpd start
# chkconfig –level 35 ntpd on
6. 查看NTP服務(wù)的運行狀況
現(xiàn)在我們已經(jīng)啟動了NTP的服務(wù),但是我們的系統(tǒng)時間到底和服務(wù)器同步了沒有呢?為此NTP提供了一個很好的查看工具: ntpq (NTP query)
我建議大家在打開NTP服務(wù)器后就可以運行ntpq命令來監(jiān)測服務(wù)器的運行.這里我們可以使用watch命令來查看一段時間內(nèi)服務(wù)器各項數(shù)值的變化
# watch ntpq -p
Every 2.0s: ntpq -p Sat Jul 7 00:41:45 2007
remote refid st t when poll reach delay offset jitter
==============================================================================
+193.60.199.75 193.62.22.98 2 u 52 64 377 8.578 10.203 289.032
*mozart.musicbox 192.5.41.41 2 u 54 64 377 19.301 -60.218 292.411
現(xiàn)在我就來解釋一下其中的含義
remote:
它指的就是本地機器所連接的遠程NTP服務(wù)器
refid:
它指的是給遠程服務(wù)器(e.g. 193.60.199.75)提供時間同步的服務(wù)器
st:
遠程服務(wù)器的級別,由于NTP是層型結(jié)構(gòu),有頂端的服務(wù)器,多層的Relay Server再到客戶端,所以服務(wù)器從高到低級別可以設(shè)定為1-16,為了減緩負荷和網(wǎng)絡(luò)堵塞,原則上應該避免直接連接到級別為1的服務(wù)器的.
t:
這個…..我也不知道啥意思^_^
when:
我個人把它理解為一個計時器用來告訴我們還有多久本地機器就需要和遠程服務(wù)器進行一次時間同步
poll:
本地機和遠程服務(wù)器多少時間進行一次同步(單位為秒),在一開始運行NTP的時候這個poll值會比較小,那樣和服務(wù)器同步的頻率也就增加了,可以盡快調(diào)整到正確的時間范圍,之后poll值會逐漸增大,同步的頻率也就會相應減小
reach:
這是一個八進制值,用來測試能否和服務(wù)器連接,每成功連接一次它的值就會增加
delay:
從本地機發(fā)送同步要求到服務(wù)器的round trip time
offset:
這是個最關(guān)鍵的值,它告訴了我們本地機和服務(wù)器之間的時間差別. offset越接近于0,我們就和服務(wù)器的時間越接近
jitter:
這是一個用來做統(tǒng)計的值,它統(tǒng)計了在特定個連續(xù)的連接數(shù)里offset的分布情況,簡單地說這個數(shù)值的絕對值越小我們和服務(wù)器的時間就越精確
那么大家細心的話就會發(fā)現(xiàn)兩個問題: 第一我們連接的是cn.pool.ntp.org為什么和remote server不一樣?第二那個最前面的+和*都是什么意思呢?
第一個問題不難理解,因為NTP提供給我們的是一個cluster server所以每次連接的得到的服務(wù)器都有可能是不一樣.同樣這也告訴我們了在指定NTP Server的時候應該使用hostname而不是IP.
第二個問題和第一個相關(guān),既然有這么多的服務(wù)器就是為了在發(fā)生問題的時候其他的服務(wù)器還可以正常地給我們提供服務(wù).那么如何知道這些服務(wù)器的狀態(tài)呢?這就是第一個記號會告訴我們的信息
*
它告訴我們遠端的服務(wù)器已經(jīng)被確認為我們的主NTP Server,我們系統(tǒng)的時間將由這臺機器所提供
+
它將作為輔助的NTP Server和帶有*號的服務(wù)器一起為我們提供同步服務(wù). 當*號服務(wù)器不可用時它就可以接管
–
遠程服務(wù)器被clustering algorithm認為是不合格的NTP Server
x
遠程服務(wù)器不可用
了解這些之后我們就可以實時監(jiān)測我們系統(tǒng)的時間同步狀況了
7. NTP安全設(shè)置
運行一個NTP Server不需要占用很多的系統(tǒng)資源,所以也不用專門配置獨立的服務(wù)器,就可以給許多client提供時間同步服務(wù),但是一些基本的安全設(shè)置還是很有必要的.
那么這里一個很簡單的思路就是第一我們只允許局域網(wǎng)內(nèi)一部分的用戶連接到我們的服務(wù)器,第二個就是這些client不能修改我們服務(wù)器上的時間
在/etc/ntp.conf文件中我們可以用restrict關(guān)鍵字來配置上面的要求
首先我們對于默認的client拒絕所有的操作
restrict default kod nomodify notrap nopeer noquery
然后允許本機地址一切的操作restrict 127.0.0.1
最后我們允許局域網(wǎng)內(nèi)所有client連接到這臺服務(wù)器同步時間,但是拒絕讓他們修改服務(wù)器上的時間restrict 192.168.1.0 mask 255.255.255.0 nomodify
把這三條加入到/etc/ntp.conf中就完成了我們的簡單配置,NTP還可以用key來做authenticaiton,這里就不詳細介紹了
8. NTP client的設(shè)置
做到這里我們已經(jīng)有了一臺自己的Relay Server,如果我們想讓局域網(wǎng)內(nèi)的其他client都進行時間同步的話那么我們就都應該照樣再搭建一臺Relay Server,然后把所有的client都指向這兩臺服務(wù)器(注意不要把所有的client都指向Internet上的服務(wù)器).只要在client的ntp.conf加上這你自己的服務(wù)器就可以了,例如:
server ntp1.leonard.com
server ntp2.leonard.com
server 10.1.0.41
9. 一些補充和拾遺
1)配置文件中的driftfile是什么?
我們每一個system clock的頻率都有小小的誤差,這個就是為什么機器運行一段時間后會不精確,NTP會自動來監(jiān)測我們時鐘的誤差值并予以調(diào)整.但問題是這是一個冗長的過程,所以它會把記錄下來的誤差先寫入driftfile,這樣即使你重新開機以后之前的計算結(jié)果也就不會丟失了.
2)及時同步到硬件時鐘?
NTP一般只會同步system clock,但在架設(shè)NTP服務(wù)器時,必須考慮及時把時間更新同步到RTC,否則NTP服務(wù)器重啟后時間會發(fā)現(xiàn)變化.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/4723.html