時間伺服器-NTP
本文主要從NTP通訊協議、NTP伺服器的階層概念、NTP伺服器的安裝與設定、Client的安裝和配置、NTP的啟動與觀察等幾個方面詳細介紹了NTP伺服器。
上篇文章回顧:初探Firewalld
計算機內部所記錄的的時鐘都記載於BIOS(CMOS)內的,但如果計算機上面的CMOS電池沒電了,或者是某些特殊因素導致BIOS資料被清除,此時計算機的時間就會不準。在實際生活中,我們可以透過電視臺,廣播臺,電話來調整我們的手錶,那麼在網路上,就需要NTP這個伺服器讓我們的主機隨時保持正確的時間資訊。
全球有多少時區?GMT在那個時區?
全球有24個時區,因為繞地球一週360度,這360度分為24個時區,當然一個時區就是15度了,又由於是以格林尼治時間(Greenwich Mean Time,GMT時間)為標準時間,儘管其後採用北京時間為標準時間,但linux並沒有反映這一變化,所以在linux中預設定義時區時看不到北京時間。又因為我國在格林尼治的東方,因此北京時間(local time)會比GMT時間快8小時(GMT +8)
Network Time Protocol,如何在server與client同步他們的時間呢?
1)首先,主機當然要啟動這個daemon
2)之後client 會向NTP server 校對時間的message
3)然後 NTP Server 會送出目前的標準時間給 Client
4)Client 接收了來自 Server 的時間後,調整自己的時間,達成了網路校時
ntp 這個 daemon 是以 port 123 為連線的埠(使用 UDP 封包),所以我們要利用 Time server 來進行時間的同步更新時,就得要使用 NTP 軟體提供的 ntpdate 來進行 port 123 的連線。
由於 NTP 時間伺服器採用類似階層架構 (stratum) 來處理時間的同步化, 所以他使用的是類似一般 server/client 的主從架構。網路社會上面有提供一些主要與次要的時間伺服器, 這些均屬於第一階及第二階的時間伺服器 (stratum-1, stratum-2)
Tips: 其實 NTP 的階層概念與 DNS 很類似啦,當你架設一部 NTP 主機,這部 NTP 所向上要求同步化的那部主要主機為 stratum-1 時,那麼你的 NTP 就是 stratum-2 ,舉例來說,如果我們的 NTP 是向臺灣的 tock.stdtime.gov.tw 這部 stratum-2 的主機要求時間同步化,那我們的主機即為 stratum-3 ,如果還有其他的 NTP 主機向我們要求時間同步, 那麼該部主機則會是 stratum-4 啦!就這樣啊~ 那最多可以有幾個階層?最多可達 15 個階層。
rpm -qa | grep "ntp" #檢視是否已經安裝ntp元件,有如下兩個元件說明已經安裝 ntpdate-4.2.6p5-1.el6.centos.x86_64 ntp-4.2.6p5-1.el6.centos.x86_64
yum -y install ntp1.3 ntp
配置檔案
/etc/ntp.conf
配置檔案預設內容
egrep -v "^$|#" ntp.conf #排除預設註釋及空行
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery #對預設的client拒絕所有操作
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 #允許本地地址的一切操作
restrict -6 ::1
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
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
修改配置
cat /etc/ntp.conf driftfile /var/lib/ntp/drift restrict default kod nomodify notrap nopeer noquery #對預設的client拒絕所有操作 restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 #允許本機的一切操作 restrict 192.168.1.0 mask 255.255.255.0 nomodify #允許區域網內所有client連線到這臺伺服器 restrict -6 ::1 同步時間.但是拒絕讓他們修改伺服器上的時間 #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 server ntp1.aliyun.com #同步公網的時間 server 127.127.1.0 #如果無法連線公網,則使用自己本身的時間作為標準時間。 fudge 127.127.1.0 stratum 10 #設定stratum級別 includefile /etc/ntp/crypto/pw keys /etc/ntp/keys
ignore:關閉所有的 NTP 聯機服務
nomodify:客戶端不能更改服務端的時間引數,但是客戶端可以透過服務端進行網路校時
notrust:客戶端除非透過認證,否則該客戶端來源將被視為不信任子網
noquery:不提供客戶端的時間查詢
客戶端的安裝同伺服器,如上。
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
#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
server ntpserver #<==新增自己的時間伺服器
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
在伺服器端啟動NTP服務,命令如下:
/etc/init.d/ntpd start
新增開啟啟動:
chkconfig ntpd on
這樣就表示我們的 NTP 伺服器已經啟動了,不過要與上層 NTP 伺服器聯機則還需要一些時間, 通常啟動 NTP 後約在 15 分鐘內才會和上層 NTP 伺服器順利連線上。 那要如何確認我們的 NTP 伺服器有順利的更新自己的時間呢?你可以使用底下幾個指令來查閱喔 (請自行等待數分鐘後再以下列指令查閱):
這個指令可以列出我們的 NTP 伺服器有跟上層聯機否。由上述的輸出結果可以知道,時間有校正約 258 * 10^(-3) 秒,且每隔 512秒會主動去更新時間喔!
各個引數的含義:
事實上這個輸出的結果告訴我們,時間真的很準了啦!因為差異都在 0.001 秒以內, 可以符合我們的一般使用了。另外,你也可以檢查一下你的 BIOS 時間與 Linux 系統時間的差異, 就是 /var/lib/ntp/drift 這個檔案的內容,就能瞭解到我們們的 Linux 系統時間與 BIOS 硬體時鐘到底差多久?單位為 10^(-6) 秒啦!
要讓你的 NTP Server/Client 真的能運作,在上述的動作中得注意:
上述的 ntpstat 以及 ntpq -p 的輸出結果中,你的 NTP 伺服器真的要能夠連結上層 NTP 才行! 否則你的客戶端將無法對你的 NTP 伺服器進行同步更新的!重要重要!
你的 NTP 伺服器時間不可與上層差異太多。
伺服器防火牆在 UDP port 123 有沒有開啊?要特別注意的呢!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559359/viewspace-2558431/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux使用ntp時間伺服器同步時間Linux伺服器
- linux 配置ntp時間伺服器Linux伺服器
- 兩臺伺服器時間同步(NTP)伺服器
- NTP時間同步
- NTP時間伺服器優先順序配置伺服器
- Windows NTP 時間伺服器 資訊 登錄檔Windows伺服器
- NTP配置時間同步
- NTP時間同步 For AIXAI
- NTP時間同步伺服器(時鐘同步)工作原理介紹伺服器
- CentOS7使用NTP搭建時間同步伺服器CentOS伺服器
- Centos下部署NTP時間伺服器同步環境CentOS伺服器
- linux ntp時間同步Linux
- NTP時間同步伺服器(區域網時鐘同步)解決方案伺服器
- Linux叢集環境下NTP伺服器時間同步Linux伺服器
- centos下部署NTP時間伺服器同步環境記錄CentOS伺服器
- Linux時間同步+國內常用的NTP伺服器地址Linux伺服器
- Linux下配置NTP 架設本地時間伺服器(zt)Linux伺服器
- Oracle RAC時間同步(NTP/CTSS)Oracle
- NTP網路時間伺服器助力金融網路系統安全伺服器
- 使用NTP原理進行時間同步
- Ubuntu 時間不準,怎麼設定NTP時間同步?Ubuntu
- NTP校時(時間同步伺服器)IPC網路攝像機時鐘問題排查伺服器
- Linux時區設定及NTP時間同步Linux
- NTP系統時間同步-操作記錄
- 時間同步協議NTP - 原理&實踐協議
- .NET實現獲取NTP伺服器時間並同步(附帶Windows系統啟用NTP服務功能)伺服器Windows
- NTP網路時間伺服器原理及功能介紹(京準電子)伺服器
- 如何讓主控制域與NTP時間同步伺服器通訊起來伺服器
- Windows ntp時間同步設定(bat指令碼)WindowsBAT指令碼
- LINUX 解決時間同步問題(NTP)Linux
- Oracle 11G RAC ntp時間同步配置Oracle
- Oracle叢集(RAC)時間同步(ntp和CTSS)Oracle
- Linux的時間設定與同步(NTP)Linux
- ntp客戶端配置多個時間源客戶端
- NTP時間同步伺服器(北斗授時裝置)應用農產品安全追溯系統伺服器
- Linux系統時間同步方法小結(NTP)Linux
- 關於Linux下ntp 時間同步錯誤Linux
- 【NTP】Redhat5.1環境下網路時間服務NTP的安裝部署Redhat