Linux搭建NTP時間服務器
1. NTP簡介
NTP(Network Time Protocol 網絡時間協議)是一個用於同步計算機時鐘的網絡協議。它可以使計算機與其他服務器或時鐘源進行時間同步,進行高精度的時間校正。
簡而言之,NTP就是使一台或多台服務器(客戶端)與時間服務器(服務端)之間進行時間同步(即客戶端與服務端的時間同步),以保證時間的統一性
2. NTP服務器架設
上面提到客戶端與服務端的時間同步,現在就先來架設NTP服務端(即NTP時間服務器)
2.1 系統環境
OS: Debian 7.0 amd64
source: deb http://ftp.debian.org/debian wheezy main contrib non-free
2.2 架設NTP服務器
2.2.1 安裝NTP服務軟件
# aptitude install ntp
2.2.2. 編輯ntp配置文件
# nano /etc/ntp.conf
最簡單的配置就是修改一條信息,具體如下:
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap
然後保存退出即可
2.2.3 重啟NTP服務
# invoke-rc.d ntp restart
這樣NTP時間服務器就架設好了
2.3 客戶端配置
NTP時間服務器有了,那麼客戶端如何與這台服務器進行時間同步呢?,我們繼續
2.3.1 安裝時間同步程序客戶端
# aptitude install ntpdate
2.3.1 讓客戶端與時間服務器(192.168.61.85)進行時間同步
# ntpdate 192.168.61.85
若執行完命令出現如下提示,則表示已同步成功
ntpdate[23636]: adjust time server 192.168.61.85 offset -0.052088 sec
2.3.2 上面的命令只是客戶端與時間服務器的一次同步,若想周期性的進行時間同步,那我們就要添加計劃任務了
# crontab -e
在最後一行添加如下內容:
0 1 * * * /usr/sbin/ntpdate 192.168.61.85
每天凌晨1:00進行時間同步
至此,NTP時間服務器的架設和使用就算結束了。接下來是關於NTP配置文件ntp.conf的一些配置說明,僅供參考:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在配置文件/etc/ntp.conf中主要包括以下幾個參數
1. restrict <IP 地址><子網掩碼>|<網段> <子網掩碼> [ ignore|nomodify|noquery|notrap|notrust|nokod ]: 指定可以進行NTP通信的IP地址或網段
1.1 ignore:關閉所有NTP服務
1.2 nomodify :表示客戶端不能更改NTP服務器的時間參數,但可以通過NTP服務器進行時間校對
1.3 noquery: 不提供NTP服務
1.4 notrap:不提供trap遠程事件登錄的功能
1.5 notrust: 聚聚沒有通過認證的客戶端
1.6 kod:kod技術可以組織“Kiss of Death”包(一種DOS攻擊)對服務器的破壞,使用此參數將開啟該功能
1.7 nopeer:不與其他同一層的NTP服務器進行時間同步
若果沒有指定選項,那就表示指定的客戶端在訪問NTP服務器時沒有任何限制
2. server [IP|FQDN] [prefer]:指定該NTP服務器上層NTP服務器,如果有多個上層NTP服務器,則參考prefer的優先級進行時間同步,prefer越小優先級越高
3. broadcast 網段 子網掩碼:指定進行NTP時間廣播的網段,在不指定此參數時NTP服務器會對所有能訪問的網段廣播
查看時間同步信息的命令:
# ntpq -p
下面對部分參數進行說明:
remote: 本地主機所連接的上層NTP服務器
st:NTP服務器優先級
when:上次與NTP服務器同步的時間(單位:s)
poll:下次與NTP服務器同步的時間(單位:s)
delay:從本地發出時間同步命令給遠程時間服務器開始,到整個時間同步完成所需時間(單位:10^-6s)
offset:本地主機與時間服務器的時間差(同步後將自動糾正)
jitter:一個offset的分布統計值,該值越小,表示時間越精確