時間服務器的應用場景一般不是很複雜,通常都爲局域網內部作同步時間使用,安裝起來也比較簡便。centos
1、安裝:bash
# yum install -y ntp
2、當咱們的服務器須要同步時間時,有兩種應用場景,一種爲咱們的服務器做爲客戶端,向其餘的時間服務器同步時間,另外一種是咱們的服務器向外提供同步時間的服務,服務器端運行了ntpd服務,也一般是用來爲咱們的內網其餘服務器提供時間校準服務,具體的配置以下:服務器
一、當主機做爲客戶端僅同步時間時的配置方式:ide
默認的配置文件中設置的是不容許其餘客戶端來同步時間的,由下面的設置決定:ui
restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery
而客戶端是能夠向上級的時間服務器請求同步時間的,在配置文件中默認提供的上游服務器爲:spa
server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst
因此做爲客戶端的時間服務器的配置很簡單,在安裝完ntpd以後,直接啓動就能夠了,不過前提條件是這臺主機要能聯網,由於在配置文件中定義的上級服務器都是互聯網上的時間服務器,因此須要和這些時間服務器通訊就須要聯網,而後啓動ntpd服務就能夠了。不過一般狀況下咱們的內網客戶端極可能有些是不能直接聯網的,因此這個時候咱們須要爲其提供內網的一臺時間服務器,這臺時間服務器能夠聯網,而咱們的客戶端主機的配置文件中添加語句指向咱們的內網服務器便可,好比,咱們的內網服務器IP地址爲172.16.103.100,那麼在配置文件中的server列表中添加以下內容:rest
server 172.16.103.100
固然前面定義的默認時間服務器就能夠註釋掉了。而後啓動ntpd服務:orm
# service ntpd start #啓動服務server
# chkconfig ntpd on #設置爲開機自動啓動服務,免去手動啓動服務的麻煩。(建議使用這種方式)dns
這樣同步時間的好處是能夠逐步的縮短與服務器之間的時間差,而不是直接同步時間與服務器徹底一致,那樣的話,在這臺客戶端的時間記錄中有一段空白。若是確實須要快速的同步時間與服務器一致的話,可使用:
# ntpdate 172.16.103.100 #直接同步時間與服務器時間一致,這種方式也能夠,也能夠設置成周期性任務計劃的方式同步時間。例如:
# crontab -e */5 * * * * /usr/sbin/ntpdate 172.16.103.100 &> /dev/null #每隔5分鐘同步自動同步時間。
二、做爲時間服務器時的配置:
若是當前主機要做爲內網的時間服務器使用,提供其餘主機同步時間使用,那麼就須要修改配置文件中的默認設置:
restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery
其設定是不容許其餘的客戶端查詢,咱們須要設定爲下面的兩種方式,任意一種均可以,具體的設定看使用的須要:
restrict default nomodify #容許任意客戶端主機來同步時間,但不容許修改服務器端參數 restrict 172.16.0.0 mask 255.255.0.0 nomodify #僅容許172.16網段的主機來同步時間,但不容許修改服務器端的參數。
另外在配置文件中默認就已經定義了幾個Linux推薦使用的服務器,Server關鍵字後面帶上服務器的名稱的字段就是,這幾個服務器默認就是啓用的:
若是當前的主機能夠聯網,那麼直接啓動ntpd服務,就能夠自動的同步時間了,而且爲內網的其餘主機提供時間同步服務了。不過建議設置一些離咱們比較近的服務器,那樣同步時間效率要高,好比:
restrict 210.72.145.44 #受權國家授時中心服務器訪問本地NTP restrict 133.100.11.8 #受權133.100.11.8訪問本地NTP server 210.72.145.44 prefer #指定上級更新時間服務器,優先使用這個地址 server 133.100.11.8
若是不設置這些服務器,使用默認的服務器,只設定容許客戶端來查詢是沒有任何問題的,只是當啓動ntpd服務之後,這臺時間服務器須要與上級的服務器通訊並同步時間,這是須要必定時間的,大約須要5分鐘左右的時間才能同步完成,而指定的默認服務器極可能同步須要的時間更長,而這期間客戶端鏈接該服務器同步時會提示,而咱們的服務器設置是沒有問題的,不要誤判爲服務器有問題:
no server suitable for synchronization found
在配置文件中有一些參數,具體的含義以下,供你們參考:
restrict <IP 地址><子網掩碼>|<網段> <子網掩碼> [ ignore|nomodify|noquery|notrap|notrust|nokod ]: 指定能夠進行NTP通訊的IP地址或網段
ignore:關閉全部NTP服務 nomodify :表示客戶端不能更改NTP服務器的時間參數,但能夠經過NTP服務器進行時間校對 noquery: 不提供NTP服務 notrap:不提供trap遠程事件登陸的功能 notrust: 聚聚沒有經過認證的客戶端 kod:kod技術能夠組織「Kiss of Death」包(一種DOS***)對服務器的破壞,使用此參數將開啓該功能 nopeer:不與其餘同一層的NTP服務器進行時間同步
若是沒有指定選項,那就表示指定的客戶端在訪問NTP服務器時沒有任何限制
在查詢時間同步信息時使用的命令:
[root@server ~]# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== dns.sjtu.edu.cn .STEP. 16 u - 1024 0 0.000 0.000 0.000 +news.neu.edu.cn 236.43.203.76 2 u 136 256 353 93.562 -4.175 11.871 *dns1.synet.edu. 223.255.185.2 2 u 162 256 377 92.719 -2.292 1.655
下面對這個命令顯示的結果部分參數進行說明:
remote: 本地主機所鏈接的上層NTP服務器 st:NTP服務器優先級 when:上次與NTP服務器同步的時間(單位:s) poll:下次與NTP服務器同步的時間(單位:s) delay:從本地發出時間同步命令給遠程時間服務器開始,到整個時間同步完成所需時間(單位:10^-6s) offset:本地主機與時間服務器的時間差(同步後將自動糾正) jitter:一個offset的分佈統計值,該值越小,表示時間越精確