當前位置:首頁 » 雲伺服器 » 伺服器ntp如何查看

伺服器ntp如何查看

發布時間: 2022-11-18 12:51:32

『壹』 如何查詢其它ntp伺服器的stratum

使用ntpq -p命令就可以查詢到,結果中的st值就是 stratum
[root@localhost ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
=====================================================================
+ntp5.flashdance 192.36.143.130 2 u 71 128 325 344.901 0.719 12.569
-101.6.6.172 69.36.224.15 2 u 125 128 377 350.326 -162.96 17.806
ntp.wdc1.us.lea .INIT. 16 u - 1024 0 0.000 0.000 0.000
+ntp1.flashdance 192.36.143.234 2 u 124 128 377 323.964 -4.653 7.616
*ntp1.rrze.uni-e .DCFp. 1 u 41 128 377 346.833 -5.880 6.771
LOCAL(0) .LOCL. 8 l 1948 64 0 0.000 0.000 0.000

『貳』 檢查 ntp 伺服器是否有效 linux

1、連接上相應的linux主機,進入到等待輸入shell指令的linux命令行狀態下。

『叄』 怎麼查看本機ntp伺服器的ip

在本機ntp伺服器編輯 /etc/ntp.conf 文件。
輸入:# rm -rf /etc/ntp.conf '顯出原始ntp配置文件
# vi /etc/ntp.conf '重新編輯一份ntp配置文件
查看 server 所在這行後面的IP地址即可。

『肆』 Linux系統下的NTP配置

第一步,選擇最好的NTP服務地址

具體命令為ntpdate -q IP地址或域名

廣東地區NTP優選結果如下:

①time4.cloud.tencent.com

②server time.asia.apple.com

③server cn.ntp.org.cn

④server ntp.aliyun.com

⑤server cn.pool.ntp.org

檢查BIOS主板時間的命令

hwclock -r

NTP服務啟停命令

sudo systemctl start/stop ntpd

檢查查看ntp伺服器有無和上層ntp連通

ntpstat

查看ntp伺服器與上層ntp的狀態

ntpq -pn

===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秒。

===同步硬體時鍾===

ntp服務,默認只會同步系統時間。

如果想要讓ntp同時同步硬體時間,可以設置/etc/sysconfig/ntpd文件,

在/etc/sysconfig/ntpd文件中,添加【SYNC_HWCLOCK=yes】這樣,就可以讓硬體時間與系統時間一起同步。

允許BIOS與系統時間同步,也可以通過hwclock -w 命令。

hwclock命令用來查詢和設置硬體時鍾。

hwclock -r 讀取並列印硬體時鍾

hwclock -s 將硬體時鍾同步到系統時鍾

hwclock -w  將系統時鍾同步到硬體時鍾

系統時鍾與硬體時鍾

在Linux中有硬體時鍾與系統時鍾等兩種時鍾。硬體時鍾是指主機板上的時鍾設備,也就是通常可在BIOS畫面設定的時鍾。系統時鍾則是指kernel中的時鍾。當Linux啟動時,系統時鍾會去讀取硬體時鍾的設定,之後系統時鍾即獨立運作。所有Linux相關指令與函數都是讀取系統時鍾的設定。

參考文檔:

Linux伺服器NTP客戶端配置——https://www.cnblogs.com/paul8339/p/10059364.html

NTP服務、客戶端配置詳解——https://blog.51cto.com/u_11392081/1784080

『伍』 NTP伺服器的配置和使用

為了避免Linux系統的主機,在長時間運行下所導致的時間偏差。因此我們需要對時間進行時間同步(synchronize)。我們一般使用ntp服務來同步不同機器的時間。NTP 是網路時間協議(Network Time Protocol)的簡稱,他是通過UDP協議,對時間進行同步的。

編輯NTP Server的主要配置文件為/etc/ntp.conf ,如下:

配置含義:

配置完畢,重啟NTP服務,使配置更改生效。

查看NTP服務和上級連通狀態

內網其他設備作為NTP的客戶端配置,相對就比較簡單,而且所有設備的配置都相同。
首先需要安裝NTP服務(與NTP-Server完全一樣)。然後找其中一台配置/etc/ntp.conf文件,配置完成驗證通過後,拷貝到其他客戶端機器,直接使用即可。
注釋掉之前的上層服務,以下幾行

添加本地的NTP伺服器即可完成配置

可以用date命令查看時區
如果時區是EST需要改成CST

選擇亞洲 /中國 /北京 /然後確認
改完後執行如下復制語句

使用

172.17.30.100為你的NTP伺服器的ip地址,顯示adjust time server 192.168.1.135 offset 0.004882 sec
這里有可能出現同步失敗,一般情況下原因都是本地的NTPD伺服器還沒有正常啟動起來,一般需要幾分鍾時間後才能開始同步。
也有報錯 no server suitable for synchronization found,這種問題由一下兩種情況造成:
Server dropped: strata too high:
並且顯示「stratum 16」。而正常情況下stratum這個值得范圍是「0~15」。
這種問題往往是由ntp服務啟動後還沒有和上層服務同步完成,可以等五分鍾再次查看。
Server dropped: strata no data:
這種問題一般是因為訪問不到NTP服務,需要檢查NTP服務是否啟動成功,或者是否是被防火牆攔截。
啟動NTP_Client

啟動後,查看同步情況

由於是內網,NTP服務很快會同步上,可以使用下面命令查看時間是否和伺服器時間相同

本機客戶端配置完成後,需要同步的客戶端機器使用SCP拷貝/etc/ntp.conf,命令如下,啟動NTP服務即可。

Linux的NTP配置總結
NTP服務及時間同步問題

『陸』 怎樣查看windows伺服器ntp伺服器地址

你想要的結果是讓內網和外網電腦的時間源都為「時間伺服器的IP為192.168.1.254」的電腦是吧,
如果用NTP服務自動同步的話,需要逐一對每個電腦進行配置。這樣做可能耗費的時間有點多。
如果通過域控策略讓每台電腦開機自動同步「時間伺服器192.168.1.254」,這樣倒是省事點。
我公司現在用的辦法就是:將域控主機的時間源設為「北京授時中心」,通過策略讓其他電腦登陸時與域控時間同步。
下面是NTP的設置過程:
如果要設定內部時間伺服器與外部時間來源同步處理,請依照下列步驟執行:
將伺服器類型變更為 NTP。如果要執行這項操作,請依照下列步驟執行:
按一下 [開始],再按一下 [執行],輸入 regedit,然後按一下 [確定]。
找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type在右窗格中,用滑鼠右鍵按一下 [Type],然後按一下 [修改]。
在 [編輯數值] 對話方塊的 [數值資料] 方塊中,輸入 NTP,然後按一下 [確定]。

AnnounceFlags
設定為 5。如果要執行這項操作,請依照下列步驟執行:
找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags在右窗格中,用滑鼠右鍵按一下 [AnnounceFlags],然後按一下 [修改]。
在 [編輯 DWORD 值] 的 [數值資料] 方塊中,輸入 5,再按一下 [確定]。
啟用 NTPServer。如果要執行這項操作,請依照下列步驟執行:
找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer在右窗格中,用滑鼠右鍵按一下 [Enabled],然後按一下 [修改]。
在 [編輯 DWORD 值] 的 [數值資料] 方塊中,輸入 1,再按一下 [確定]。
指定時間來源。如果要執行這項操作,請依照下列步驟執行:
找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters在右窗格中,用滑鼠右鍵按一下 [NtpServer],然後按一下 [修改]。
在 [編輯數值] 的 [數值資料] 方塊中輸入 Peers,然後按一下 [確定]。
注意 Peers 是以空格分隔的對等裝置清單的預留位置,您的電腦會從中取得時間戳記。清單所列的每個 DNS 名稱必須都是唯一的。您必須在每個 DNS 名稱的結尾加上 ,0x1。如果沒有將 ,0x1 附加在每個 DNS 名稱的結尾,您在步驟 5 所做的變更將不會生效。
選取輪詢間隔。如果要執行這項操作,請依照下列步驟執行:
找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval在右窗格中,用滑鼠右鍵按一下 [SpecialPollInterval],然後按一下 [修改]。
在 [編輯 DWORD 值] 的 [數值資料] 方塊中,輸入 TimeInSeconds,然後按一下 [確定]。
注意 TimeInSeconds 代表每個輪詢之間您所指定的秒數。建議值為 900 十進位。這個值會將 Time Server 設定為每隔 15 分鍾輪詢一次。
設定時間修正設定值。如果要執行這項操作,請依照下列步驟執行:
找出並按一下下列登錄子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection在右窗格中,用滑鼠右鍵按一下 [MaxPosPhaseCorrection],然後按一下 [修改]。
在 [編輯 DWORD 值] 的 [底數] 方塊中選取 [十進位]。
在 [編輯 DWORD 值] 的 [數值資料] 方塊中,輸入 TimeInSeconds,然後按一下 [確定]。
注意 TimeInSeconds 是合理數值的預留位置,例如 1 小時 (3600) 或 30 分鍾 (1800)。您所選取的數值將根據輪詢間隔、網路情況及外部時間來源而定。
找出並按一下下列登錄子機碼:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection
在右窗格中,用滑鼠右鍵按一下 [MaxNegPhaseCorrection],然後按一下 [修改]。
在 [編輯 DWORD 值] 的 [底數] 方塊中選取 [十進位]。
在 [編輯 DWORD 值] 的 [數值資料] 方塊中,輸入 TimeInSeconds,然後按一下 [確定]。
注意 TimeInSeconds 是合理數值的預留位置,例如 1 小時 (3600) 或 30 分鍾 (1800)。您所選取的數值將根據輪詢間隔、網路情況及外部時間來源而定。
結束「登錄編輯程式」。
在命令提示字元中輸入下列命令,然後按下 ENTER,以重新啟動 Windows Time 服務:
net stop w32time && net start w32time

『柒』 【NTP】NTP(Network Time Protocol)配置詳解

設置NTP伺服器不難,但是NTP本身是一個很復雜的協議. 這里我們只是簡要地介紹一下實踐方法。

如果有人問你說現在幾點? 你看了看錶回答他說晚上8點了. 這樣回答看上去沒有什麼問題,但是如果問你的這個人在歐洲的話那麼你的回答就會讓他很疑惑,因為他那裡還太陽當空呢。

這里就有產生了一個如何定義時間的問題. 因為在地球環繞太陽旋轉的24個小時中,世界各地日出日落的時間是不一樣的.所以我們才有劃分時區(timezone) 的必要,也就是把全球劃分成24個不同的時區. 所以我們可以把時間的定義理解為一個時間的值加上所在地的時區(注意這個所在地可以精確到城市)。

地理課上我們都學過格林威治時間(GMT), 它也就是0時區時間. 但是我們在計算機中經常看到的是UTC. 它是Coordinated Universal Time的簡寫. 雖然可以認為UTC和GMT的值相等(誤差相當之小),但是UTC已經被認定為是國際標准,所以我們都應該遵守標准只使用UTC。

那麼假如現在中國當地的時間是晚上8點的話,我們可以有下面兩種表示方式:

20:00 CST

12:00 UTC

這里的CST是Chinese Standard Time,也就是我們通常所說的北京時間了. 因為中國處在UTC+8時區,依次類推那麼也就是12:00 UTC了。

為什麼要說這些呢?

第一,不管通過任何渠道我們想要同步系統的時間,通常提供方只會給出UTC+0的時間值而不會提供時區(因為它不知道你在哪裡).所以當我們設置系統時間的時候,設置好時區是首先要做的工作。

第二,很多國家都有夏令時,那就是在一年當中的某一天時鍾撥快一小時(比如從UTC+8一下變成UTC+9了),那麼同理到時候還要再撥慢回來.如果我們設置了正確的時區,當需要改變時間的時候系統就會自動替我們調整。

現在我們就來看一下如何在Linux下設置時區,也就是time zone

在Linux下glibc提供了我們事先編譯好的許多timezone文件, 他們就放在/usr/share/zoneinfo這個目錄下,這里基本涵蓋了大部分的國家和城市

 # ls -F /usr/share/zoneinfo

在這裡面我們就可以找到自己所在城市的time zone文件. 那麼如果我們想查看對於每個time zone當前的時間我們可以用zmp命令

# zmp  Shanghai

Shanghai  Mon Apr 23 17:54:12 2018 Shanghai

那麼我們又怎麼來告訴系統我們所在time zone是哪個呢? 

方法有很多,這里舉出兩種:

第一個就是修改/etc/localtime這個文件,這個文件定義了我么所在的local time zone.

我們可以在/usr/share/zoneinfo下找到我們的time zone文件然後軟鏈接去到/etc/localtimezone

#  ln  -sf /usr/share/zoneinfo/Asia/Shanghai      /etc/localtime

第二種方法也就設置TZ環境變數的值. 許多程序和命令都會用到這個變數的值. TZ的值可以有多種格式,最簡單的設置方法就是使用tzselect命令

#  tzselect 

# TZ='Asia/Shanghai'; export TZ

You can make this change permanent for yourself by appending the line

TZ='Asia/Shanghai'; export TZ

to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you

can use the /usr/bin/tzselect command in shell scripts:

Asia/Shanghai

通過這兩個例子我們也可以發現TZ變數的值會override /etc/localtime. 也就是說當TZ變數沒有定義的時候系統才使用/etc/localtime來確定time zone. 所以你想永久修改time zone的話那麼可以把TZ變數的設置寫入/etc/profile里!

說道設置時間這里還要明確另外一個概念就是在一台計算機上我們有兩個時鍾:

一個稱之為硬體時間時鍾(RTC),還有一個稱之為系統時鍾(System Clock)

硬體時鍾是指嵌在主板上的特殊的電路, 它的存在就是平時我們關機之後還可以計算時間的原因

系統時鍾就是操作系統的kernel所用來計算時間的時鍾. 它從1970年1月1日00:00:00 UTC時間到目前為止秒數總和的值

在Linux下系統時間在開機的時候會和硬體時間同步(synchronization),之後也就各自獨立運行了

那麼既然兩個時鍾獨自運行,那麼時間久了必然就會產生誤差了,下面我們來看一個例子:

# date

Fri Jul  6 00:27:13 BST 2007

# hwclock --show

Fri 06 Jul 2007 12:27:17 AM BST  -0.968931 seconds

通過hwclock --show 命令我們可以查看機器上的硬體時間(always in local time zone), 我們可以看到它和系統時間還是有一定的誤差的, 那麼我們就需要把他們同步。

如果我們想要把硬體時間設置成系統時間我們可以運行以下命令

# hwclock --hctosys

反之,我們也可以把系統時間設置成硬體時間

# hwclock --systohc

那麼如果想設置硬體時間我們可以開機的時候在BIOS里設定.也可以用hwclock命令

# hwclock --set --date="mm/dd/yy hh:mm:ss"

如果想要修改系統時間那麼用date命令就最簡單了

# date -s "dd/mm/yyyy hh:mm:ss"  

現在我們知道了如何設置系統和硬體的時間. 但問題是如果這兩個時間都不準確了怎麼辦? 

那麼我們就需要在互聯網上找到一個可以提供我們准確時間的伺服器然後通過一種協議來同步我們的系統時間,那麼這個協議就是NTP了. 注意接下去我們所要說的同步就都是指系統時間和網路伺服器之間的同步了!

其實這個標題應該改為設置"NTP Relay Server"前的准備更加合適. 因為不論我們的計算機配置多好運行時間久了都會產生誤差,所以不足以給互聯網上的其他伺服器做NTP Server. 真正能夠精確地測算時間的還是原子鍾. 但由於原子鍾十分的昂貴,只有少部分組織擁有, 他們連接到計算機之後就成了一台真正的NTP Server. 而我們所要做的就是連接到這些伺服器上同步我們系統的時間,然後把我們自己的伺服器做成NTP Relay Server再給互聯網或者是區域網內的用戶提供同步服務。

#  yum -y install ntp

那麼第一步我們就要找到在互聯網上給我們提供同步服務的NTP Server

http://www.pool.ntp.org 是NTP的官方網站,在這上面我們可以找到離我們城市最近的NTP Server. 

NTP建議我們為了保障時間的准確性,最少找兩個個NTP Server

那麼比如在英國的話就可以選擇下面兩個伺服器

0.uk.pool.ntp.org

1.uk.pool.ntp.org

它的一般格式都是 number.country.pool.ntp.org

第二步要做的就是在打開NTP伺服器之前先和這些伺服器做一個同步,使得我們機器的時間盡量接近標准時間.

這里我們可以用ntpdate命令手動更新時間

# ntpdate 0.uk.pool.ntp.org

6 Jul 01:21:49 ntpdate[4528]: step time server 213.222.193.35 offset -38908.575181 sec

# ntpdate 0.pool.ntp.org

6 Jul 01:21:56 ntpdate[4530]: adjust time server 213.222.193.35 offset -0.000065 sec

假如你的時間差的很離譜的話第一次會看到調整的幅度比較大,所以保險起見可以運行兩次. 那麼為什麼在打開NTP服務之前先要手動運行同步呢?

1. 因為根據NTP的設置,如果你的系統時間比正確時間要快的話那麼NTP是不會幫你調整的,所以要麼你把時間設置回去,要麼先做一個手動同步

2. 當你的時間設置和NTP伺服器的時間相差很大的時候,NTP會花上較長一段時間進行調整.所以手動同步可以減少這段時間

現在我們就來創建NTP的配置文件了, 它就是/etc/ntp.conf. 我們只需要加入上面的NTP Server和一個driftfile就可以了

# vi /etc/ntp.conf

#############################

server 210.72.145.44     #中國國家授時中心的IP

server 0.uk.pool.ntp.org

server 1.uk.pool.ntp.org

fudge 127.127.1.0 stratum 0 

這行是時間伺服器的層次。設為0則為頂級,如果要向別的NTP伺服器更新時間,請不要把它設為0

driftfile /var/lib/ntp/ntp.drift 

##############################

我們就啟動NTP Server,並且設置其在開機後自動運行

# systemctl  start  ntpd

# systemctl  enable  ntpd

現在我們已經啟動了NTP的服務,但是我們的系統時間到底和伺服器同步了沒有呢? 

為此NTP提供了一個很好的查看工具: ntpq (NTP query)

我建議大家在打開NTP伺服器後就可以運行ntpq命令來監測伺服器的運行.

這里我們可以使用watch命令來查看一段時間內伺服器各項數值的變化

# watch ntpq -p

Every 2.0s: ntpq -p                                  Sat Jul  7 00:41:45 2007

remote           refid      st t when poll reach   delay   offset  jitter

===========================================================

+193.60.199.75   193.62.22.98     2 u   52   64  377    8.578   10.203 289.032

*mozart.musicbox 192.5.41.41      2 u   54   64  377   19.301  -60.218 292.411

現在我就來解釋一下其中的含義

remote: 它指的就是本地機器所連接的遠程NTP伺服器

refid: 它指的是給遠程伺服器(e.g. 193.60.199.75)提供時間同步的伺服器

st: 遠程伺服器的層級別(stratum). 由於NTP是層型結構,有頂端的伺服器,多層的Relay Server再到客戶端. 所以伺服器從高到低級別可以設定為1-16. 為了減緩負荷和網路堵塞,原則上應該避免直接連接到級別為1的伺服器的.

when: 我個人把它理解為一個計時器用來告訴我們還有多久本地機器就需要和遠程伺服器進行一次時間同步

poll: 本地機和遠程伺服器多少時間進行一次同步(單位為秒). 在一開始運行NTP的時候這個poll值會比較小,那樣和伺服器同步的頻率也就增加了,可以盡快調整到正確的時間范圍.之後poll值會逐漸增大,同步的頻率也就會相應減小

reach: 這是一個八進制值,用來測試能否和伺服器連接.每成功連接一次它的值就會增加

delay: 從本地機發送同步要求到伺服器的round trip time

offset: 這是個最關鍵的值, 它告訴了我們本地機和伺服器之間的時間差別. offset越接近於0,我們就和伺服器的時間越接近

jitter: 這是一個用來做統計的值. 它統計了在特定個連續的連接數里offset的分布情況. 簡單地說這個數值的絕對值越小我們和伺服器的時間就越精確

那麼大家細心的話就會發現兩個問題: 第一我們連接的是0.uk.pool.ntp.org為什麼和remote server不一樣? 第二那個最前面的+和*都是什麼意思呢?

第一個問題不難理解,因為NTP提供給我們的是一個cluster server所以每次連接的得到的伺服器都有可能是不一樣.

同樣這也告訴我們了在指定NTP Server的時候應該使用hostname而不是IP

第二個問題和第一個相關,既然有這么多的伺服器就是為了在發生問題的時候其他的伺服器還可以正常地給我們提供服務.那麼如何知道這些伺服器的狀態呢? 這就是第一個記號會告訴我們的信息

* 它告訴我們遠端的伺服器已經被確認為我們的主NTP Server,我們系統的時間將由這台機器所提供

+ 它將作為輔助的NTP Server和帶有*號的伺服器一起為我們提供同步服務. 當*號伺服器不可用時它就可以接管

- 遠程伺服器被 clustering algorithm  認為是不合格的NTP Server

x 遠程伺服器不可用

了解這些之後我們就可以實時監測我們系統的時間同步狀況了!

運行一個NTP Server不需要佔用很多的系統資源,所以也不用專門配置獨立的伺服器,就可以給許多client提供時間同步服務, 但是一些基本的安全設置還是很有必要的

那麼這里一個很簡單的思路就是第一我們只允許區域網內一部分的用戶連接到我們的伺服器. 第二個就是這些client不能修改我們伺服器上的時間

關於許可權設定部分

許可權的設定主要以 restrict 這個參數來設定,主要的語法為:

restrict IP地址 mask 子網掩碼 參數

其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP

參數有以下幾個:

ignore:關閉所有的 NTP 聯機服務

nomodify:客戶端不能更改服務端的時間參數,但是客戶端可以通過服務端進行網路校時。

notrust :客戶端除非通過認證,否則該客戶端來源將被視為不信任子網

noquery :不提供客戶端的時間查詢

注意:如果參數沒有設定,那就表示該 IP (或子網)沒有任何限制!

在/etc/ntp.conf文件中我們可以用restrict關鍵字來配置上面的要求

首先我們對於默認的client拒絕所有的操作

restrict default kod nomodify notrap nopeer noquery

然後允許本機地址一切的操作

restrict 127.0.0.1

最後我們允許區域網內所有client連接到這台伺服器同步時間.但是拒絕讓他們修改伺服器上的時間

restrict 192.168.1.0 mask 255.255.255.0 nomodify

把這三條加入到/etc/ntp.conf中就完成了我們的簡單配置. NTP還可以用key來做authentication,這里就不詳細介紹了。

做到這里我們已經有了一台自己的Relay Server.如果我們想讓區域網內的其他client都進行時間同步的話那麼我們就都應該照樣再搭建一台Relay Server,然後把所有的client都指向這兩台伺服器(注意不要把所有的client都指向Internet上的伺服器). 只要在client的/etc/ntp.conf加上這你自己的伺服器就可以了。

server ntp1.leonard.com

server ntp2.leonard.com

1. 配置文件中的driftfile是什麼?

我們每一個system clock的頻率都有小小的誤差,這個就是為什麼機器運行一段時間後會不精確. NTP會自動來監測我們時鍾的誤差值並予以調整.但問題是這是一個冗長的過程,所以它會把記錄下來的誤差先寫入driftfile.這樣即使你重新開機以後之前的計算結果也就不會丟失了。

2. 如何同步硬體時鍾?

NTP一般只會同步system clock. 但是如果我們也要同步RTC(hwclock)的話那麼只需要把下面的選項打開就可以了

# vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes

3、利用crontab讓LINUX NTP定時更新時間

註:讓linux運行ntpdate更新時間時,linux不能開啟NTP服務,否則會提示埠被佔用:

# ntpdate 1.rhel.pool.ntp.org

20 May 09:34:14 ntpdate[6747]: the NTP socket is in use, exiting

crontab文件配置簡要說明

命令格式的前一部分是對時間的設定,後面一部分是要執行的命令。時間的設定我們有一定的約定,前面五個*號代表五個數字,數字的取值范圍和含義如下:

分鍾(0-59)

小時(0-23)

日期(1-31)

月份(1-12)

星期(0-6)//0代表星期天

除了數字還有幾個個特殊的符號就是「*」、「/」和「-」、「,」,「*」代表所有的取值范圍內的數字,「/」代表每的意思,「*/5」表示每5個單位,「-」代表從某個數字到某個數字,「,」分開幾個離散的數字。

以下舉幾個例子說明問題:

每天早上6點:

0 6 * * *  command

每兩個小時:

0 */2 * * *  command

晚上11點到早上8點之間每兩個小時,早上八點:

0 23-7/2,8 * * * command

每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點:

0 11 4 * 1-3 command

1月1日早上4點:

0 4 1 1 * command

3.3、設置開機自動啟動服務

運行setup或其它服務設置工具,將crond服務勾選上

# systemctl  enable crond.service

一、LINUX做為客戶端自動同步時間

如果想定時進行時間校準,可以使用crond服務來定時執行。

編輯 /etc/crontab 文件

加入下面一行:

30 8 * * * root /usr/sbin/ntpdate 192.168.0.1; /sbin/hwclock -w 

#192.168.0.1是NTP伺服器的IP地址

然後重啟crond服務   service crond restart

這樣,每天 8:30 Linux 系統就會自動的進行網路時間校準。

二、WINDOWS 需要打開windows time服務和RPC的二個服務

如果在打開windows time 服務,時報 錯誤1058,進行下面操作

1.運行 cmd 進入命令行,然後鍵入

w32tm /register  進行注冊

正確的響應為:W32Time 成功注冊。

2.如果上一步正確,用 net start "windows time" 或 net start w32time 啟動服務。

1、客戶端的日期必須要設置正確,不能超出正常時間24小時,不然會因為安全原因被拒絕更新。其次客戶端的時區必須要設置好,以確保不會更新成其它時區的時間。

2、fudge 127.127.1.0 stratum 10 

如果是LINUX做為NTP伺服器,stratum(層級)的值不能太大,如果要向上級NTP更新可以設成 2

3、LINUX的NTP伺服器必須記得將從上級NTP更新的時間從系統時間寫到硬體里去 hwclock --systohc

NTP一般只會同步system clock. 但是如果我們也要同步RTC(hwclock)的話那麼只需要把下面的選項打開就可以了

# vi /etc/sysconfig/ntpd

SYNC_HWCLOCK=yes

4、Linux如果開啟了NTP服務,則不能手動運行ntpdate更新時間(會報埠被佔用),它只能根據/etc/ntp.conf 里server 欄位後的伺服器地址按一定時間間隔自動向上級NTP伺服器更新時間。可以運行命令 ntpstat 查看每次更新間隔如:

# ntpstat

synchronised to NTP server (210.72.145.44) at stratum 2

#本NTP伺服器層次為2,已向210.72.145.44 NTP同步過

time correct to within 93 ms                                              

#時間校正到相差93ms之內 polling server every 1024 s   

#每1024秒會向上級NTP輪詢更新一次時間 

這些問題主要涉及到NTP的層(stratum)的概念,頂層是1,值為0時表示層數不明,層的值是累加的,比如NTP授時方向是A-〉B-〉C,假設A的stratum值是3,那麼B從A獲取到時間,B的stratum置為4,C從B獲取到時間,C的值被置為5。一般只有整個NTP系統最頂層的伺服器stratum才設為1。

NTP同步的方向是從stratum值較小的節點向較大的節點傳播,如果某個NTP客戶端接收到stratum比自己還要大,那麼NTP客戶端認為自己的時間比接受到的時間更為精確,不會進行時間的更新。

對於大部分NTP軟體系統來說,服務啟動後,stratum值初始是0,一旦NTP服務獲取到了時間,NTP層次就設置為上級伺服器stratum+1。對於具備衛星時鍾、原子鍾的專業NTP設備,一般stratum值初始是1。

NTPD啟動後,stratum值初始是0,此時NTPD接收到NTP請求,回復stratum欄位為0的NTP包,客戶端接收後,發現stratum欄位無效,拒絕更新時間,造成時間更新失敗。

幾分鍾後,NTPD從上級伺服器獲取到了更新,設置了正確的stratum,回復stratum欄位為n+1的NTP包,客戶端接收後,確認stratum有效,成功進行時間更新。

在NTPD上級伺服器不可用的情況下,NTPD將本機時鍾服務模擬為一個上級NTP伺服器,地址使用環回127.127.1.0,服務啟動幾分鍾後,NTPD從127.127.1.0更新了時鍾,設置了有效的stratum,客戶端接收後,成功進行時間更新。

對應的/etc/ntp.conf配置項如下:

server 127.127.1.0

fudge  127.127.1.0 stratum  1

# NTPD把本地主機的時鍾也看作外部時鍾源來處理,分配的地址是127.127.1.0

# 設置本地時鍾源的層次為1,這樣如果NTPD服務從本地時鍾源獲取時間的話,NTPD對外宣布的時間層次為2。

https://blog.csdn.net/iloli/article/details/6431757

http://blog.163.com/little_yang@126/blog/static/2317559620091019104019991/

『捌』 如何查看sun solaris是否已經與ntp伺服器時鍾同步

配置SOLARIS的NTP服務
1、查看是否安裝了NTP軟體包(默認是安裝的),有下面兩行則是已安裝 # pkginfo | grep ntp
system SUNWntpr NTP, (Root)
system SUNWntpu NTP , (Usr)
2、編輯配置文件ntp.conf #vi /etc/inet/ntp.conf
server ip_132.118.64.25 prefer
driftfile /var/ntp/ntp.drift
3、創建drift文件 touch /var/ntp/ntp.drift
4、停止、啟動NTP服務 /etc/init.d/xntpd start
/etc/init.d/xntpd stop
5、查看服務 ps -ef|grep ntp
查看進程 snoop |grep -i ntp 查看是否存在ntp包
6、查看其他伺服器時間
ntpdate -q 132.118.64.25
7.檢查伺服器是否加成功
檢查方法:ntpq -p

solaris8-9 NTP客戶端配置
A、復制NTP配置文件
# cd/etc/inet
# cp ntp.client ntp.conf
B、修改/etc/inet/ntp.conf #添加NTP伺服器地址
server 172.16.5.241 (ntp server ip 此處指向你的NTP時間伺服器IP地址)
multicastclient 224.0.1.1
C、# ntpdate 172.16.5.241 (NTP伺服器IP地址同步時間,以免時間相差很多同步失敗)
D、啟動關閉xntp用
/etc/init.d/xntpd start|stop

如有防火牆需打開UDP 123埠
cp /etc/inet/ntp.cli

『玖』 ntp命令查看連接時鍾所有的客戶端命令

執行ntpdate xxx.xxx.xxx.xxx(ntp伺服器地址)。
Linux下配置NTP伺服器
配置方法:
1、ntp服務安裝
NTP服務在RHEL5.x中式默認安裝的軟體包,可用rpm -qa |grep
ntp檢查是否安裝,如果未安裝可使用如下命令安裝與刪除NTP伺服器軟體包
#使用rpm方式安裝
rpm -ivh ntp-4.2.2p1-8.el5.i386.rmp
#使用yum方式安裝
yum -y install ntp.i*
#使用rpm方式刪除
rpm -e ntp-4.2.2pl-8.el5.i386.rpm
#使用yum方式刪除
yum -y remove ntp.i*
2、ntp服務配置
在ntp服務安裝完成後,需要修改ntp服務配置文件。ntp服務主配置文件/etc/ntp.conf
2.1 ntp服務的啟動、暫停
NTP屬於system
V服務,其啟動、暫停相關命令如下:
#啟動
service ntpd
start
#停止
Service ntpd
stop
#重新載入
service ntpd
reload
#查看當前啟動狀態
service ntpd
status
2.2 ntp服務自動載入
設置ntp服務下一次開機運行狀態可通過命令配置

#在運行級別2、3、4、5上設置為自動運行
chkconfig
ntpd on
#在運行級別2、3、4、5上設置為不自動運行
chkconfig
ntpd off
#在運行級別3、5上設置為自動運行
chkconfig
ntpd --level 35 on
#在運行級別3、5上設置為不自動運行
chkconfig
ntpd --level 35 off
2.3 配置信息
配置ntp,將Internet上的時間伺服器作為內部標准時間來源,過程如下
1)修改/etc/ntp.conf文件
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6::1
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
#指定Internet上的時間伺服器
restrict 207.46.232.182 mask 255.255.255.255 nomodify notrap noquery
server 207.46.232.182
server 127.127.1.0
fudge 127.127.1.0 stratum 10
keys /etc/ntp/keys
#指定NTP伺服器日誌文件
logfile /var/log/ntp

