跨平臺全網計算機時間同步

weixin_34262482發表於2010-09-10
保持生產環境中全網計算機時間的同步是一件很重要且必須的事情,至少在我們的網路環境中就是這樣。我們的網路由一個域和一個工作組組成,域主要是財務系統,而工作組是另一個管理系統,它們都要求計算機時間的一致性,大家都知道,在一個域中計算機時間都是自動同步的,但工作組卻沒那麼簡單。
經過討論,我們最後一致認為全網的計算機時間應該以工作組中的UNIX/MIS伺服器為準,於是整個網路的時間同步要求就應該如圖1所示,即域的PDC與UNIX/MIS伺服器同步,然後域成員與域DC同步(這裡DC與PDC是一臺伺服器),而工作組內的計算機則直接與UNIX/MIS伺服器同步,下面就來看看怎樣實現上述要求。
網路時間同步的相關背景知識
在網路中同步時間通常使用以下的兩種協議中的一種:
◆1. SNTP,simple network time protocol,簡單網路時間協議
◆2. 時間協議(Time Protocol)
SNTP是現在應用較多的一種網路時間協議, windows域內的時間同步就是使用的這種協議,那windows域內時間同步的層次是怎樣的呢?森林中根域的PDC是整個森林的時間源,然後根域中其他DC和子域的PDC就與這個根PDC進行時間同步,再然後域成員就與自己域中的DC進行時間同步,也就是說DC與PDC進行時間同步,域成員與DC進行時間同步,當系統啟動時將進行一次同步,後面每45分鐘再進行週期性同步,使用UDP123埠進行通訊。
對於第二種時間協議(Time Protocol),這種方法雖然並不流行了,但在一定情況下還是很有用的,Time Protocol伺服器在TCP/UDP 37埠上進行監聽,它並不像上面一樣給出特定時間,而是給出從1900年1月1日午夜到現在的秒數,由於時間是由32位表示,所以這種協議只能使用到2036年。 
在這裡我們將結合使用這兩種協議。
具體步驟
◆1.實現PDC/DC與UNIX/MIS伺服器的時間同步
由於這裡MIS不是一臺SNTP伺服器,而且也不便將其配置成一臺SNTP伺服器,但發現其在監聽37埠,可以判定它是一臺Time Protocol伺服器(Unix系統通常都是),於是可以在客戶機上安裝這種協議的客戶端軟體與其同步,於是在網上搜尋到這樣一種時間同步程式,名為NTPclock,既支援SNTP也支援Time Protocol,它是臺灣海洋大學開發的,所以有些術語可能與我們常用的有所不同,不過這並不妨礙我們理解。NTPclock不需安裝,為了讓它隨計算機一起啟動,請把它放在啟動選單中。
首先雙擊執行它,它會在桌面顯示一個浮動視窗,並顯示當前系統時間,為了完成時間同步,右擊此浮動視窗,然後選擇“網路較時設定”項,彈出如圖2 的視窗,
在“校時通訊協定”欄選擇“Time/TCP”或“Time/UDP”,也就是使用Time Protocol,在“時間伺服器位址”欄填入MIS伺服器的IP,然後點選下方的“立即查詢主機時間”按鈕,如果同步成功,你將會看到系統時間的改變,並且下方的 “時間校正訊息”欄也有相應資訊提示。其他項保持預設設定,比如週期性的同步和同步後自動調整時間等,然後點選“結束設定”按鈕退出配置。
◆2. 像上面一樣同理在工作組內的客戶機上進行相同的設定,使得工作組內的客戶機與MIS伺服器進行時間同步。
◆3. 域內的時間同步
Win2k/xp/2003域成員有個w32time時間服務,它會自動與域DC進行時間同步(手動同步命令w32tm /resync),無需人為干涉,保持域內時間的同步是kerberos認證協議的一個基本要求,也是為了防止重放***的一種手段,如果域成員客戶機與DC的時間相差太大的話,它的登入將不能成功,這時你可以手動調整系統時間,通常情況下,只要通訊無阻礙,域成員將自動與DC保持時間同步,所以在這裡我們無需進一步的設定,當然如果通訊要通過防火牆時,請記得開啟外出的UDP123埠。

相關文章