天天看點

linux下超簡單的ntp時間伺服器

引言

目前虛拟化遍布企業的每個角落中,在給我們帶來好處的同時也帶來了一些麻煩,比如正在使用的ESXi,虛拟機的系統時間有時候是不一樣的,這樣很糟糕比如會給mysql資料庫或者日志等等造成影響,當我們手動更改時間這樣是徒勞的,由于是虛拟機即使用hwclock -w 指令也無法把系統時間寫入主控端 bios,下次重新開機虛拟機時間又變了,有沒有什麼一勞永逸的方法那?答案是使用 NTP伺服器!

安裝

原來 NTP伺服器,是使用了Network Time Protocol Daemon(UDP 123 port),Linux下的 NTP 伺服器安裝是非常簡單的,yum install ntp 就可以了。

相關配置檔案

/etc/ntp.conf

NTP服務的主要配置檔案,所有的更改全部在這裡。

/usr/share/zoneinfo

由 tzdata 所提供,規定了各主要時區的時間設定檔案,例如中國的時區設定檔案是/usr/share/zoneinfo/Asia/Chongqing。

/etc/sysconfig/clock

Linux的主要時區設定檔案。每次啟動後Linux作業系統會自動讀取這個檔案來設定系統預設要顯示的時間。如這個檔案内容為”ZONE=Asia/Chongqing”,則表示Linux作業系統的時間設定使用/usr/share/zoneinfo/Asia/Chongqing這個檔案。

/etc/localtime    

本地系統的時間設定檔案,如果clock檔案中規定了使用的時間設定檔案為/usr/share/zoneinfo/Asia/Chongqing,Linux作業系統就會将Chongqing那個檔案複制一份為/etc/localtime,是以系統的時間顯示就會以Chongqing那個時間設定檔案為準。

相關的指令

/bin/date

這個我們最經常使用了,更改及輸出日期與時間指令。

/sbin/hwclock

使用hwclock才能将修改過後的時間寫入BIOS 。

/usr/sbin/ntpd

NTP服務的守護程序,配置檔案為/etc/ntp.conf 。

/usr/sbin/ntpdate

用來連接配接NTP伺服器指令,比如ntpdate 192.168.6.51 。

/usr/sbin/ntpq

NTP查詢指令。

設定NTP伺服器

就如前邊說的NTP配置文檔隻有一個 /etc/ntp.conf,看看我的ntp.conf

#紅字的是我添加的,其它為預設!

grep -Ev '^$|^#' /etc/ntp.conf  

restrict default kod nomodify notrap nopeer noquery 

restrict -6 default kod nomodify notrap nopeer noquery 

restrict 131.107.13.100  //允許該NTP伺服器進入

restrict 114.80.81.1 //沒有任何何參數的話,這表示『該 IP或網段不受任何限制』

restrict 202.118.1.199 

restrict 127.0.0.1  

restrict -6 ::1 

restrict 192.168.0.0 mask 255.255.0.0 nomodify //該網段可以進行校時

restrict 0.0.0.0 mask 0.0.0.0 notrust //拒絕沒有認證的使用者端

server time-nw.nist.gov prefer //prefer 該伺服器優先

server 0.rhel.pool.ntp.org 

server 1.rhel.pool.ntp.org 

server 2.rhel.pool.ntp.org 

fudge   127.127.1.0 stratum 10   

driftfile /var/lib/ntp/drift 

keys /etc/ntp/keys 

别忘了啟動NTP伺服器

/etc/init.d/ntp start

用戶端測試

對了用戶端隻需要是用ntpdate指令即可,192.168.6.51 為ntp 伺服器ip 位址,就這麼就簡單!

<a href="http://blog.51cto.com/attachment/201109/160240184.png" target="_blank"></a>

相關指令

ntpstat   //列出我們的NTP 伺服器是否與上層連接配接。

synchronised to NTP server (131.107.13.100) at stratum 2  

   time correct to within 461 ms 

   polling server every 64 s 

ntpq -p  //列出目前我們的NTP伺服器 與上層NTP伺服器 的狀态,* 代表目前正在使用的上層 NTP伺服器

     remote           refid      st t when poll reach   delay   offset  jitter 

============================================================================== 

*131.107.13.100  .ACTS.           1 u   30   64   67  237.165    1.539  20.382 

 202.118.1.199   202.112.31.197   2 u   33   64   63  163.526   91.844  10.208 

權限管理使用 restrict 公式如下:

restrict IP mask [參數] / restrict 192.168.0.0 mask 255.255.0.0 nomodify

其中參數主要有底下這些:

    * ignore:拒絕所有類型的NTP的連線;

    * nomodfiy:使用者端不能使用NTPC與ntpq這兩支程式來修改伺服器的時間參數,但使用者端仍可透過這部主機來進行網路校時的;

    * noquery:使用者端不能夠使用ntpq,NTPC等指令來查詢發表伺服器,等于不提供的NTP的網路校時幂;

    * notrap:不提供陷阱這個遠端事件郵箱(遠端事件日志)的功能。

    * notrust:拒絕沒有認證的使用者端。

如果你沒有在參數的地方加上任何參數的話,這表示“該IP或網段不受任何限制的”的意思喔!一般來說,我們可以先關閉NTP的使用權限,然後再一個一個的啟用允許登入的網段。

參考

<a href="http://linux.vbird.org/linux_server/0440ntp.php" target="_blank">http://linux.vbird.org/linux_server/0440ntp.php</a>

如有問題歡迎到此讨論:37275208

本文轉自 dongnan 51CTO部落格,原文連結:http://blog.51cto.com/dngood/662451