『拾』 NTP伺服器知識整理

只是從網上整理了一下文檔,還沒有實踐。感覺整理的還不錯。

GMT時間是以太陽通過格林威治的那一刻來作為計時的標准,地球共有24 個時區,而以格林威治時間(GMT) 為標准時間,台灣本地時間為GMT + 8 小時。不準確,但是方便記憶與理解。
UTC時間是使用『原子震盪周期』所計算的物理時鍾。最准確。
兩個時間計時的方式不同,GMT與UTC時間有差不多16分鍾的誤差!

因為時區資料檔在/usr/share/zoneinfo 內,在該目錄內會找到/usr/share/zoneinfo/America/New_York 這個時區檔。而時區設定檔在/etc/sysconfig/clock ,且目前的時間格式在/etc/localtime ,所以你應該這樣做:

其中parameter 的參數主要有底下這些:

那如果你沒有在parameter的地方加上任何參數的話,這表示『該IP或網段不受任何限制』的意思喔!一般來說,我們可以先關閉NTP的使用許可權,然後再一個一個的啟用允許登入的網段。

常見的配置如下:

常見的配置如下:

因為預設的NTP Server 本身的時間計算是依據BIOS 的晶片震盪周期頻率來計算的,但是這個數值與上層 Time Server 不見得會一致。所以NTP 這個daemon (ntpd) 會自動的去計算我們自己主機的頻率與上層 Time server的頻率,並且將兩個頻率的誤差記錄下來,記錄下來的檔案就是在driftfile 後面接的完整檔名當中了!
關於檔名你必須要知道:

