今天閒來無事搭建ntp服務器。原理暫不在這篇說明,請參看ntp協議原理。html
os centos6.4
shell
install yum install ntpcentos
下面該修改/etc/ntp.conf文件,其餘參數請參看man ntp.conf服務器
先大體介紹一下相關參數網絡
ntp restrict 來管理權限控制 restrict IP mask netmask parameter parameter 選項 ignore 拒絕全部類型的NTP聯機 nomodify 客戶端不能更改NTP服務器的時間參數,這表示客戶端不能使用ntpc和ntpq 這兩個程序來修改服務器。但客戶端仍可經過這臺主機來進行網絡較時。 noquery 客戶端不能使用ntpq、ntpc 等指令來查詢時間服務器,等於不提供ntp的網絡較時 notrap 不提供trap 這個遠程事件登陸的功能 notrust 拒絕沒有認證的客戶端
利用server設置上層NTP服務器 server IP [perfer] #prefer表示優先使用主機
以driftfile 記錄時間的差別 driftfile 目錄與文件 driftfile 後面接的文件須要使用完整路徑的文件名 該文件不能是連接文件 該文件須要設置成ntpd這個Daemon能夠寫入的權限 該文件所記錄的數值單位爲百萬分之一秒ppm
keys [key_file] 除了以restrice來限制客戶端的聯機以外,也能夠經過密鑰系統來給客戶端認證
按照以上的東東寫了一個server_template測試
#restrict restrict default nomodify notrap noquery restrict server1 restrict server2 restrict server3 restrict 127.0.0.1 restrict -6 ::1 restrict 10.17.90.0 mask 255.255.255.0 nomodify restrict 10.17.90.1 #server source server server1 prefer server server2 server server3 restrict 1.cn.pool.ntp.org restrict ntp.sjtu.edu.cn restrict time.nist.gov restrict ntp.nasa.gov restrict 133.100.11.8 server 133.100.11.8 prefer server 1.cn.pool.ntp.org server ntp.sjtu.edu.cn server time.nist.gov server ntp.nasa.gov # server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 8 # driftfile info driftfile /var/lib/ntp/drift broadcastdelay 0.008 #about keys keys /etc/ntp/keys
/etc/init.d/ntpd restartspa
client_template
.net
restrict default kod nomodify notrap noquery nopeer restrict 127.0.0.1 restrict 10.17.90.0 mask 255.255.255.255 nomodify notrap restrict 10.17.90.1 server 10.17.90.1 prefer driftfile /var/lib/ntp/drift logfile /var/log/ntp.log
/etc/init.d/ntpd restartrest
若是想讓BIOS也同步一下的話,須要添加參數code
echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpd
不建議客戶端直接ntpdate IP && hwclock -w 放在crontab更新,請參看ntpd與ntpdate的區別
我服務器時間同步的首次更新過程是
/etc/init.d/ntpd stop
ntpdate IP && hwclock -w
/etc/init.d/ntpd restart
查看ntp同步的服務器狀況請參看ntpq -p 裏面的參數
remote: 它指的就是本地機器所鏈接的遠程NTP服務器 refid: 它指的是給遠程服務器(e.g. 193.60.199.75)提供時間同步的服務器 st: 遠程服務器的層級別(stratum). 因爲NTP是層型結構,有頂端的服務器,多層的Relay Server再到客戶端. 因此服 務器從高到低級別能夠設定爲1-16. 爲了減緩負荷和網絡堵塞,原則上應該避免直接鏈接到級別爲1的服務器的. when: 我我的把它理解爲一個計時器用來告訴咱們還有多久本地機器就須要和遠程服務器進行一次時間同步 poll: 本地機和遠程服務器多少時間進行一次同步(單位爲秒). 在一開始運行NTP的時候這個poll值會比較小,那樣和 服務器同步的頻率也就增長了,能夠儘快調整到正確的時間範圍.以後poll值會逐漸增大,同步的頻率也就會相應 減少 reach: 這是一個八進制值,用來測試可否和服務器鏈接.每成功鏈接一次它的值就會增長 delay: 從本地機發送同步要求到服務器的round trip time offset: 這是個最關鍵的值, 它告訴了咱們本地機和服務器之間的時間差異. offset越接近於0,咱們就和服務器的時間 越接近 jitter: 這是一個用來作統計的值. 它統計了在特定個連續的鏈接數裏offset的分佈狀況. 簡單地說這個數值的絕對值 越小咱們和服務器的時間就越精確
ntpstat 客戶端或服務端同步服務器狀態
[root@ntp]# ntpstat synchronised to NTP server (10.17.90.1) at stratum 4 time correct to within 72 ms polling server every 256 s
其餘參數請參看man
NTP 服務器名稱 time.buptnet.edu.cn IPv4 + IPv6 北京郵電大學NTP一級服務器 time.join.uni-muenster.de IPv4 + IPv6 time6.ipv6.uni-muenster.de IPv6 ntp6.space.net IPv4 + IPv6 ntp.ipv6.uni-leipzig.de IPv4 + IPv6 ntp.rhrk.uni-kl.de IPv4 + IPv6 ntp6.remco.org IPv6 chime3.ipv6.surfnet.nl