??? 運行“net time /setsntp:ntp.fudan.edu.cn”將Windows 2000的SNTP服務器設為ntp.fudan.edu.cn
??? 首先確保已安裝ntp的包,然后以root身份運行“ntpdate ntp.fudan.edu.cn”即可;運行“crontab -e”并寫入一行“0 * * * * ntpdate ntp.fudan.edu.cn”以保持每小時同步一次。
概念簡介及含義
網(wǎng)絡時間協(xié)議Network Time Protocol( N T P)是用來在整個網(wǎng)絡內(nèi)發(fā)布精確時間的T C P / I P協(xié)議,其本身的傳輸基于U D P,保留端口號123。它可以使計算機或網(wǎng)絡設備對其服務器或時鐘源(如石英鐘,GPS等等)做同步化,可以提供高精準度的時間校正(LAN上與標準間差小于1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協(xié)議攻擊。NTP提供準確時間,首先要有準確的時間來源,這一時間應該是國際標準時間UTC。 NTP獲得UTC的時間來源可以是原子鐘、天文臺、衛(wèi)星,也可以從Internet上獲取。這樣就有了準確而可靠的時間源。時間按NTP服務器的等級傳播。按照離外部UTC 源的遠近將所有服務器歸入不同的Stratun(層)中。Stratum-1在頂層,有外部UTC接入,而Stratum-2則從Stratum-1獲取時間,Stratum-3從Stratum-2獲取時間,以此類推,但Stratum層的總數(shù)限制在15以內(nèi)。所有這些服務器在邏輯上形成階梯式的架構相互連接,而Stratum-1的時間服務器是整個系統(tǒng)的基礎。計算機主機一般同多個時間服務器連接, 利用統(tǒng)計學的算法過濾來自不同服務器的時間,以選擇最佳的路徑和來源來校正主機時間。即使主機在長時間無法與某一時間服務器相聯(lián)系的情況下,NTP服務依然有效運轉。為防止對時間服務器的惡意破壞,NTP使用了識別(Authentication)機制,檢查來對時的信息是否是真正來自所宣稱的服務器并檢查資料的返回路徑,以提供對抗干擾的保護機制。
NTP的實現(xiàn)
一、? ? ? ? Windows系統(tǒng)下的實現(xiàn)(PC-PC):
服務器端(Windows2000 OR WindowsXP):
方法一:
第一步:指定主時間服務器。在DOS方式輸入“net time /setsntp:pool.ntp.org”,這里我們指定pool.ntp.org是主時間服務器,也可以是其它地址。
第二步:開始與主時間服務器同步。先關閉windows time服務,再開啟該服務??梢栽凇肮芾砉ぞ摺钡摹胺铡苯缑嫦峦瓿?,也可以以DOS方式輸入“net stop w32time”、“net start w32time”。
第三步:設置電腦的Windows time服務的啟動方式為自動。在“管理工具”的“服務”界面下完成。注意這臺windows主機不能加入任何域,否則無法啟動windows time服務。此時,這臺windows電腦已經(jīng)是互聯(lián)上主時間服務器的客戶了,以后每次電腦啟動時,都會自動與主時間服務器校對時間。如果網(wǎng)絡不通,電腦也會過45分鐘后再次自動校對時間。需要注意的是電腦的時鐘與標準時間誤差不能超過12小時,否則不能自動校對,而要手動校正了。
第四步:使這臺電腦成為時間服務器,供局域網(wǎng)內(nèi)部的電腦校對時間。運行“regedit”把 “HKEY_LOCAL_MACHINE_SYSTEM_CurrentControlSet_Services_W32Time_Parameters”中的 LocalNTP改為1即可。
方法二:
安裝第三方NTP服務器軟件,推薦使用NTP V4.1
1.安裝時提示設置服務器地址,輸入ntp服務器的IP地址
2.ntpd的控制:控制面板->;管理工具->;組件服務-NetworkTimeProtocol
3.可以啟動ntpd守護進程保持時間同步
4.在C:\WINNT目錄下有個ntp的配置文件ntp.conf
設置為:
server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 10
5.確定ntp是否工作: ntpq ?Cp
客戶端:
客戶端的主要任務是連接到局域網(wǎng)內(nèi)的時間服務器,以保持電腦的時鐘與服務器同步。分Linux、Windows98、2000、XP幾種情況介紹
1、LINUX主機
其實在上面介紹Linux系統(tǒng)中的ntp服務時,已經(jīng)提到ntp時間服務時同時也是一個時間服務的客戶端,只要把/etc/ntp.conf文件中的 “server pool.ntp.org”改為“server 內(nèi)部時間服務器IP地址”即可。如不想使用ntp服務,也可使用ntp軟件包中帶來的ntpdate命令,只要手工執(zhí)行“ntpdate 時間服務器IP地址”即可。如想每天自動對時,可以把這條命令放在cron中,注意在同一臺電腦上ntp服務與ntpdate命令不能同時使用。
2、Windows2000主機
執(zhí)行設置時間服務器時的前三步即可
3、WindowsXP主機
可以按Windows2000主機的方法設置,也可雙擊任務欄右下角的時鐘圖標,打開“日期時間屬性”對話框,在“Internet時間”卡片上選中“自動與Internet時間服務器同步”,并在服務器上填入內(nèi)部時間服務器的IP地址即可。
4、Windows98主機
需要安裝第三方軟件,推薦使用achron 。軟件操作簡單,只要將“Hostname or IP Address”中輸入局域網(wǎng)內(nèi)時間服務器的IP地址,“Protocol”中選SNTP即可。當然在windows98電腦上執(zhí)行“net time 機器名或IP地址 /set /yes”也可能與其它windows電腦同步時鐘,前提是這些電腦在同一網(wǎng)段,并且安裝有netbios協(xié)議。把該命令放在autoexec.bat 中,就可以做到開機自動對時了。
二、 UNIX系統(tǒng)下的實現(xiàn)(PC-PC):
服務器端
以LINUX REDHAT 9.0為例:
第一步:檢查是否已經(jīng)安裝有ntp軟件包。輸入“rpm -qa|grep ntp”,如果已經(jīng)安裝應該顯示“ntp-4.1.2-0.rc1”。
第二步:安裝ntp軟件,從
ftp://ftp.redhat.com下載rpm包,輸入“rpm -ivh ntp-xxx.rpm”執(zhí)行安裝。
第三步:配置ntp服務。備份原/etc/ntp.conf文件后,輸入以下內(nèi)容
server pool.ntp.org
server pool.ntp.org
server pool.ntp.org
driftfile /etc/ntp/drift
3行server都設pool.ntp.org是為了提供連接冗余,當?shù)谝粋€地址連接失敗時,后面的地址提供時間服務,注意這里的pool.ntp.org對應一組IP地址,由DNS隨機分配。
第四步:啟動ntp服務。輸入“service ntp restart”?!榱吮WC以后Linux機啟動后ntp服務能自動啟動,還要輸入“chkconfig ntpd on”。Linux下的ntp軟件不但能自動與互聯(lián)網(wǎng)上的時鐘保持同步,同時本身已經(jīng)是一臺SNTP服務器了,可以供局域網(wǎng)內(nèi)的電腦校對時間。建議啟動 NTP服務后,先用date命令手工校正一下時間,以后系統(tǒng)會自動與互聯(lián)網(wǎng)上的主時間服務器保持同步。ntp服務還有一個好處,如果當前系統(tǒng)的時間與標準時間有所誤差,它不是馬上把時間校正,而是逐步縮小與標準時間的誤差,以免系統(tǒng)內(nèi)部出現(xiàn)時間突變。
以HP-UX為例:
在hp-ux系統(tǒng)上時區(qū)的配置文件是/etc/TIMEZONE,內(nèi)容如下
TZ=EAT-8
export TZ
時區(qū)設置完畢就即可配置ntp服務器,修改配置文件/etc/ntp.conf,設置以下幾個參數(shù):
server 用來同步時間的上級服務器,網(wǎng)上有很多免費的。
restrict 設置訪問權限,注意restrict default ignore一定要注釋掉
參考設置示例:
server 203.117.180.36
restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap
允許192.168網(wǎng)段的機器訪問服務器,但不允許他們修改。
客戶端設置與Windows系統(tǒng)下實現(xiàn)的客戶端設置相同
三、網(wǎng)絡設備的NTP實現(xiàn)(以CISCO IOS為例):
NTP的時鐘源在一般的情況下也可以使用路由器上的時鐘。高檔的路由器/交換機上提供了硬件時鐘,稱為calendat,與clock相互獨立,在系統(tǒng)重啟時clock使用calendar的值。可以用命令calendar set設置硬件時鐘的值,用命令clock read-calendar將系統(tǒng)時鐘設置為calendar的值,也可以用命令clock update-calendar將當前系統(tǒng)時鐘值寫入calendar中。在客戶端,用ntp master x.x.x.x 指定NTP服務器地址(CatOS:set ntp server x.x.x.x),用命令ntp update update-calendar 可以讓NTP協(xié)議定時更新calendar的值。如果更改了時鐘源的時間,需要數(shù)分鐘才能同步到客戶端,更新calendar需要更長的時間。常用的調(diào)試命令有:show ntp status 和 show ntp associations等。
N T P的會聚( c o n v e rg e n c e )可能需要長達半個小時,這意味著在修改N T P主系統(tǒng)時鐘之后,再過半個小時其它的時鐘才進行同步。這是因為N T P將時鐘的改變視為時鐘系統(tǒng)的不穩(wěn)定。NTP需在等待系統(tǒng)穩(wěn)定后才會進行同步和傳遞時鐘的改變
在Cisco網(wǎng)絡系統(tǒng)中的NTP配置需要用到的命令及定義:
ntp access-group: 該全局命令用于路由器N T P服務的訪問控制。
ntp authenticate: 是一個全局命令,它啟用N T P身份驗證。
ntp authentication-key: 該全局命令用于定義N T P身份驗證的鍵值。
ntp broadcast: 是一個接口命令,用于指定一特定接口來發(fā)送N T P廣播包。
ntp broadcast client: 是一個接口命令,使路由器通過特定接口來接收N T P廣播包。
ntp broadcast delay: 是一個全局命令,它用于設定數(shù)據(jù)包在路由器和N T P服務器之間一個回程所需時間的估計值。
ntp clock-period: 這條全局命令不必輸入,當使用N T P進行系統(tǒng)時鐘同步時,路由器將自動產(chǎn)生這條命令。
ntp disable: 這條接口命令使特定接口不接收N T P包。
ntp master: 這條全局命令用來配置路由器為N T P主時鐘,只有當沒有可用的外部N T P源或者為測試用途才使用該命令。
ntp peer: 該全局命令使路由器的系統(tǒng)時鐘與其對等體的時鐘同步(或?qū)Φ润w的時鐘進行同步)。
ntp server: 該全局命令使路由器的系統(tǒng)時鐘由時間服務器進行同步。
ntp source: 該全局命令強制路由器在其N T P包中使用特定的源地址。
ntp trusted-key: 該全局命令用于確認路由器的特定身份驗證鍵值。
ntp update-calendar: 該全局命令使N T P周期性地更新Cisco 7XXX 系列路由器的日歷。
show ntp status: 是一執(zhí)行模式命令,用于顯示路由器的N T P信息,它可以表明該路由器是通過N T P對等體進行時鐘同步還是通過N T P服務器進行同步。
show ntp association[detail]: 這條執(zhí)行模式命令顯示與N T P有關的信息,如輪詢周期等。
簡要配置示例:
EXAMPLE 1
路由器A和路由器B通過串口連接,路由器A被設為N T P主時鐘,路由器B都被配置成根據(jù)路由器A來同步時鐘。
…
RouterA#clock set xx:xx:xx:xx
RouterA(config)# int s0
RouterA(config-if)#ip add 172.23.1.1 255.255.255.0
RouterA# ntp master 1
RouterB#ntp server 172.23.1.1??
...
EXAMPLE 2
路由器A被設置為N T P主時鐘,路由器B被配置成通過N T P服務器與路由器A進行時鐘同步,路由器C則被配置成路由器B的對等體,與B的時鐘同步。三臺路由器通過串口進行連接,路由器A和B之間、路由器B和C之間的連接都使用交叉電纜。
...
RouterA#clock set xx:xx:xx:xx
RouterA(config)# int s0
RouterA(config-if)#ip add 172.23.1.1 255.255.255.0
RouterA# ntp master 1
RouterB#ntp server 172.23.1.1??
RouterB(config-if) ip add 172.16.1.2 255.255.255.0
RouterC#ntp peer 172.16.1.2
...
EXAMPLE 3
使用局域網(wǎng)廣播的CISCO NTP
3臺路由器通過以太網(wǎng)接入同一個網(wǎng)段,路由器a作為NTP服務器通過e0接口向以太網(wǎng)發(fā)送NTP廣播。
...
RouterA#clock set xx:xx:xx:xx
routerA(config0#int e0
RouterA(config-if)#ip add 172.23.1.1 255.255.255.0
RouterA(config-if)#ntp broadcast
RouterA# ntp master
RouterB(config)#int e0
RouterB(config-if) # ip add 172.23.1.2 255.255.255.0
RouterB(config-if) #ntp broadcast client
RouterC(config)#int e0
RouterC(config-if) # ip add 172.23.1.3 255.255.255.0
RouterC(config-if) #ntp broadcast client
PC客戶端配置同前兩種方法。
zqbchina 發(fā)表于: 2006-10-27 09:50:55