driftfile 後面接的檔案會被ntpd 自動更新,所以他的許可權一定要能夠讓ntpd 寫入才行。在CentOS 6.x 預設的NTP 伺服器中,使用的ntpd 的owner 是ntp ,這部份可以查閱/etc/sysconfig/ntpd 就可以知道啦!

常見的配置如下:

除了以restrict 來限制用戶端的連線之外,我們也可以透過金鑰系統來給用戶端認證, 如此一來可以讓主機端更放心了。可以參考ntp-keygen 這個指令的相關說明。

ntp這個daemon是以port 123為連結的埠(使用UDP封包)

設定完ntp.conf 之後就可以啟動ntp 伺服器了。啟動與觀察的方式如下:

這樣就表示我們的NTP伺服器已經啟動了,不過要與上層NTP伺服器連線則還需要一些時間, 通常啟動NTP後約在15分鍾內才會和上層NTP伺服器順利連接上。

請自行等待數分鍾後再以下列指令查閱:

這個指令可以列出我們的NTP 伺服器有跟上層連線否。由上述的輸出結果可以知道,時間有校正約 538 * 10^(-3) 秒(538ms),且每隔128 秒會主動去更新時間!

這個ntpq -p 可以列出目前我們的NTP 與相關的上層NTP 的狀態,上頭的幾個欄位的意義為:

