17-NTP配置
本章節下載: 17-NTP配置 (539.52 KB)
目 錄
在大型的網絡中,如果依靠管理員手工配置來修改網絡中各台設備的係統時間,不但工作量巨大,而且也不能保證時間的精確性。NTP(Network Time Protocol,網絡時間協議)可以用來在分布式時間服務器和客戶端之間進行時間同步,使網絡內所有設備的時間保持一致,並提供較高的時間同步精度。NTP采用的傳輸層協議為UDP,使用的UDP端口號為123。
這裏的“分布式”指的是運行NTP的設備既可以與其他設備的時間同步,又可以作為時間服務器為其他設備提供時間同步。
NTP主要應用於需要網絡中所有設備的時間保持一致的場合,比如:
· 需要以時間作為參照依據,對從不同設備采集來的日誌信息、調試信息進行分析的網絡管理係統。
· 對設備時間一致性有要求的計費係統。
· 多個係統協同處理同一個比較複雜的事件的場合。此時,為保證正確的執行順序,多個係統的時間必須保持一致。
NTP的基本工作原理如圖1-1所示。Device A和Device B通過網絡相連,Device A和Device B的時間不同,需要通過NTP實現時間的自動同步。為便於理解,作如下假設:
· 在Device A和Device B的時間同步之前,Device A的時間設定為10:00:00 am,Device B的時間設定為11:00:00 am。
· Device B作為NTP時間服務器,即Device A與Device B的時間同步。
· NTP報文從Device A到Device B、從Device B到Device A單向傳輸所需要的時間均為1秒。
· Device B處理NTP報文所需的時間是1秒。
圖1-1 NTP基本工作原理圖
Device A和Device B時間同步的工作過程如下:
(1) Device A發送一個NTP報文給Device B,該報文帶有它離開Device A時的時間戳,該時間戳為10:00:00 am(T1)。
(2) 當此NTP報文到達Device B時,Device B在NTP報文上增加該報文到達Device B時的時間戳,該時間戳為11:00:01 am(T2)。
(3) 當此NTP報文離開Device B時,Device B再在NTP報文上增加該報文離開Device B時的時間戳,該時間戳為11:00:02 am(T3)。
(4) 當Device A接收到該響應報文時,Device A的本地時間為10:00:03 am(T4)。
至此,Device A可以根據上述時間戳計算兩個重要的參數:
· NTP報文的往返時延Delay = (T4 – T1) – (T3 – T2) = 2秒。
· Device A相對Device B的時間差Offset = ((T2 – T1) + (T3 – T4)) / 2 = 1小時。
這樣,Device A就能夠根據這些信息來設定自己的時間,使之與Device B的時間同步。
以上內容隻是對NTP工作原理的一個粗略描述,詳細內容請參閱相關的協議規範。
設備作為NTP客戶端時,要求NTP服務器的時鍾層數必須大於等於0小於等於14。如果NTP服務器的時鍾層數大於14,則不同步該NTP服務器的時鍾。可登錄NTP服務器並執行ntp-service refclock-master命令修改NTP服務器的時鍾層數。
· 對於IPv4 NTP功能,在設備上執行display ntp-service sessions命令,通過顯示信息中的stra字段可查看NTP服務器的時鍾層數。
· 對於IPv6 NTP功能,在設備上執行display ntp-service ipv6 sessions命令,通過顯示信息中的Clock stratum字段可查看NTP服務器的時鍾層數。
NTP通過時鍾層數來定義時鍾的準確度。時鍾層數的取值範圍為0~16,取值越小,時鍾準確度越高。
圖1-2 NTP網絡結構
如圖1-2所示,實際網絡中,通常將從權威時鍾(如原子時鍾)獲得時間同步的NTP服務器的層數設置為1,並將其作為主時間服務器,為網絡中其他設備的時鍾提供時間同步。網絡中的設備與主時間服務器的NTP距離,即NTP同步鏈上NTP服務器的數目,決定了設備上時鍾的層數。例如,從主時間服務器獲得時間同步的設備的時鍾層數為2,即比主時間服務器的時鍾層數大1;從時鍾層數為2的時間服務器獲得時間同步的設備的時鍾層數為3,以此類推。
為了保證時間的準確性和可靠性,可以為一台設備指定多個時間服務器,設備根據時鍾層數等參數進行時鍾過濾和選擇,從多個時間服務器中選擇最優的時鍾,與其同步。設備選中的時鍾稱為參考時鍾。時鍾優選過程的詳細介紹,請參閱相關的協議規範。
在某些網絡中,例如無法與外界通信的孤立網絡,網絡中的設備無法與權威時鍾進行時間同步。此時,可以從該網絡中選擇一台時鍾較為準確的設備,指定該設備與本地時鍾進行時間同步,即采用本地時鍾作為參考時鍾,使得該設備的時鍾處於同步狀態。該設備作為時間服務器為網絡中的其他設備提供時間同步,從而實現整個網絡的時間同步。
NTP支持以下幾種工作模式:
· 客戶端/服務器模式
· 對等體模式
· 廣播模式
· 組播模式
用戶可以根據需要選擇一種或幾種工作模式進行時間同步。各種模式的詳細介紹,如表1-1所示。
本文中NTP服務器或服務器指的是客戶端/服務器模式中工作在服務器模式的設備;時間服務器指的是所有能夠提供時間同步的設備,包括NTP服務器、NTP對等體、廣播服務器和組播服務器。
表1-1 NTP模式介紹
模式 |
工作過程 |
時間同步方向 |
應用場合 |
客戶端/服務器模式 |
客戶端上需要手工指定NTP服務器的地址。客戶端向NTP服務器發送NTP時間同步報文。NTP服務器收到報文後會自動工作在服務器模式,並回複應答報文 如果客戶端可以從多個時間服務器獲取時間同步,則客戶端收到應答報文後,進行時鍾過濾和選擇,並與優選的時鍾進行時間同步 |
· 客戶端能夠與NTP服務器的時間同步 · NTP服務器無法與客戶端的時間同步 |
如圖1-2所示,該模式通常用於下級的設備從上級的時間服務器獲取時間同步 |
對等體模式 |
主動對等體(Symmetric active peer)上需要手工指定被動對等體(Symmetric passive peer)的地址。主動對等體向被動對等體發送NTP時間同步報文。被動對等體收到報文後會自動工作在被動對等體模式,並回複應答報文 如果主動對等體可以從多個時間服務器獲取時間同步,則主動對等體收到應答報文後,進行時鍾過濾和選擇,並與優選的時鍾進行時間同步 |
· 主動對等體和被動對等體的時間可以互相同步 · 如果雙方的時鍾都處於同步狀態,則層數大的時鍾與層數小的時鍾的時間同步 |
如圖1-2所示,該模式通常用於同級的設備間互相同步,以便在同級的設備間形成備份。如果某台設備與所有上級時間服務器的通信出現故障,則該設備仍然可以從同級的時間服務器獲得時間同步 |
廣播模式 |
廣播服務器周期性地向廣播地址255.255.255.255發送NTP時間同步報文。廣播客戶端偵聽來自廣播服務器的廣播報文,根據接收的廣播報文將設備的時間與廣播服務器的時間進行同步 廣播客戶端接收到廣播服務器發送的第一個NTP報文後,會與廣播服務器進行報文交互,以獲得報文的往返時延,為時間同步提供必要的參數。之後,隻有廣播服務器單方向發送報文 |
· 廣播客戶端能夠與廣播服務器的時間同步 · 廣播服務器無法與廣播客戶端的時間同步 |
廣播服務器廣播發送時間同步報文,可以同時同步同一個子網中多個廣播客戶端的時間。如圖1-2所示,使用同一個時間服務器為同一個子網中的大量設備提供時間同步時,可以使用廣播模式,以簡化網絡配置 由於隻有廣播服務器單方向發送報文,廣播模式的時間準確度不如客戶端/服務器模式和對等體模式 |
組播模式 |
組播服務器周期性地向指定的組播地址發送NTP時間同步報文。客戶端偵聽來自服務器的組播報文,根據接收的組播報文將設備的時間與組播服務器的時間進行同步 |
· 組播客戶端能夠與組播服務器的時間同步 · 組播服務器無法與組播客戶端的時間同步 |
組播模式對廣播模式進行了擴展,組播服務器可以同時為同一子網、不同子網的多個組播客戶端提供時間同步 組播模式的時間準確度不如客戶端/服務器模式和對等體模式 |
為了提高時間同步的安全性,NTP提供了NTP服務的訪問控製權限和NTP驗證功能。
本功能是指利用ACL限製對端設備對本地設備上NTP服務的訪問控製權限。NTP服務的訪問控製權限從高到低依次為peer、server、synchronization、query。
· peer:完全訪問權限。該權限既允許對端設備向本地設備的時間同步,對本地設備進行控製查詢(查詢NTP的一些狀態,比如告警信息、驗證狀態、時間服務器信息等),同時本地設備也可以向對端設備的時間同步。
· server:服務器訪問與查詢權限。該權限允許對端設備向本地設備的時間同步,對本地設備進行控製查詢,但本地設備不會向對端設備的時間同步。
· synchronization:僅具有訪問服務器的權限。該權限隻允許對端設備向本地設備的時間同步,但不能進行控製查詢。
· query:僅具有控製查詢的權限。該權限隻允許對端設備對本地設備的NTP服務進行控製查詢,但是不能向本地設備的時間同步。
訪問控製權限 |
作為客戶端時是否可以配置 |
作為時間服務器時是否可以配置 |
是否可以對本設備進行控製查詢 |
peer |
可以 |
可以 |
可以 |
server |
可以 |
不可以 |
可以 |
synchronization |
可以 |
不可以 |
不可以 |
query |
不可以 |
不可以 |
可以 |
當設備接收到NTP服務請求時,會按照權限從高到低的順序依次進行匹配。匹配原則為:
· 如果沒有指定權限應用的ACL或權限應用的ACL尚未創建,則繼續匹配下一個權限。
· 如果所有的權限都沒有應用ACL或權限應用的ACL尚未創建,則所有對端設備對本地設備NTP服務的訪問控製權限均為peer。
· 如果存在應用了ACL的權限,且該ACL已經創建,則隻有NTP服務請求匹配了某個權限應用的ACL中的permit規則,發送該NTP服務請求的對端設備才會具有該訪問控製權限。其他情況下(NTP服務請求匹配某個權限應用的ACL中的deny規則或沒有匹配任何權限的任何規則),發送該NTP服務請求的對端設備不具有任何權限。
配置NTP服務的訪問控製權限,僅提供了一種最小限度的安全措施,更安全的方法是使用NTP驗證功能。
在一些對時間同步的安全性要求較高的網絡中,運行NTP協議時需要使用NTP驗證功能。NTP驗證功能可以用來驗證接收到的NTP報文的合法性。隻有報文通過驗證後,設備才會接收該報文,並從中獲取時間同步信息;否則,設備會丟棄該報文。從而,保證設備不會與非法的時間服務器進行時間同步,避免時間同步錯誤。
圖1-3 NTP驗證功能示意圖
如圖1-3所示,NTP驗證功能的工作過程為:
(1) NTP報文發送者利用密鑰ID標識的密鑰對NTP報文進行MD5運算,並將計算出來的摘要信息連同NTP報文和密鑰ID一起發送給接收者。
(2) 接收者接收到該NTP報文後,根據報文中的密鑰ID找到對應的密鑰,並利用該密鑰對報文進行MD5運算。接收者將運算結果與報文中的摘要信息比較,依據比較結果,有以下兩種情況:
· 比較結果不相同,則丟棄該報文。
· 比較結果相同,則檢查NTP報文發送者是否有權在本端使用該密鑰ID,檢查通過,則接收該報文;否則,丟棄該報文。
與NTP相關的協議規範有:
· RFC 1305:Network Time Protocol (Version 3) Specification, Implementation and Analysis
· RFC 5905:Network Time Protocol Version 4: Protocol and Algorithms Specification
配置NTP時,需要注意:
· 設備上不能同時配置NTP和SNTP功能。
· 支持NTP的接口均為三層接口,包括三層以太網接口/子接口、三層聚合接口/子接口、VLAN接口、Tunnel接口等。
· 建議用戶不要在聚合成員口上進行NTP相關配置。
· 為保證時間同步的準確性,不建議用戶在組網中配置兩個或者兩個以上的時鍾源,以免造成時鍾震蕩,甚至出現無法同步的情況。
· NTP時鍾源與設備當前係統時間的偏差必須小於68年,否則無法正常時間同步。
· 用戶需要保證通過clock protocol命令,配置在指定的Context(邏輯防火牆),以NTP方式獲取係統時間。有關clock protocol命令的詳細介紹,請參見“基礎配置命令參考”中的“設備管理”。
· 隻支持在一個Context上配置NTP功能。
設備作為NTP客戶端時,要求NTP服務器的時鍾層數必須大於等於0小於等於14。如果NTP服務器的時鍾層數大於14,則不同步該NTP服務器的時鍾。可登錄NTP服務器並執行ntp-service refclock-master命令修改NTP服務器的時鍾層數。
· 對於IPv4 NTP功能,在設備上執行display ntp-service sessions命令,通過顯示信息中的stra字段可查看NTP服務器的時鍾層數。
· 對於IPv6 NTP功能,在設備上執行display ntp-service ipv6 sessions命令,通過顯示信息中的Clock stratum字段可查看NTP服務器的時鍾層數。
NTP配置任務如下:
(1) 開啟NTP服務
(2) 配置不同工作模式下的NTP
(3) (可選)配置本地時鍾作為參考時鍾
(4) (可選)配置NTP服務的訪問控製權限
(5) (可選)配置NTP驗證功能
(6) (可選)控製NTP報文的收發
(7) (可選)控製NTP同步時日誌和告警信息的打印
NTP服務與SNTP服務互斥,同一時刻隻能開啟其中一個服務。因此,在開啟NTP服務器之前,請確保SNTP服務關閉。
(1) 進入係統視圖。
system-view
(2) 開啟NTP服務。
ntp-service enable
缺省情況下, NTP服務處於關閉狀態。
· 當設備采用客戶端/服務器模式時,需要在客戶端上指定服務器的地址。
· 當服務器端的時鍾層數大於或等於客戶端的時鍾層數時,客戶端將不會與其同步。
· 可以通過多次執行ntp-service unicast-server命令和ntp-service ipv6 unicast-server命令為設備指定多個服務器。
· 服務器需要通過與其他設備同步或配置本地時鍾作為參考時鍾等方式,使得自己的時鍾處於同步狀態,否則客戶端不會將自己的時間與服務器的時間同步。
(1) 進入係統視圖。
system-view
(2) 為設備指定NTP服務器。
(IPv4網絡)
ntp-service unicast-server { server-name | ip-address } [ vpn-instance vpn-instance-name ] [ authentication-keyid keyid | maxpoll maxpoll-interval | minpoll minpoll-interval | priority | source interface-type interface-number | version number ] *
(IPv6網絡)
ntp-service ipv6 unicast-server { server-name | ipv6-address } [ vpn-instance vpn-instance-name ] [ authentication-keyid keyid | maxpoll maxpoll-interval | minpoll minpoll-interval | priority | source interface-type interface-number ] *
缺省情況下,未指定NTP服務器。
(3) 配置CWMP協議中要求的NTP服務器參數。
ntp-service cwmp unicast-server { host-name | ipv4-address | ipv6 ipv6-address } { first | second | third | fourth | fifth }
缺省情況下,未配置CWMP協議中要求的NTP服務器參數。
通常情況下使用ntp-service unicast-server命令為設備指定NTP服務器即可。如果需要對應配置CWMP協議中的NTPServer1、NTPServer2、NTPServer3、NTPServer4、NTPServer5,請使用本命令配置。需要注意的是這兩個命令行中配置的NTP服務器不能重複。
· 當設備采用對等體模式時,需要在主動對等體上指定被動對等體的地址。
· 被動對等體上需要執行ntp-service enable命令來開啟NTP服務,否則被動對等體不會處理來自主動對等體的NTP報文。
· 主動對等體和被動對等體的時鍾至少要有一個處於同步狀態,否則它們的時間都將無法同步。
· 可以通過多次執行ntp-service unicast-peer命令或ntp-service ipv6 unicast-peer命令為設備指定多個被動對等體。
(1) 進入係統視圖。
system-view
(2) 指定設備的被動對等體。
(IPv4網絡)
ntp-service unicast-peer { peer-name | ip-address } [ vpn-instance vpn-instance-name ] [ authentication-keyid keyid | maxpoll maxpoll-interval | minpoll minpoll-interval | priority | source interface-type interface-number | version number ] *
(IPv6網絡)
ntp-service ipv6 unicast-peer { peer-name | ipv6-address } [ vpn-instance vpn-instance-name ] [ authentication-keyid keyid | maxpoll maxpoll-interval | minpoll minpoll-interval | priority | source interface-type interface-number ] *
缺省情況下,未指定被動對等體。
· 當設備采用廣播模式時,廣播服務器端和廣播客戶端上都需要進行配置。
· 配置NTP的廣播模式之前,廣播服務器需要通過與其他設備同步或配置本地時鍾作為參考時鍾等方式,使得自己的時鍾處於同步狀態,否則廣播客戶端不會將自己的時間與廣播服務器的時間同步。
(1) 進入係統視圖。
system-view
(2) 進入要接收NTP廣播報文的接口。
interface interface-type interface-number
(3) 配置設備工作在NTP廣播客戶端模式。
ntp-service broadcast-client
缺省情況下,未配置NTP工作模式。
執行本命令後,設備將通過當前接口接收NTP廣播報文。
(1) 進入係統視圖。
system-view
(2) 進入要發送NTP廣播報文的接口。
interface interface-type interface-number
(3) 配置設備工作在NTP廣播服務器模式。
ntp-service broadcast-server [ authentication-keyid keyid | version number ] *
缺省情況下,未配置NTP工作模式。
執行本命令後,設備將通過當前接口周期性發送NTP廣播報文。
· 設備采用組播模式時,在組播服務器端和組播客戶端上都需要進行本配置。
· 配置NTP的組播模式之前,組播服務器需要通過與其他設備同步或配置本地時鍾作為參考時鍾等方式,使得自己的時鍾處於同步狀態,否則組播客戶端不會將自己的時間與組播服務器的時間同步。
(1) 進入係統視圖。
system-view
(2) 進入要接收NTP組播報文的接口。
interface interface-type interface-number
(3) 配置設備工作在NTP組播客戶端模式。
(IPv4網絡)
ntp-service multicast-client [ ip-address ]
(IPv6網絡)
ntp-service ipv6 multicast-client ipv6-address
缺省情況下,未配置NTP工作模式。
執行本命令後,設備將通過當前接口接收NTP組播報文。
(1) 進入係統視圖。
system-view
(2) 進入要發送NTP組播報文的接口。
interface interface-type interface-number
(3) 配置設備工作在NTP組播服務器模式。
(IPv4網絡)
ntp-service multicast-server [ ip-address ] [ authentication-keyid keyid | ttl ttl-number | version number ] *
(IPv6網絡)
ntp-service ipv6 multicast-server ipv6-address [ authentication-keyid keyid | ttl ttl-number ] *
缺省情況下,未配置NTP工作模式。
執行本命令後,設備將通過當前接口周期性發送NTP組播報文。
本配置用來指定設備與本地時鍾進行時間同步,使得該設備的時鍾處於同步狀態。
· 配置本地時鍾作為參考時鍾後,本地設備的時鍾將處於同步狀態,可以作為時間服務器為網絡中其他設備的時鍾提供時間同步。如果本地設備的時鍾不正確,則會導致網絡中設備的時間錯誤,請謹慎使用本配置。
· 有些設備重啟後,係統時間會變成係統初始化的時間。建議不要在這些設備上配置本地時鍾作為參考時鍾,並且不要將這些設備指定為時間服務器。
· 設備斷電重啟後,係統時間會變成係統初始化的時間;設備軟重啟時,啟動階段的係統時鍾處於關閉狀態,啟動之後的係統時鍾將不準確。建議不要在設備上配置本地時鍾作為參考時鍾,並且不要將設備指定為時間服務器。
· 不同的設備在時鍾精度方麵存在差異,一個網段中建議隻配置一個精度最高參考時鍾,否則可能出現網絡震蕩,導致時鍾無法同步。
配置本地時鍾作為參考時鍾之前,建議先校準本地係統時間。
(1) 進入係統視圖。
system-view
(2) 配置本地時鍾作為參考時鍾。
ntp-service refclock-master [ ip-address ] [ stratum ]
缺省情況下,設備未采用本地時鍾作為參考時鍾。
在配置對本地設備NTP服務的訪問控製權限時,需要創建並配置與訪問權限關聯的ACL。ACL的配置方法請參見“ACL和QoS配置指導”中的“ACL”。
請根據設備的時間同步需求,參考表1-2,為設備配置NTP服務的訪問控製權限。
訪問控製權限 |
是否可以接受同步時間 (作為客戶端時是否可以配置) |
是否可以對外提供同步時間 (作為時間服務器時是否可以配置) |
是否可以對本設備進行控製查詢 |
peer |
可以 |
可以 |
可以 |
server |
不可以 |
可以 |
可以 |
synchronization |
不可以 |
可以 |
不可以 |
query |
不可以 |
不可以 |
可以 |
ntp-service noquery enable命令僅用於允許或者禁止對端設備對本設備進行控製查詢,對時鍾同步不進行限製。當設備上配置了ntp-service noquery enable、ntp-service acl、ntp-service ipv6 acl命令時,“是否可以對本設備進行控製查詢”以ntp-service noquery enable命令的配置為準。
(1) 進入係統視圖。
system-view
(2) 配置對端設備對本地設備NTP服務的訪問控製權限。
(IPv4網絡)
ntp-service { peer | query | server | synchronization } acl ipv4-acl-number
(IPv6網絡)
ntp-service ipv6 { peer | query | server | synchronization } acl ipv4-acl-number
缺省情況下,對端設備對本地設備NTP服務的訪問控製權限為peer(完全訪問權限)。
(3) (可選)禁止對端設備對本設備進行控製查詢。
ntp-service noquery enable
缺省情況下,允許對端設備對本設備進行控製查詢。
客戶端和服務器上需要配置相同的密鑰ID及密鑰值,並且保證對端有權在本端使用該密鑰ID進行驗證,否則會導致NTP驗證失敗。
客戶端和服務器上進行不同的配置時,NTP驗證結果有所不同,詳細介紹請參見表1-3。其中,表格中的“-”表示不管此項是否配置。
客戶端 |
服務器 |
結果 |
|||
身份驗證 |
關聯密鑰 |
關聯密鑰存在且為可信密鑰 |
身份驗證 |
關聯密鑰存在且為可信密鑰 |
|
是 |
是 |
是 |
是 |
是 |
身份驗證成功 |
是 |
是 |
是 |
是 |
否 |
身份驗證失敗 |
是 |
是 |
是 |
否 |
- |
身份驗證失敗 |
是 |
是 |
否 |
- |
- |
身份驗證失敗 |
是 |
否 |
- |
- |
- |
不進行身份驗證 |
否 |
- |
- |
- |
- |
不進行身份驗證 |
(1) 進入係統視圖。
system-view
(2) 開啟NTP身份驗證功能。
ntp-service authentication enable
缺省情況下,NTP身份驗證功能處於關閉狀態。
(3) 配置NTP身份驗證密鑰。
ntp-service authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置NTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
ntp-service reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
(5) 將指定密鑰與對應的NTP服務器關聯。
(IPv4網絡)
ntp-service unicast-server { server-name | ip-address } [ vpn-instance vpn-instance-name ] authentication-keyid keyid
(IPv6網絡)
ntp-service ipv6 unicast-server { server-name | ipv6-address } [ vpn-instance vpn-instance-name ] authentication-keyid keyid
(1) 進入係統視圖。
system-view
(2) 開啟NTP身份驗證功能。
ntp-service authentication enable
缺省情況下,NTP身份驗證功能處於關閉狀態。
(3) 配置NTP身份驗證密鑰。
ntp-service authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置NTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
ntp-service reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
主動對等體和被動對等體上需要配置相同的密鑰ID及密鑰值,並且保證對端有權在本端使用該密鑰ID進行驗證,否則會導致NTP驗證失敗。
主動對等體和被動對等體上進行不同的配置時,NTP驗證結果有所不同,詳細介紹請參見表1-4。其中,表格中的“-”表示不管此項是否配置。
表1-4 主動對等體和被動對等體上進行不同配置時的NTP驗證結果
主動對等體 |
被動對等體 |
結果 |
||||
身份驗證 |
關聯密鑰 |
關聯密鑰存在且為可信密鑰 |
時鍾層數 |
身份驗證 |
關聯密鑰存在且為可信密鑰 |
|
是 |
是 |
是 |
- |
是 |
是 |
身份驗證成功 |
是 |
是 |
是 |
- |
是 |
否 |
身份驗證失敗 |
是 |
是 |
是 |
- |
否 |
- |
身份驗證失敗 |
是 |
否 |
- |
- |
是 |
- |
身份驗證失敗 |
是 |
否 |
- |
- |
否 |
- |
不進行身份驗證 |
否 |
- |
- |
- |
是 |
- |
身份驗證失敗 |
否 |
- |
- |
- |
否 |
- |
不進行身份驗證 |
是 |
是 |
否 |
大於被動對等體 |
- |
- |
身份驗證失敗 |
是 |
是 |
否 |
小於被動對等體 |
是 |
- |
身份驗證失敗 |
是 |
是 |
否 |
小於被動對等體 |
否 |
- |
不進行身份驗證 |
(1) 進入係統視圖。
system-view
(2) 開啟NTP身份驗證功能。
ntp-service authentication enable
缺省情況下,NTP身份驗證功能處於關閉狀態。
(3) 配置NTP身份驗證密鑰。
ntp-service authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置NTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
ntp-service reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
(5) 將指定密鑰與對應的被動對等體關聯。
(IPv4網絡)
ntp-service unicast-peer { ip-address | peer-name } [ vpn-instance vpn-instance-name ] authentication-keyid keyid
(IPv6網絡)
ntp-service ipv6 unicast-peer { ipv6-address | peer-name } [ vpn-instance vpn-instance-name ] authentication-keyid keyid
(1) 進入係統視圖。
system-view
(2) 開啟NTP身份驗證功能。
ntp-service authentication enable
缺省情況下,NTP身份驗證功能處於關閉狀態。
(3) 配置NTP身份驗證密鑰。
ntp-service authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置NTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
ntp-service reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
廣播服務器和廣播客戶端上需要配置相同的密鑰ID及密鑰值,並且保證對端有權在本端使用該密鑰ID進行驗證,否則會導致NTP驗證失敗。
廣播客戶端和廣播服務器上進行不同的配置時,NTP驗證結果有所不同,詳細介紹請參見表1-5。其中,表格中的“-”表示不管此項是否配置。
表1-5 廣播客戶端和廣播服務器上進行不同配置時的NTP驗證結果
廣播服務器 |
廣播客戶端 |
結果 |
|||
身份驗證 |
關聯密鑰 |
關聯密鑰存在且為可信密鑰 |
身份驗證 |
關聯密鑰存在且為可信密鑰 |
|
是 |
是 |
是 |
是 |
是 |
身份驗證成功 |
是 |
是 |
是 |
是 |
否 |
身份驗證失敗 |
是 |
是 |
是 |
否 |
- |
身份驗證失敗 |
是 |
是 |
否 |
是 |
- |
身份驗證失敗 |
是 |
是 |
否 |
否 |
- |
不進行身份驗證 |
是 |
否 |
- |
是 |
- |
身份驗證失敗 |
是 |
否 |
- |
否 |
- |
不進行身份驗證 |
否 |
- |
- |
是 |
- |
身份驗證失敗 |
否 |
- |
- |
否 |
- |
不進行身份驗證 |
(1) 進入係統視圖。
system-view
(2) 開啟NTP身份驗證功能。
ntp-service authentication enable
缺省情況下,NTP身份驗證功能處於關閉狀態。
(3) 配置NTP身份驗證密鑰。
ntp-service authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置NTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
ntp-service reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
(1) 進入係統視圖。
system-view
(2) 開啟NTP身份驗證功能。
ntp-service authentication enable
缺省情況下,NTP身份驗證功能處於關閉狀態。
(3) 配置NTP身份驗證密鑰。
ntp-service authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置NTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
ntp-service reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
(5) 進入接口視圖。
interface interface-type interface-number
(6) 將指定密鑰與對應的廣播服務器關聯。
ntp-service broadcast-server authentication-keyid keyid
缺省情況下,廣播服務器沒有與密鑰關聯。
組播服務器和組播客戶端上需要配置相同的密鑰ID及密鑰值,並且保證對端有權在本端使用該密鑰ID進行驗證,否則會導致NTP驗證失敗。
組播客戶端和組播服務器上進行不同的配置時,NTP驗證結果有所不同,詳細介紹請參見表1-6。其中,表格中的“-”表示不管此項是否配置。
表1-6 組播客戶端和組播服務器上進行不同配置時的NTP驗證結果
組播服務器 |
組播客戶端 |
結果 |
|||
身份驗證 |
關聯密鑰 |
關聯密鑰存在且為可信密鑰 |
身份驗證 |
關聯密鑰存在且為可信密鑰 |
|
是 |
是 |
是 |
是 |
是 |
身份驗證成功 |
是 |
是 |
是 |
是 |
否 |
身份驗證失敗 |
是 |
是 |
是 |
否 |
- |
身份驗證失敗 |
是 |
是 |
否 |
是 |
- |
身份驗證失敗 |
是 |
是 |
否 |
否 |
- |
不進行身份驗證 |
是 |
否 |
- |
是 |
- |
身份驗證失敗 |
是 |
否 |
- |
否 |
- |
不進行身份驗證 |
否 |
- |
- |
是 |
- |
身份驗證失敗 |
否 |
- |
- |
否 |
- |
不進行身份驗證 |
(1) 進入係統視圖。
system-view
(2) 開啟NTP身份驗證功能。
ntp-service authentication enable
缺省情況下,NTP身份驗證功能處於關閉狀態。
(3) 配置NTP身份驗證密鑰。
ntp-service authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置NTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
ntp-service reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
(1) 進入係統視圖。
system-view
(2) 開啟NTP身份驗證功能。
ntp-service authentication enable
缺省情況下,NTP身份驗證功能處於關閉狀態。
(3) 配置NTP身份驗證密鑰。
ntp-service authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置NTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
ntp-service reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
(5) 進入接口視圖。
interface interface-type interface-number
(6) 將指定密鑰與對應的組播服務器關聯。
(IPv4網絡)
ntp-service multicast-server [ ip-address ] authentication-keyid keyid
(IPv6網絡)
ntp-service ipv6 multicast-server ipv6-address authentication-keyid keyid
缺省情況下,組播服務器沒有與密鑰關聯。
· 如果指定了NTP報文的源接口,則設備在主動發送NTP報文時,NTP報文的源地址為指定的源接口的地址。建議將Loopback接口指定為源接口,以避免設備上某個接口的狀態變化而導致NTP報文無法接收。
· 設備對接收到的NTP請求報文進行應答時,應答報文的源地址始終為接收到的NTP請求報文的目的地址。
· 如果在命令ntp-service unicast-server/ntp-service ipv6 unicast-server或ntp-service unicast-peer/ntp-service ipv6 unicast-peer中指定了NTP報文的源接口,則優先使用ntp-service unicast-server/ntp-service ipv6 unicast-server或ntp-service unicast-peer/ntp-service ipv6 unicast-peer命令指定的接口作為NTP報文的源接口。
· 如果在接口視圖下配置了ntp-service broadcast-server或ntp-service multicast-server/ntp-service ipv6 multicast-server,則NTP廣播或組播模式報文的源接口為配置了ntp-service broadcast-server或ntp-service multicast-server/ntp-service ipv6 multicast-server命令的接口。
(1) 進入係統視圖。
system-view
(2) 配置NTP報文的源接口。
(IPv4網絡)
ntp-service source interface-type interface-number
(IPv6網絡)
ntp-service ipv6 source interface-type interface-number
缺省情況下,未指定NTP報文的源接口。
啟動NTP服務後,缺省情況下所有接口都可以接收NTP報文。如果出於安全性、簡化網絡管理等方麵的考慮,不希望設備為某個接口對應網段內的對端設備提供時間同步,或不希望設備從某個接口對應網段內的對端設備獲得時間同步,則可以在該接口上執行本配置,使該接口關閉接收NTP報文功能。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 關閉接口接收NTP報文功能。
(IPv4網絡)
undo ntp-service inbound enable
(IPv6網絡)
undo ntp-service ipv6 inbound enable
缺省情況下,接口接收NTP報文。
本功能用來限製動態會話的數目,以避免設備上維護過多的動態會話,占用過多的係統資源。
NTP會話分為兩種:
· 靜態會話:用戶手動配置NTP相關命令而建立的會話。
· 動態會話:NTP協議運行過程中建立的臨時會話,若係統長期(大約12分鍾)沒有報文交互就會刪除該臨時會話。
各種模式中,會話的建立情況如下:
· 客戶端/服務器模式中,在客戶端上指定了NTP服務器後,客戶端上會建立一個靜態會話,服務器端在收到報文之後隻是被動的響應報文,而不會建立會話(包括靜態和動態會話)。
· 對等體模式中,在主動對等體上指定了被動對等體後,主動對等體上會建立靜態會話,被動對等體端會建立動態會話。
· 廣播模式和組播模式中,在廣播/組播服務器端上會建立靜態會話,而在廣播/組播客戶端上會建立動態會話。
設備同一時間內最多可以建立的會話數目為128個,其中包括靜態會話數和動態會話數。
(1) 進入係統視圖。
system-view
(2) 配置NTP動態會話的最大數目。
ntp-service max-dynamic-sessions number
缺省情況下,NTP動態會話的最大數目為100。
DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定NTP/IPv6 NTP服務器發送的NTP報文的DSCP優先級。
(1) 進入係統視圖。
system-view
(2) 配置NTP報文的DSCP優先級。
¡ (IPv4網絡)
ntp-service dscp dscp-value
缺省情況下,IPv4 NTP報文的DSCP優先級為48。
¡ (IPv6網絡)
ntp-service ipv6 dscp dscp-value
缺省情況下,IPv6 NTP報文的DSCP優先級為56。
缺省情況下,NTP客戶端與服務器端的時間差經過多次采樣得到的時間偏移超過128ms時,客戶端將進行一次時間同步,並打印日誌信息和告警信息。配置本功能後,NTP客戶端與服務器端的時間差經過多次采樣得到的時間偏移超過128ms時,客戶端將進行一次時間同步,但是時間偏移大於閾值時,才會打印日誌;時間偏移大於閾值時,才會打印告警信息。
(1) 進入係統視圖。
system-view
(2) 配置NTP時間同步過程中,打印日誌和告警信息的時間偏移閾值。
ntp-service time-offset-threshold { log log-threshold | trap trap-threshold } *
缺省情況下,未配置NTP打印日誌和告警信息的時間偏移閾值。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後NTP的運行情況,通過查看顯示信息驗證配置的效果。
ntp-service noquery enable命令與display ntp-service trace命令功能互斥,如需使用display ntp-service trace命令,請配置允許對本設備進行控製查詢。
表1-7 NTP顯示和維護
操作 |
命令 |
顯示NTP服務的所有IPv6會話信息 |
display ntp-service ipv6 sessions [ verbose ] |
顯示NTP服務的所有IPv4會話信息 |
display ntp-service sessions [ verbose ] |
顯示NTP服務的狀態信息 |
display ntp-service status |
顯示從本地設備回溯到主時間服務器的各個NTP時間服務器的簡要信息 |
display ntp-service trace [ source interface-type interface-number ] |
NTP時間同步過程中需要進行複雜的時鍾優選運算,時間同步速度較慢,並且占用較多的係統資源。SNTP(Simple NTP,簡單NTP)是由RFC 4330定義的客戶端版本的簡單NTP,采用與NTP相同的報文格式及交互過程,但簡化了NTP的時間同步過程,以犧牲時間精度為代價實現了時間的快速同步,並減少了占用的係統資源。在時間精度要求不高的情況下,可以使用SNTP來實現時間同步。
SNTP隻支持客戶端/服務器模式,在模式中提供客戶端功能,即作為客戶端,從NTP服務器獲得時間同步,不能作為服務器為其他設備提供時間同步。
如果同時為SNTP客戶端指定了多個NTP服務器,則SNTP客戶端根據如下方法選擇與哪個服務器的時間同步:
(1) 優先選擇時鍾層數值最小的NTP服務器。
(2) 如果時鍾層數相同,則選擇接收到的第一個NTP報文對應的NTP服務器。
與SNTP相關的協議規範有:
· RFC 4330:Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI
配置SNTP時,需要注意:
· 設備上不能同時配置NTP和SNTP功能。
· 用戶需要保證通過clock protocol命令,配置在指定的Context(邏輯防火牆),以NTP方式設置係統時間。有關clock protocol命令的詳細介紹,請參見“基礎配置命令參考”中的“設備管理”。
· 隻支持在一個Context上配置SNTP功能。
SNTP配置任務如下:
(1) 開啟SNTP服務
(2) 為SNTP客戶端指定NTP服務器
(3) (可選)配置SNTP驗證功能
(4) (可選)控製SNTP同步時的日誌和告警信息打印
NTP服務與SNTP服務互斥,同一時刻隻能開啟其中一個服務。因此,在開啟SNTP服務器之前,請確保NTP服務關閉。
(1) 進入係統視圖。
system-view
(2) 開啟SNTP服務。
sntp enable
缺省情況下, SNTP服務處於關閉狀態。
NTP服務器的時鍾隻有處於同步狀態時,才能作為時間服務器為SNTP客戶端提供時間同步。當NTP服務器的時鍾層數大於或等於客戶端的時鍾層數時,客戶端將不會與其同步。
(1) 進入係統視圖。
system-view
(2) 為設備指定NTP服務器。
(IPv4網絡)
sntp unicast-server { server-name | ip-address } [ vpn-instance vpn-instance-name ] [ authentication-keyid keyid | source interface-type interface-number | version number ] *
缺省情況下,未指定IPv4 NTP服務器。
可以通過多次執行本命令配置多個NTP服務器。authentication-keyid參數用來將指定密鑰與對應的NTP服務器關聯。使用驗證功能時,需要指定本參數。
(IPv6網絡)
sntp ipv6 unicast-server { server-name | ipv6-address } [ vpn-instance vpn-instance-name ] [ authentication-keyid keyid | source interface-type interface-number ] *
缺省情況下,未指定IPv6 NTP服務器。
可以通過多次執行本命令配置多個IPv6 NTP服務器。authentication-keyid參數用來將指定密鑰與對應的NTP服務器關聯。使用驗證功能時,需要指定本參數。
在一些對時間同步安全性要求較高的網絡中,運行SNTP協議時需要啟用驗證功能。通過客戶端和服務器端的身份驗證,保證客戶端隻與通過驗證的服務器進行時間同步,提高了網絡安全性。
· 在NTP服務器和SNTP客戶端上都需要開啟驗證功能。
· NTP服務器和SNTP客戶端上必須配置相同的驗證密鑰(包括密鑰ID及密鑰值),並將密鑰設為可信密鑰。NTP服務器上驗證功能的配置方法,請參見“1.8.1 配置客戶端/服務器模式的NTP驗證功能”。
· 在客戶端需要將指定密鑰與對應的NTP服務器關聯,並保證服務端有權在本端使用該密鑰ID進行驗證。
· 如果客戶端沒有成功啟用SNTP驗證功能,不論服務器端是否開啟驗證功能,客戶端均可以與服務器端同步。
(1) 進入係統視圖。
system-view
(2) 開啟SNTP身份驗證功能。
sntp authentication enable
缺省情況下,SNTP身份驗證功能處於關閉狀態。
(3) 配置SNTP身份驗證密鑰。
sntp authentication-keyid keyid authentication-mode { hmac-sha-1 | hmac-sha-256 | hmac-sha-384 | hmac-sha-512 | md5 } { cipher | simple } string [ acl ipv4-acl-number | ipv6 acl ipv6-acl-number ] *
缺省情況下,未配置SNTP身份驗證密鑰。
(4) 配置指定密鑰為可信密鑰。
sntp reliable authentication-keyid keyid
缺省情況下,未指定可信密鑰。
(5) 將指定密鑰與對應的NTP服務器關聯。
(IPv4網絡)
sntp unicast-server { server-name | ip-address } [ vpn-instance vpn-instance-name ] authentication-keyid keyid
(IPv6網絡)
sntp ipv6 unicast-server { server-name | ipv6-address } [ vpn-instance vpn-instance-name ] authentication-keyid keyid
缺省情況下,未指定NTP服務器。
缺省情況下,SNTP客戶端與服務器端的時間差經過多次采樣得到的時間偏移超過128ms時,客戶端將進行一次時間同步,並打印日誌信息和告警信息。配置本功能後,SNTP客戶端與服務器端的時間差經過多次采樣得到的時間偏移超過128ms時,客戶端將進行一次時間同步,但是時間偏移大於閾值時,才會打印日誌;時間偏移大於閾值時,才會打印告警信息。
(1) 進入係統視圖。
system-view
(2) 配置SNTP時間同步過程中,打印日誌和告警信息的時間偏移閾值。
sntp time-offset-threshold { log log-threshold | trap trap-threshold } *
缺省情況下,未配置SNTP打印日誌和告警信息的時間偏移閾值。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後SNTP的運行情況,通過查看顯示信息驗證配置的效果。
表2-1 SNTP顯示和維護
操作 |
命令 |
顯示SNTP服務維護的IPv6會話信息 |
display sntp ipv6 sessions |
顯示SNTP服務維護的IPv4會話信息 |
display sntp sessions |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!