首先介紹一下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所示。
好了(我想你一定時略過基礎知識,直接看配置了吧),廢話不多說,下面時詳細的配置步驟:
實驗環境: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.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
保存後退出
步驟3.在服務端啓動你的NTP服務,並設爲開機自啓動。
步驟4.檢查ntp啓動情況
顯示有UPD的123端口,證明ntp啓動成功。
步驟5.運行ntpstat檢測ntp服務器是否於上層服務器連接,如圖顯示證明成功連接202.118.1.130,如果不成,請等待一分鐘在檢測。
步驟6.客戶端連接ntp服務端。建議客戶端只需要用ntpdate + 服務端IP地址的命令向服務器提出同步請求即可,然後利用hwclock -w 命令進行寫入客戶端的BIOS。如果需要定時同步,可以利用crontab每小時(或者每分鐘)同步一次即可,這裏我用的時每分鐘。
crontab -e #編輯定時任務
*/1 * * * * /usr/sbin/ntpdate 192.168.1.3 >>/usr/local/logs/crontab/ntpdate.log
crontab -l #查看任務
配置結束。