差異都在0.001 秒以內, 可以符合我們的一般使用了。另外,你也可以檢查一下你的BIOS 時間與Linux 系統時間的差異, 就是/var/lib/ntp/drift 這個檔案的內容,就能了解到咱們的Linux 系統時間與BIOS 硬體時鍾到底差多久。

ntpdate這個方式僅適合不要啟動NTP 的情況。如果你的機器數量太多了,那麼用戶端最好也啟動一下NTP 服務。通過NTP 去主動的更新時間。

然後取消掉crontab 的更新程序,這樣你的client 電腦就會主動的到NTP 伺服器去更新。

熱點內容
羅布樂思賬號密碼手機號多少 發布:2025-01-11 18:00:55 瀏覽:401
在廣州什麼配置的車才能跑滴滴 發布:2025-01-11 18:00:52 瀏覽:891
安卓手機哪個生態好 發布:2025-01-11 17:56:01 瀏覽:272
資料庫數據的一致性 發布:2025-01-11 17:30:45 瀏覽:708
手機怎麼設置手勢安卓 發布:2025-01-11 17:15:54 瀏覽:965
威能壁掛爐解壓閥 發布:2025-01-11 17:15:53 瀏覽:560
突破伺服器ip限制 發布:2025-01-11 17:11:23 瀏覽:819
支付寶上傳憑證 發布:2025-01-11 17:10:29 瀏覽:877
怎麼打開行李箱的密碼鎖 發布:2025-01-11 17:09:51 瀏覽:594
蘋果怎麼刪除id賬號和密碼 發布:2025-01-11 17:09:50 瀏覽:785