ubuntu配置ntp時間服務器

一、時間服務器作用

1.大數據產生與處理系統是各種計算設備集羣的,計算設備將統一、同步的標準時間用於記錄各種事件發生時序,如E-MAIL信息、文件創建和訪問時間、數據庫處理時間等。
2.大數據系統內不同計算設備之間控制、計算、處理、應用等數據或操作都具有時序性,若計算機時間不同步,這些應用或操作或將無法正常進行。
3.大數據系統是對時間敏感的計算處理系統,時間同步是大數據能夠得到正確處理的基礎保障,是大數據得以發揮作用的技術支撐。
4.大數據時代,整個處理計算系統內的大數據通信都是通過網絡進行。時間同步也是如此,利用大數據的互聯網絡傳送標準時間信息,實現大數據系統內時間同步。
5.網絡時間同步協議(NTP)是時間同步的技術基礎。

二、檢查ntp是否已安裝

1)確認是否已安裝ntp
【命令】rpm –qa | grep ntp
若只有ntpdate而未見ntp,則需刪除原有ntpdate。如:
ntpdate-4.2.6p5-22.el7_0.x86_64
fontpackages-filesystem-1.44-8.el7.noarch
python-ntplib-0.3.2-1.el7.noarch
2)刪除已安裝ntp
【命令】sudo apt-get remove --purge ntpdate-4.2.6p5-22.el7.x86_64
3)重新安裝ntp
【命令】sudo apt-get install ntp

三、ntp服務的配置

1)修改所有節點的/etc/ntp.conf

vi /etc/ntp.conf

restrict 192.168.6.3 nomodify notrap nopeer noquery //當前節點IP地址
restrict 192.168.6.2 mask 255.255.255.0 nomodify notrap //集羣所在網段的網關(Gateway),子網掩碼(Genmask)
2)選擇一個主節點,修改其/etc/ntp.conf

vi /etc/ntp.conf

在server部分添加一下部分,並註釋掉server 0 ~ n
server 127.127.1.0
Fudge 127.127.1.0 stratum 10

3)主節點以外,繼續修改/etc/ntp.conf

vi /etc/ntp.conf

在server部分添加如下語句,將server指向主節點。
server 192.168.6.3
Fudge 192.168.6.3 stratum 10

修改前
在這裏插入圖片描述
修改後
節點1(192.168.6.3):
在這裏插入圖片描述
節點2(192.168.6.4):
在這裏插入圖片描述
節點3(192.168.6.5):
在這裏插入圖片描述

四、啓動ntp服務、查看狀態

1)啓動ntp服務

service ntpd start

2)查看ntp服務器有無和上層ntp連通

ntpstat

在這裏插入圖片描述
查看ntp狀態時,可能會出現如下所示情況
① unsynchronised time server re-starting polling server every 8 s
在這裏插入圖片描述
② unsynchronised polling server every 8 s

在這裏插入圖片描述
這種情況屬於正常,ntp服務器配置完畢後,需要等待5-10分鐘才能與/etc/ntp.conf中配置的標準時間進行同步。
等一段時間之後,再次使用ntpstat命令查看狀態,就會變成如下正常結果:
在這裏插入圖片描述
3)查看ntp服務器與上層ntp的狀態

ntpq -p

在這裏插入圖片描述
remote:本機和上層ntp的ip或主機名,“+”表示優先,“*”表示次優先
refid :參考上一層ntp主機地址
st :stratum階層
when :多少秒前曾經同步過時間
poll :下次更新在多少秒後
reach :已經向上層ntp服務器要求更新的次數
delay :網絡延遲
offset :時間補償
jitter :系統時間與bios時間差
4)查看ntpd進程的狀態

watch "ntpq -p"

在這裏插入圖片描述
第一列中的字符指示源的質量。星號 ( * ) 表示該源是當前引用。
remote:列出源的 IP 地址或主機名。
when:指出從輪詢源開始已過去的時間(秒)。
poll:指出輪詢間隔時間。該值會根據本地時鐘的精度相應增加。
reach:是一個八進制數字,指出源的可存取性。值 377 表示源已應答了前八個連續輪詢。
offset:是源時鐘與本地時鐘的時間差(毫秒)。

五、設置開機啓動

chkconfig ntpd on

六、細節整理

