天天看點

建構NTP時間伺服器(以centos為例)

        首先介紹一下NTP伺服器的用途和基本知識。(來源于百度百科)NTP是網絡時間協定(Network Time Protocol),它是用來同步網絡中各個計算機的時間的協定。

   在計算機的世界裡,時間非常地重要,例如對于火箭發射這種科研活動,對時間的統一性和準确性要求就非常地高,是按照A這台計算機的時間,還是按照B這台計算機的時間?NTP就是用來解決這個問題的,NTP(Network Time Protocol,網絡時間協定)是用來使網絡中的各個計算機時間同步的一種協定。它的用途是把計算機的時鐘同步到世界協調時UTC,其精度在區域網路内可達0.1ms,在網際網路上絕大多數的地方其精度可以達到1-50ms。

   它可以使計算機對其伺服器或時鐘源(如石英鐘,GPS等等)進行時間同步,它可以提供高精準度的時間校正,而且可以使用加密确認的方式來防止惡毒的協定攻擊。

   在NTP中,定義了時間按照伺服器的等級傳播,按照離外部UTC源遠近将所有的伺服器歸入不同的Stratum(層)中,例如把通過GPS(Global Positioning System,全球定位系統)取得發送标準時間的伺服器叫Stratum-1的NTP伺服器,而Stratum-2則從Stratum-1擷取時間,Stratum-3從Stratum-2擷取時間,以此類推,但Stratum層的總數限制在15以内。所有這些伺服器在邏輯上形成階梯式的架構互相連接配接,而Stratum-1的時間伺服器是整個系統的基礎,這種階梯式的架構示意圖如圖1所示。

建構NTP時間伺服器(以centos為例)

好了(我想你一定時略過基礎知識,直接看配置了吧),廢話不多說,下面時詳細的配置步驟:

實驗環境:CentOS6.7虛拟機兩台

                  服務端IP:192.168.1.3

                  用戶端IP:192.168.1.4

注:紅色字型标示配置指令或特别注意,藍色标示理論解釋。特别注意:請關掉服務端的防火牆或者開啟遠端用戶端通路的123端口。操作為:編輯 vi /etc/sysconfig/iptables 加上下面這行

-A INPUT -m state --state NEW -m udp -p tcp --dport 123 -j ACCEPT

—強烈建議做實驗時直接關掉防火牆,不然你會煩死。

步驟1.服務端安裝ntp ntpdate.可用指令yum -y install ntp ntpdate(使用Yum時請确定虛拟機能連上網,虛拟機工作在橋接模式或者NAT模式下),用戶端安裝ntpdate,同樣的指令yum -y install ntpdate。

步驟2.修改服務端的配置檔案。檔案目錄/etc/ntp.conf。為了確定配置出錯無法拯救,先備份檔案。

cp /etc/ntp.conf /etc/ntp.conf.bak

下面修改配置檔案

vi  /etc/ntp.conf 

      (該檔案隻需要配置主要的兩部分:權限、連接配接遠端伺服器。添加允許通路你ntp伺服器的網路或者主機。)

      增加:

restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap

restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

(restrict格式:restrict [ip] mask [mask_number] [parameter]其中parameter如下:ignore:拒絕所有類型的ntp連接配接,nomodify:不允許用戶端修改伺服器的時間參數,但是允許用戶端透過這部主機進行時間校驗。noquery:不允許用戶端進行時間校驗。notrap:不提供trap時間登入。notrust:拒絕沒有認證的用戶端;然後設定server段,設定上層ntp伺服器。具體格式:server [IP or HOSTNAME] [PREFER]國内經常用到的ntp伺服器有如下:

建構NTP時間伺服器(以centos為例)

 ntp.sjtu.edu.cn

 s1a.time.edu.cn

 s1b.time.edu.cn

 s1c.time.edu.cn

 s1d.time.edu.cn

 s1e.time.edu.cn

 s2a.time.edu.cn

 s2b.time.edu.cn

 s2c.time.edu.cn

 s2d.time.edu.cn

 s2e.time.edu.cn

 s2f.time.edu.cn

 s2g.time.edu.cn

 s2h.time.edu.cn

 s2j.time.edu.cn

 s2k.time.edu.cn

 s2m.time.edu.cn

 clock.cuhk.edu.hk)

注釋或者删掉(行首加#号注釋)0.centos.pool.ntp.org、1.centos.pool.ntp.org、2.centos.pool.ntp.org,添加上述的伺服器之一即可,如下所示:

server ntp.sjtu.edu.cn

server s1a.time.edu.cn

儲存後退出

建構NTP時間伺服器(以centos為例)

      步驟3.在服務端啟動你的NTP服務,并設為開機自啟動。

建構NTP時間伺服器(以centos為例)

     步驟4.檢查ntp啟動情況

建構NTP時間伺服器(以centos為例)
建構NTP時間伺服器(以centos為例)

顯示有UPD的123端口,證明ntp啟動成功。

       步驟5.運作ntpstat檢測ntp伺服器是否于上層伺服器連接配接,如圖顯示證明成功連接配接202.118.1.130,如果不成,請等待一分鐘在檢測。

建構NTP時間伺服器(以centos為例)

          步驟6.用戶端連接配接ntp服務端。建議用戶端隻需要用ntpdate + 服務端IP位址的指令向伺服器提出同步請求即可,然後利用hwclock -w 指令進行寫入用戶端的BIOS。如果需要定時同步,可以利用crontab每小時(或者每分鐘)同步一次即可,這裡我用的時每分鐘。

建構NTP時間伺服器(以centos為例)

crontab -e  #編輯定時任務

*/1 * * * * /usr/sbin/ntpdate 192.168.1.3 >>/usr/local/logs/crontab/ntpdate.log

crontab -l      #檢視任務

建構NTP時間伺服器(以centos為例)

配置結束。

繼續閱讀