為了避免Linux系統(tǒng)的主機(jī)馏臭,在長時(shí)間運(yùn)行下所導(dǎo)致的時(shí)間偏差舔庶。因此我們需要對時(shí)間進(jìn)行時(shí)間同步(synchronize)白胀。我們一般使用ntp服務(wù)來同步不同機(jī)器的時(shí)間。NTP 是網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Protocol)的簡稱谈秫,他是通過UDP協(xié)議扒寄,對時(shí)間進(jìn)行同步的。
ubuntu下NTP-Server安裝及配置
安裝NTP包
sudo apt-get install ntp
NTP配置
編輯NTP Server的主要配置文件為/etc/ntp.conf 拟烫,如下:
driftfile /var/lib/ntp/ntp.drift
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
#server 0.ubuntu.pool.ntp.org
#server 1.ubuntu.pool.ntp.org
#server 2.ubuntu.pool.ntp.org
#server 3.ubuntu.pool.ntp.org
server s1a.time.edu.cn prefer
server s2a.time.edu.cn
server s2b.time.edu.cn
server s2e.time.edu.cn
#server ntp.ubuntu.com
server 127.127.1.0
fudge 127.127.1.0 stratum 5
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 172.17.0.0 mask 255.255.0.0 nomodify
restrict 127.0.0.1
restrict ::1
配置含義:
restrict s2a.time.edu.cn prefer
server s2a.time.edu.cn
server s2b.time.edu.cn
server s2e.time.edu.cn
server 127.127.1.0
fudge 127.127.1.0 stratum 5
設(shè)定NTP主機(jī)來源,其中prefer表示優(yōu)先同步的主機(jī)
restrict 172.17.0.0 mask 255.255.0.0 nomodify
restrict 控制相關(guān)權(quán)限
語法為: restrict IP地址 mask 子網(wǎng)掩碼 參數(shù)
其中IP地址也可以是default 该编,default 就是指所有的IP
參數(shù)有以下幾個(gè):
ignore :關(guān)閉所有的 NTP 聯(lián)機(jī)服務(wù)
nomodify:客戶端不能更改服務(wù)端的時(shí)間參數(shù),但是客戶端可以通過服務(wù)端進(jìn)行網(wǎng)絡(luò)校時(shí)构灸。
notrust :客戶端除非通過認(rèn)證上渴,否則該客戶端來源將被視為不信任子網(wǎng) NTP4.2 版本以后使用會(huì)出錯(cuò)
noquery :不提供客戶端的時(shí)間查詢:用戶端不能使用ntpq岸梨,ntpc等命令來查詢ntp服務(wù)器
notrap :不提供trap遠(yuǎn)端登陸:拒絕為匹配的主機(jī)提供模式 6 控制消息陷阱服務(wù)喜颁。陷阱服務(wù)是 ntpdq 控制消息協(xié)議的子系統(tǒng),用于遠(yuǎn)程事件日志記錄程序曹阔。
nopeer :用于阻止主機(jī)嘗試與服務(wù)器對等半开,并允許欺詐性服務(wù)器控制時(shí)鐘
kod : 訪問違規(guī)時(shí)發(fā)送 KoD 包。
restrict -6 表示IPV6地址的權(quán)限設(shè)置赃份。
server 127.127.1.0
只有在上級(jí)時(shí)鐘源失效時(shí)寂拆,NTP才會(huì)使用127.127.1.0的本地時(shí)鐘,將local時(shí)間作為ntp服務(wù)器時(shí)間提供給ntp客戶端。NTP把本地主機(jī)的時(shí)鐘也看作外部時(shí)鐘源來處理抓韩,分配的地址是127.127.1.0
fudge 127.127.1.0 stratum 5
設(shè)置本地時(shí)鐘源的層次為5纠永,這樣如果NTP服務(wù)從本地時(shí)鐘源獲取時(shí)間的話,NTP對外宣布的時(shí)間層次為6
配置完畢谒拴,重啟NTP服務(wù)尝江,使配置更改生效。
service ntp restart
查看NTP服務(wù)和上級(jí)連通狀態(tài)
ntpq -p
remote: 本機(jī)和上層ntp的ip或主機(jī)名英上,“+”表示優(yōu)先炭序,“*”表示次優(yōu)先
refid:參考上一層ntp主機(jī)地址
st:stratum階層
when:多少秒前曾經(jīng)同步過時(shí)間
poll:下次更新在多少秒后
reach:已經(jīng)向上層ntp服務(wù)器要求更新的次數(shù)
delay:網(wǎng)絡(luò)延遲
offset:時(shí)間補(bǔ)償
jitter:系統(tǒng)時(shí)間與bios時(shí)間差
配置內(nèi)網(wǎng)NTP-Clients
內(nèi)網(wǎng)其他設(shè)備作為NTP的客戶端配置,相對就比較簡單苍日,而且所有設(shè)備的配置都相同惭聂。
首先需要安裝NTP服務(wù)(與NTP-Server完全一樣)。然后找其中一臺(tái)配置/etc/ntp.conf文件相恃,配置完成驗(yàn)證通過后辜纲,拷貝到其他客戶端機(jī)器,直接使用即可。
注釋掉之前的上層服務(wù),以下幾行
pool 0.ubuntu.pool.ntp.org
pool 1.ubuntu.pool.ntp.org
pool 2.ubuntu.pool.ntp.org
pool 3.ubuntu.pool.ntp.org
pool ntp.ubuntu.com
添加本地的NTP服務(wù)器即可完成配置
server 172.17.30.100 prefer
可以用date命令查看時(shí)區(qū)
如果時(shí)區(qū)是EST需要改成CST
sudo tzselect
選擇亞洲 /中國 /北京 /然后確認(rèn)
改完后執(zhí)行如下復(fù)制語句
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
使用
ntpdate -d -u 172.17.30.100
172.17.30.100為你的NTP服務(wù)器的ip地址耕腾,顯示adjust time server 192.168.1.135 offset 0.004882 sec
這里有可能出現(xiàn)同步失敗屋摇,一般情況下原因都是本地的NTPD服務(wù)器還沒有正常啟動(dòng)起來,一般需要幾分鐘時(shí)間后才能開始同步幽邓。
也有報(bào)錯(cuò) no server suitable for synchronization found炮温,這種問題由一下兩種情況造成:
Server dropped: strata too high:
并且顯示“stratum 16”。而正常情況下stratum這個(gè)值得范圍是“0~15”牵舵。
這種問題往往是由ntp服務(wù)啟動(dòng)后還沒有和上層服務(wù)同步完成柒啤,可以等五分鐘再次查看。
Server dropped: strata no data:
這種問題一般是因?yàn)樵L問不到NTP服務(wù)畸颅,需要檢查NTP服務(wù)是否啟動(dòng)成功担巩,或者是否是被防火墻攔截。
啟動(dòng)NTP_Client
service ntp start
啟動(dòng)后没炒,查看同步情況
ntpq -p
由于是內(nèi)網(wǎng)涛癌,NTP服務(wù)很快會(huì)同步上,可以使用下面命令查看時(shí)間是否和服務(wù)器時(shí)間相同
date
本機(jī)客戶端配置完成后送火,需要同步的客戶端機(jī)器使用SCP拷貝/etc/ntp.conf拳话,命令如下,啟動(dòng)NTP服務(wù)即可种吸。
scp 172.17.30.1:/etc/ntp.conf /etc/ntp.conf