/etc/ntp.conf 配置內容
1. 先處理權限方面的問題,包括放行上層服務器以及開放局域網用戶來源:
restrict default kod nomodify notrap nopeer noquery <==拒絕 IPv4 的用戶
restrict -6 default kod nomodify notrap nopeer noquery <==拒絕 IPv6 的用戶
restrict 220.130.158.71 <==放行 tock.stdtime.gov.tw 進入本 NTP 的服務器
restrict 59.124.196.83 <==放行 tick.stdtime.gov.tw 進入本 NTP 的服務器
restrict 59.124.196.84 <==放行 time.stdtime.gov.tw 進入本 NTP 的服務器
restrict 127.0.0.1 <==底下兩個是默認值,放行本機來源
restrict -6 ::1
restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行局域網用戶來源,或者列出單獨IP
2. 設定主機來源,請先將原本的 [0|1|2].centos.pool.ntp.org 的設定批註掉:
server 220.130.158.71 prefer <==以這部主機爲最優先的server
server 59.124.196.83
server 59.124.196.84
3.默認的一個內部時鐘數據,用在沒有外部 NTP 服務器時,使用它爲局域網用戶提供服務:
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
4.預設時間差異分析檔案與暫不用到的 keys 等,不需要更動它:
driftfile /var/lib/ntp/drift
keys /etc/ntp/keys

restrict選項格式

restrict [ 客戶端IP ] mask [ IP掩碼 ] [參數]
“客戶端IP” 和 “IP掩碼” 指定了對網絡中哪些範圍的計算機進行控制,如果使用default關鍵字,則表示對所有的計算機進行控制,參數指定了具體的限制內容,常見的參數如下:
◆ ignore:拒絕連接到NTP服務器
◆ nomodiy: 客戶端不能更改服務端的時間參數,但是客戶端可以通過服務端進行網絡校時。
◆ noquery: 不提供客戶端的時間查詢
◆ notrap: 不提供trap遠程登錄功能,trap服務是一種遠程時間日誌服務。
◆ notrust: 客戶端除非通過認證,否則該客戶端來源將被視爲不信任子網 。
◆ nopeer: 提供時間服務,但不作爲對等體。
◆ kod: 向不安全的訪問者發送Kiss-Of-Death報文。

server選項格式

server host [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ]

其中host是上層NTP服務器的IP地址或域名,隨後所跟的參數解釋如下所示:
◆ key: 表示所有發往服務器的報文包含有祕鑰加密的認證信息,n是32位的整數,表示祕鑰號。
◆ version: 表示發往上層服務器的報文使用的版本號,n默認是3,可以是1或者2。
◆ prefer: 如果有多個server選項,具有該參數的服務器有限使用。
◆ mode: 指定數據報文mode字段的值。
◆ minpoll: 指定與查詢該服務器的最小時間間隔爲2的n次方秒,n默認爲6,範圍爲4-14。
◆ maxpoll: 指定與查詢該服務器的最大時間間隔爲2的n次方秒,n默認爲10,範圍爲4-14。
◆ iburst: 當初始同步請求時,採用突發方式接連發送8個報文,時間間隔爲2秒。

查看網關方法

【命令1】route -n
【命令2】ip route show
【命令3】netstat -r

層次(stratum)

stratum根據上層server的層次而設定(+1)。
對於提供network time service provider的主機來說,stratum的設定要儘可能準確。
而作爲局域網的time service provider,通常將stratum設置爲10
在這裏插入圖片描述
0層的服務器採用的是原子鐘、GPS鍾等物理設備,stratum 1與stratum 0 是直接相連的,
往後的stratum與上一層stratum通過網絡相連,同一層的server也可以交互。
ntpd對下層client來說是service server,對於上層server來說它是client。
ntpd根據配置文件的參數決定是要爲其他服務器提供時鐘服務或者是從其他服務器同步時鐘。所有的配置都在/etc/ntp.conf文件中。
在這裏插入圖片描述

注意防火牆屏蔽ntp端口

ntp服務器默認端口是123,如果防火牆是開啓狀態,在一些操作可能會出現錯誤,所以要記住關閉防火牆。
(1)關閉防火牆:
1>ufw disable

root@jwx-merit:/etc/init.d# ufw disable

防火牆在系統啓動時自動禁用

root@jwx-merit:/etc/init.d# ufw status

狀態:不活動
2>永久關閉防火牆:

chkconfig iptables off

(2)開放123端口

 iptables -t filter -A INPUT -p udp --destination-port 123 -j ACCEPT

同步硬件時鐘

ntp服務,默認只會同步系統時間。
如果想要讓ntp同時同步硬件時間,可以設置/etc/sysconfig/ntpd文件,
在/etc/sysconfig/ntpd文件中,添加【

SYNC_HWCLOCK=yes

這樣,就可以讓硬件時間與系統時間一起同步。
允許BIOS與系統時間同步,也可以通過hwclock -w 命令。

