1. 程式人生 > >Linux下的NTP服務搭建

Linux下的NTP服務搭建

服務搭建 work 開始菜單 每天 ask .com 是我 netbios nta

為了實現時間同步,我們就需要用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服務搭建