時間伺服器 NTP

2021-09-11 09:52:13 字數 4445 閱讀 2054

本文主要從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:不提供客戶端的時間查詢

4、client的安裝和配置

客戶端的安裝同伺服器,如上。

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 真的能運作,在上述的動作中得注意:

ntp時間伺服器

兩台虛擬機器 192.168.30.139 服務端 192.168.30.143 客戶端1 安裝ntp 服務 192.168.30.139 root hadoop1 opt yum install y ntp 192.168.30.143 root hadoop2 opt yum install y...

NTP時間伺服器

ntp network time protocol 網路時間協議,工作在udp的123埠上。是用來使計算機時間同步化的一種協議,它可以使計算機對其伺服器或時鐘源 如石英鐘,gps等等 做同步化,它可以提供高精準度的時間校正 區域網上與標準間差小於1毫秒,網際網路上幾十毫秒 且可介由加密確認的方式來防...

NTP時間伺服器

yum安裝ntp和ntpdate root localhost yum y install ntp ntpdate修改配置檔案,加入以下兩行,其他server 號注釋 root localhost vim etc ntp.conf server 127.127.1.0 fudge 127.127.1...