ntpd、ntpdate的區別

網上關於ntpd與ntpdate區別的相關資料。
使用之前得弄清楚一個問題,ntpd與ntpdate在更新時間時有什麼區別:
ntpd不僅僅是時間同步服務器,它還可以做客戶端與標準時間服務器進行同步時間,而且是平滑同步,並非ntpdate立即同步,在生產環境中慎用ntpdate,也正如此兩者不可同時運行。
時鐘的躍變,對於某些程序會導致很嚴重的問題。
許多應用程序依賴連續的時鐘——畢竟,這是一項常見的假定,即,取得的時間是線性的,
一些操作,例如數據庫事務,通常會地依賴這樣的事實:時間不會往回跳躍。
不幸的是,ntpdate調整時間的方式就是我們所說的”躍變“:在獲得一個時間之後,ntpdate使用settimeofday(2)設置系統時間,

這有幾個非常明顯的問題:
【一】這樣做不安全。
ntpdate的設置依賴於ntp服務器的安全性,攻擊者可以利用一些軟件設計上的缺陷,拿下ntp服務器並令與其同步的服務器執行某些消耗性的任務。
由於ntpdate採用的方式是跳變,跟隨它的服務器無法知道是否發生了異常(時間不一樣的時候,唯一的辦法是以服務器爲準)。
【二】這樣做不精確。
一旦ntp服務器宕機,跟隨它的服務器也就會無法同步時間。
與此不同,ntpd不僅能夠校準計算機的時間,而且能夠校準計算機的時鐘。
【三】這樣做不夠優雅。
由於是跳變,而不是使時間變快或變慢,依賴時序的程序會出錯
(例如,如果ntpdate發現你的時間快了,則可能會經歷兩個相同的時刻,對某些應用而言,這是致命的)。因而,唯一一個可以令時間發生跳變的點,是計算機剛剛啓動,但還沒有啓動很多服務的那個時候。其餘的時候,理想的做法是使用ntpd來校準時鐘,而不是調整計算機時鐘上的時間。NTPD在和時間服務器的同步過程中,會把BIOS計時器的振盪頻率偏差——或者說Local Clock的自然漂移(drift)——記錄下來。
這樣即使網絡有問題,本機仍然能維持一個相當精確的走時。

國內常用NTP服務器地址及IP

210.72.145.44 (國家授時中心服務器IP地址)
133.100.11.8 日本 福岡大學
time-a.nist.gov 129.6.15.28 NIST, Gaithersburg, Maryland
time-b.nist.gov 129.6.15.29 NIST, Gaithersburg, Maryland
time-a.timefreq.bldrdoc.gov 132.163.4.101 NIST, Boulder, Colorado
time-b.timefreq.bldrdoc.gov 132.163.4.102 NIST, Boulder, Colorado
time-c.timefreq.bldrdoc.gov 132.163.4.103 NIST, Boulder, Colorado
utcnist.colorado.edu 128.138.140.44 University of Colorado, Boulder
time.nist.gov 192.43.244.18 NCAR, Boulder, Colorado
time-nw.nist.gov 131.107.1.10 Microsoft, Redmond, Washington
nist1.symmetricom.com 69.25.96.13 Symmetricom, San Jose, California
nist1-dc.glassey.com 216.200.93.8 Abovenet, Virginia
nist1-ny.glassey.com 208.184.49.9 Abovenet, New York City
nist1-sj.glassey.com 207.126.98.204 Abovenet, San Jose, California
nist1.aol-ca.truetime.com 207.200.81.113 TrueTime, AOL facility, Sunnyvale, California
nist1.aol-va.truetime.com 64.236.96.53 TrueTime, AOL facility, Virginia
————————————————————————————————————
ntp.sjtu.edu.cn 202.120.2.101 (上海交通大學網絡中心NTP服務器地址)
s1a.time.edu.cn 北京郵電大學
s1b.time.edu.cn 清華大學
s1c.time.edu.cn 北京大學
s1d.time.edu.cn 東南大學
s1e.time.edu.cn 清華大學
s2a.time.edu.cn 清華大學
s2b.time.edu.cn 清華大學
s2c.time.edu.cn 北京郵電大學
s2d.time.edu.cn 西南地區網絡中心
s2e.time.edu.cn 西北地區網絡中心
s2f.time.edu.cn 東北地區網絡中心
s2g.time.edu.cn 華東南地區網絡中心
s2h.time.edu.cn 四川大學網絡管理中心
s2j.time.edu.cn 大連理工大學網絡中心
s2k.time.edu.cn CERNET桂林主節點
s2m.time.edu.cn 北京大學

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章