Linux下的NTP服務搭建
為了實現時間同步,我們就需要用NTP(Network Time Protocol)這個協議。
簡單地說,NTP是用來使系統和一個精確的時間源保持時間同步的協議。
我們需要建立一個能提供精確時間的服務器,局域網內的所有電腦統一通過這臺時間服務器進行時間同步、校準。
如何設置Linux Time Zone:
/usr/share/zoneinfo:這是個目錄,在這個目錄下是規定了各主要時區的時間設定文件,例如中國大陸地區的時區設置文件是 /usr/share/zoneinfo/Asia/Shanghai 。
如果我們想查看對於每個time zone當前的時間我們可以用zdump命令。
例如:分別查看日本、上海和紐約時間。
當輸入date命令查看時間時,我們所在的time zone是哪個,就顯示哪個時間,可以通過在/usr/share/zoneinfo下找到我們的time zone文件然後拷貝去到/etc/localtimezone(或者做個symbolic link)來更改所在時區
例如:把time zone改成紐約所在時區,再通過date查看當前時間。
把time zone改成日本所在時區,再通過date查看當前時間。
把time zone改成上海所在時區,再通過date查看當前時間。
NTP服務端的設置:
編輯ntp的配置文件 /etc/ntp.conf
關於權限設定部分
權限的設定主要以 restrict 這個參數來設定,主要的語法為:
restrict IP地址 mask 子網掩碼 參數
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
參數有以下幾個:
ignore :關閉所有的 NTP 聯機服務
nomodify:客戶端不能更改服務端的時間參數,但是客戶端可以通過服務端進行網絡校時。
notrust :客戶端除非通過認證,否則該客戶端來源將被視為不信任子網
noquery :不提供客戶端的時間查詢
notrap:不提供trap遠程登錄功能,trap服務是一種遠程時間日誌服務
nopeer:提供時間服務,但不作為對等體
kod:向不安全的訪問者發送Kiss-Of-Death報文
註意:如果參數沒有設定,那就表示該 IP (或子網)沒有任何限制!
上級時間服務器的設定 :
由於我們配置的NTP 服務器需要網絡上面時間比較準確的NTP服務器來更新自己的時間,所以在我們的 NTP 服務器上面要配置一部上級時間服務器來進行校準
用server這個參數設定上級時間服務器,語法為:
server + IP地址或域名 [prefer]
IP地址或域名就是我們指定的上級時間服務器,如果 Server 參數最後加上 prefer,表示我們的 NTP 服務器主要以該部主機時間進行校準。
解決NTP服務器校準時間時的傳送延遲 :
使用driftfile參數設置:
driftfile 文件名
在與上級時間服務器聯系時所花費的時間,記錄在driftfile參數後面的文件內。
註意: driftfile 後面接的文件需要使用完整的路徑文件名,不能是鏈接文件,並且文件的權限需要設定成 ntpd守護進程可以寫入。
NTP客戶端的使用:
Linux系統:
執行 ntpdate:
ntpdate 10.1.3.51 其中10.1.3.51是NTP服務器的IP
不要忘了使用hwclock命令,把時間寫入bios
hwclock -w
如果想定時進行時間校準,可以使用crond服務來定時執行。
編輯 /etc/crontab 文件
加入下面一行:
30 8 * * * root /usr/sbin/ntpdate 10.1.3.51; /sbin/hwclock -w 其中 10.1.3.51是NTP服務器的IP地址
然後重啟crond服務
systemctl restart crond
這樣,每天 8:30 Linux 系統就會自動的進行網絡時間校準。
Windows 系統:
雙擊桌面任務欄上的時間,彈出“日期和時間”屬性窗口
選擇Internet時間,在服務器中填入你的NTP服務器的IP地址或者域名,然後點擊立即更新,您的系統時間就會立即更新。如果想定時更新,把左上角的自動與Internet時間服務器同步選中,然後點擊右下角的應用即可。
yy-2-3.tif
如果不是Windows XP系統,但是NTP服務器同時也是samba服務器的話,則對Windows來說,不需要安裝任何時間同步軟件,因為Windows客戶端可以用net time\\時間服務器IP或服務器netbios名/set/yes來同步。可以把該命令放在開始菜單的啟動項中,啟動windows時自動同步。
由於net time命令是利用Netbios over TCP/IP協議來同步時間,所以NTP服務器不同時是samba 服務器的話,就需要Windows客戶端安裝時間同步軟件。這方面的軟件很多,使用也很簡單,讀者可以上網查找一下。
參考:http://www.cnblogs.com/oskb/p/3848714.html
Linux下的NTP服務搭建