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 系統:

    1.  打開組策略編輯器,命令是:gpedit.msc
    2.  在計算機策略對話框中,打開如下路徑:計算機配置/管理模板/系統/Windows時間服務/時間提供程序。

       

    3.  雙擊右邊配置Windows NTP客戶端。將Ntp Server項,輸入將要同步到的時間服務器IP地址。在類型項,選擇NTP。

       

    4. 雙擊啟動NTP客戶端,啟用NTP客戶端,點擊應用,確定按鈕;
    5. 執行命令:gpupdate /force,更新組策略
    6. 執行命令:Services.msc,找到Windows Time服務,檢查W32Time服務是否啟動,啟動類型是否是 自動啟動,如下圖:


    7. 在右下角時間和日期中,設置同步地址並勾選自動同步即可,如下圖

       



 

 

 

參考:http://www.cnblogs.com/oskb/p/3848714.html

   https://www.cnblogs.com/smallprogram/p/6346833.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM