配置ntp客戶端與伺服器端時間的同步
1,實驗機器介紹
Ip地址 |
|
伺服器1 |
192.168.245.128 |
伺服器2 |
192.168.245.130 |
客戶端1 |
192.168.245.129 |
實驗前準備
在ntpS1 和ntpS2 中,配置外部伺服器為同步伺服器,並開放給192.168.245.0/24網段同步。
server 210.72.145.44 perfer # 指定要同步的網路伺服器的ip地址
server 202.112.10.36
server 59.124.196.83
restrict 192.168.245.0 mask 255.255.255.0 nomodify notrap
關閉iptables規則。或者開放udp 123號埠,這裡實驗中是關閉
在客戶端 ntpC1中,配置同步伺服器為上面兩臺伺服器,其中優先為ntpS1.
server 192.168.245.128 prefer
server 192.168.245.130 iburst
在三臺機器上開啟ntp服務,並檢視
ntpS1 ntpS2
ntpC1
- 下列為幾種極端情況的測試結果。
- ntpS1伺服器ntp服務掛掉 檢視客戶端同步情況
在ntpC1中使用watch ntpq -p 檢視後得出結果
當ntpS1掛掉之後,會有一定的超時時間,大概10分鐘左右,然後使用ntpq -p 可以看到*轉移到ntpS2,也就是說大概10分鐘左右客戶端會與別的伺服器建立連線。
- 在實驗1之後,將ntpS1啟動,並將ntpS2關閉,檢視狀態
此時可以發現,連線轉移到了ntpS1。
- 將ntpS1和ntpS2都掛掉看看
經過漫長的等待,發現終於掛完了。。。此時*轉移到本地提供的服務
- 經過步驟3後,將ntpS1和ntpS2同時啟動
當等待10幾分鐘後,連線正常了。
- 測試當客戶端時間修改的時候,重啟客戶端的ntp服務,時間是否能正常同步。
測試結果:無論是客戶端時間比伺服器端時間快或者慢,只要重啟ntp服務時間就變會為伺服器端時間。
- 測試當客戶端關機後重新啟動,時間是否正常。
測試結果:當客戶端重啟後,ntp服務開機自動啟動,此時時間正常。
7,測試客戶端修改完時間後,將ntp服務關閉開機自啟動,然後開機。
得到結果:當關閉開機自啟動後,開機時間沒有變化。當開啟開機自啟動後,時間變為伺服器的時間。也就是說,當ntp服務啟動的時候,它會同步一次和伺服器的時間。
- Ntp配置檔案 /etc/ntp.conf 引數詳解
- ntpS1中ntp.conf檔案:
driftfile /var/lib/ntp/drift (記錄時間差異的檔案)
restrict 127.0.0.1
restrict -6 ::1
server 210.72.145.44 perfer # 指定要同步的網路伺服器的ip地址
server 202.112.10.36 (其中後面perfer表示優先,常用的有iburst,burst)
server 59.124.196.83
includefile /etc/ntp/crypto/pw (設定包含的配置檔案子檔案)
keys /etc/ntp/keys (當進行祕鑰方式進行認證的時候需要的檔案)
server 127.127.1.0 iburst # 如果server指定的伺服器無法使用, 就使用本機時鐘作為ntp服務時間來源
restrict 192.168.245.0 mask 255.255.255.0 nomodify notrap
下面詳細對restrict進行介紹,這是一個許可權控制的語句。語法如下:
ask [netmask_IP] [parameter]
如果後面不加任何引數 則表示允許對面ip或ip段的任何操作。
如:restrict 127.0.0.1
常用的引數有:
ignore: 拒絕所有型別的 NTP 聯機;
nomodify: 客戶端不能使用 ntpc 與 ntpq 這兩支程式來修改伺服器的時間引數, 但客戶端仍可透過這部主機來進行網路校時的;
noquery: 客戶端不能夠使用 ntpq, ntpc 等指令來查詢時間伺服器,等於不提供 NTP 的網路校時;
notrap: 不提供 trap 這個遠端事件登入的功能。
notrust: 拒絕沒有認證的客戶端。
- 客戶端ntpC1的配置檔案
配置檔案未做特別指出則與伺服器端一致
tinker panic 0 (這行意思是設定客戶端與伺服器端時間差距,預設最大為1000,為0為不限制。)
server 192.168.245.128 prefer minpoll 3 maxpoll 3 (minpoll表示客戶端向伺服器端同步的最少時間,單位為2的次冪最小為3,秒)
server 192.168.245.130 iburst minpoll 3 maxpoll 3(maxpoll表示客戶端向伺服器端同步的最長時間,單位為2的次冪最大為10,秒)
restrict 192.168.245.128
restrict 192.168.245.130
4,ntpq -p命令引數詳解
remote:NTP 主機的 IP 或主機名,左邊的符號
如果有『 * 』代表目前正在作用當中的上層 NTP
如果是『 + 』代表也有連上線,而且可作為下一個提供時間更新的候選者。
如果是『 - 』 表示為不合格的ntp伺服器
refid:上一層 NTP 主機的地址
st:遠端伺服器的層級別,0-16,0為最高層,
when:幾秒鐘前曾經做過時間同步化更新的動作;
poll:下一次更新在幾秒鐘之後;
reach:已經向上層 NTP 伺服器要求更新的次數
delay:網路傳輸過程當中延遲的時間,單位為 10^(-6) 秒
offset:時間補償的結果,單位與 10^(-3) 秒
jitter:Linux 系統時間與 BIOS 硬體時間的差異時間, 單位為 10^(-6) 秒。
相關推薦
配置ntp客戶端與伺服器端時間的同步
1,實驗機器介紹 Ip地址 伺服器1 192.168.245.128 伺服器2 192.168.245.130 客戶端1 192.1
APP(Android版)客戶端與伺服器端時間校準
APP開發人員經常會遇見一個bug就是,APP顯示的時間不準,或者說APP時間與伺服器時間不一致,會導致資料請求、資料顯示等各種問題。這時候我們就需要一種機制來解決時間不一致的問題。 解決方案如下: 1.伺服器端永遠使用UTC時間,包括引數和返回值,不要使用Date格式,而是使用UT
SVN:客戶端與伺服器端安裝、配置與使用
SVN(SUBVERSION) 前言: SVN是Subversion的簡稱,是一個開放原始碼的版本控制系統,說得簡單一點SVN就是用於多個人共同開發同一個專案,共用資源的目的。類似的工具號有git(github是其應用)。 環境:ubuntu 16.4 客戶端:w
客戶端與伺服器端時間保持一致
一、問題描述 需要解決的問題很簡單,就是如何在頁面上比較準確的顯示伺服器時間。目前比較常用的方法就是根據基準時間使用setTimeout或 setInterval來計算最新的時間,這樣的問題在於setTimeout與setInterval的時間精度比較低,經測試一分鐘大概能相差幾秒 (與電腦效能以及執行
Socket-tcp協議客戶端與伺服器端互聯
客戶端 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.T
zookeeper叢集的客戶端與伺服器端
zookeeper服務端命令: 啟動命令:sh zkServer.sh start 停止命令:sh zkServer.sh stop zookeeper客戶端命令: 啟動命令:sh zkCli.sh 連線其他客戶端:sh zkCli.sh -server ip:port  
php 客戶端與伺服器端安全與破解
一般的加密和授權:轉發伺服器(代理伺服器) 解決方案:hhvm編譯程式碼 放扒取: js類 1:防止滑鼠右鍵事件,在html->body <body oncontextmenu=self.event.returnValue=false> 或
java socket:客戶端與伺服器端通訊
Socket:網路上兩個程式通過一個雙向的通訊連線實現資料交換,連線的一段為一個socket,要實現兩個程式的資料交換一般要一對socket。 這個定義參考自百度百科,我覺得說的還不錯,另外,socket的英文有‘插口’的意思,其實也可以理解為程式的插口等等。
客戶端與伺服器端建立連線的過程
一、概述 學習計算機其實就是在通曉原理的基礎上藉助實踐驗證想法。王陽明的“知行合一”用在計算機上,也是十分的貼切。這裡先說明兩個概念 Socket、TCP。 “交流”讓智人走上食物鏈的頂端。計算機網路的發展讓交流變得更加便利,同時也促進交流技術的發展。如果有兩個網友想送
android客戶端與伺服器端互動 如何保持session
最近在開發專案的過程中,遇到android與web伺服器要在同一session下通訊的問題。 在解決問題前先回顧下Session與Cookie: Cookie和Session都為了用來儲存狀態資訊,都是儲存客戶端狀態的機制,它們都是為了解決HTTP無狀態的問題而所做
分散式資料庫資料從屬與客戶端與伺服器的資料同步
老實說,目前市面上許多產品,的確是不成熟的產品。 用過一些,給人蛋痛的感覺。 導言分佈還是集總今天我們來探討一個很重要的問題。每個程式設計師都有其思想,我的思想之一,就是分散式。 分散式,面對的一個問題,就資料的同步。 比如說,我們人類是分散式的,我們每個細胞都在無時無刻與其它細腦交換資料。 而現實
通俗易懂客戶端與伺服器端互動原理(HTTP資料請求與HTTP響應,包括Servlet部分)
經常看到HTTP客戶端與伺服器端互動原理的各種版本的文章,但是專業術語太多,且流程過於複雜,不容易消化。於是就按照在 Servlet 裡面的內容大致做了一些穿插。本來 連 Tomcat 容器 和 Servlet 的生命週期也準備在這裡一起寫的,但怕過去龐大,於是就簡單的 引用
客戶端與伺服器端互動原理簡述
Web 瀏覽器(客戶端)中請求一個地址時,通過HTTP協議向伺服器端傳送一個請求(request),伺服器端收到請求後,在Servlet中根據請求時的方法(method) 的設定get/post來響應doGet()/doPost()方法進行處理,由respons
node建立客戶端與伺服器端(HTTP)
Transfer-Encoding: chunked 在我用telnet登入伺服器的時候,伺服器返回資訊如下。 其中,我們看到這樣一條相應–Transfer-Encoding: chunked。Transfer-Encoding頭資訊的預設值是c
Android 客戶端與伺服器端進行資料互動(一、登入伺服器端)
概要 安卓APP要實現很多功能(比如登入註冊、發表評論等)時都必須要使用到網路資料互動。所以在學習了這部分內容後,就將其以最常見的登入過程為例整理出來,也方便跟我一樣的新手能迅速學習上手。 預期效果圖如下,輸入手機號和密碼,點選Login按鈕,上傳資料到伺
Java Socket通訊 客戶端與伺服器端的連線 和資訊傳輸
一.建立客戶端和伺服器端的連線。 方法分2步: 1.在客戶端建立Socket物件,用來發送連線請求 2.在伺服器端穿件ServerSocket物件,用來接收請求。 //客戶端 public clas
Android客戶端與伺服器端的json資料互動(很詳細)
Android客戶端與伺服器端的json資料互動,主要是通過json形式的資料互動,就是json的寫入和解析。 先看效果圖,我最討厭講東西,一個圖沒有的。 算了,看來我不是寫部落格的材料,寫不下去了,要排版之類的麻煩,大家還是直接去下載原始碼,裡面有大量的注
Android 客戶端與伺服器端進行資料互動(二、登入客戶端)
概要 Android客戶端分為User,HttpUtil,HttpCallbackListener,MainActivity四個部分。User model與服務端的一樣,一方面是用於本地使用者資訊的儲存model,另一方面也是為了保證構造URL時使用的key一
如何在HTTP客戶端與伺服器端之間保持狀態
HTTP協議與狀態保持 HTTP協議本身是無狀態的,這與HTTP協議本來的目的是相符的,客戶端只需要簡單的向伺服器請求下載某些檔案,無論是客戶端還是伺服器都沒有必要紀錄彼此過去的行為,每一次請求之間都是獨立的,好比一個顧客和一個自動售貨機或者一個普通的(非會員
Android客戶端與伺服器端互動方式總結
一、HttpClient 方式: //第一步:建立一個客戶端例項 HttpClient httpClient = new DefaultHttpClient(); //第二步:建立Http請求 HttpPost httpRequest = new Http