04-NTP配置
本章节下载: 04-NTP配置 (1.00 MB)
目 录
在大型的网络中,如果依靠管理员手工配置来修改网络中各台设备的系统时间,不但工作量巨大,而且也不能保证时间的精确性。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时间同步的工作过程如下:
(2) Device A发送一个NTP报文给Device B,该报文带有它离开Device A时的时间戳,该时间戳为10:00:00 am(T1)。
(3) 当此NTP报文到达Device B时,Device B在NTP报文上增加该报文到达Device B时的时间戳,该时间戳为11:00:01 am(T2)。
(4) 当此NTP报文离开Device B时,Device B再在NTP报文上增加该报文离开Device B时的时间戳,该时间戳为11:00:02 am(T3)。
(5) 当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服务器的时钟层数。
图1-2 NTP网络结构
如图1-2所示,NTP网络结构是一个层次化的分布式系统,由多个不同层次的时钟组成,用于提供时间同步服务。这种结构有助于减少对单个时间源的依赖,同时提供冗余和负载均衡。以下是NTP网络结构的关键组成部分:
· 层数0:这些是高精度的时间保持设备,如原子钟(铯或铷钟)、GPS时钟或其他无线电时钟。它们不直接连接到网络,而是通过有线或无线连接提供时间给层数1设备。
· 层数1:这些服务器直接连接到层数0设备,并被称为“主时钟”或“参考时钟”。层数1服务器通常用于为公共或私有网络提供精确时间。
· 层数2:这些是连接到层数1服务器的服务器。它们会从一个或多个层数1服务器接收时间信号,然后将时间提供给更低层次的服务器或客户端。
· 层数3~15:这些服务器分别从上一层数的服务器接收时间信号,并进一步向下分发。每一层都会增加一些延迟和抖动,但通过复杂的算法和多个时间源的使用,可以保证时间同步的准确性。
在某些网络中,例如无法与外界通信的孤立网络,网络中的设备无法与权威时钟进行时间同步。此时,可以从该网络中选择一台时钟较为准确的设备,指定该设备与本地时钟进行时间同步,即采用本地时钟作为参考时钟,使得该设备的时钟处于同步状态。该设备作为时间服务器为网络中的其他设备提供时间同步,从而实现整个网络的时间同步。
NTP时钟层数是指NTP服务器在层次化结构中的级别。时钟层数的取值范围为1~15,层数的数字越大,表示与参考时间源的距离越远,理论上可能导致同步精度降低。
时钟层数通常是根据它连接的上游时间源自动确定的。NTP客户端只会同步时钟层数小于或等于本设备的NTP服务器的时钟,且要求NTP服务器的时钟层数必须大于等于0小于等于14。所以,当配置本设备作为NTP服务器,请根据组网层次修改本设备的时钟层数。
NTP支持以下几种工作模式:
· 客户端/服务器模式
· 对等体模式
· 广播模式
· 组播模式
用户可以根据需要选择一种或几种工作模式进行时间同步。各种模式的详细介绍,如表1-1所示。如果设备作为客户端,并同时收到多路NTP时钟信号,则会选择最优的NTP时钟进行同步。
本文中NTP服务器或服务器指的是客户端/服务器模式中工作在服务器模式的设备;时间服务器指的是所有能够提供时间同步的设备,包括NTP服务器、NTP对等体、广播服务器和组播服务器。
表1-1 NTP模式介绍
模式 |
时间同步方向 |
应用场合 |
客户端/服务器模式 |
· 客户端能够与NTP服务器的时间同步 · NTP服务器无法与客户端的时间同步 |
如“NTP网络结构及时钟层数”中的“NTP网络结构”图所示,该模式通常用于下级的设备从上级的时间服务器获取时间同步 |
对等体模式 |
· 主动对等体和被动对等体的时间可以互相同步 · 如果双方的时钟都处于同步状态,则层数大的时钟与层数小的时钟的时间同步 |
如“NTP网络结构及时钟层数”中的“NTP网络结构”图所示,该模式通常用于同级的设备间互相同步,以便在同级的设备间形成备份。如果某台设备与所有上级时间服务器的通信出现故障,则该设备仍然可以从同级的时间服务器获得时间同步 |
广播模式 |
· 广播客户端能够与广播服务器的时间同步 · 广播服务器无法与广播客户端的时间同步 |
广播服务器广播发送时间同步报文,可以同时同步同一个子网中多个广播客户端的时间。如“NTP网络结构及时钟层数”中的“NTP网络结构”图所示,使用同一个时间服务器为同一个子网中的大量设备提供时间同步时,可以使用广播模式,以简化网络配置 由于只有广播服务器单方向发送报文,广播模式的时间准确度不如客户端/服务器模式和对等体模式 |
组播模式 |
· 组播客户端能够与组播服务器的时间同步 · 组播服务器无法与组播客户端的时间同步 |
组播模式对广播模式进行了扩展,组播服务器可以同时为同一子网、不同子网的多个组播客户端提供时间同步 组播模式的时间准确度不如客户端/服务器模式和对等体模式 |
NTP客户端/服务器模式是NTP的一种工作方式,其中NTP服务器维护时间信息,而NTP客户端则与服务器通信以校准其时钟。在此模式下,客户端可以与服务器进行精确的时间同步,确保网络内的时间一致性。
NTP客户端/服务器模式的时间同步过程包括以下几个步骤:
(1) 客户端发起时间同步请求:客户端主机定期向服务器端发送时间同步请求报文,该报文中的Mode字段设置为3,表示客户端模式。此时客户端不关心服务器端的可达性和层次结构。
(2) 服务器端响应时间同步请求:当服务器端接收到客户端的请求后,它将在应答回复报文中填入当前的时间信息,并将Mode字段设置为4,表示服务器模式。然后将此报文发送给客户端。在这个过程中,服务器无需保留任何有关客户端的状态信息。
(3) 客户端进行时钟同步:当客户端收到服务器端的应答报文后,它将利用收到的时间信息进行时钟过滤和选择,以此来同步到时钟优选的服务器,完成时间的校准。
图1-3 NTP客户端/服务器模式时钟同步示意图
NTP对等体模式中的时间同步是通过两个节点(对等体)之间的相互通信和协商来实现的。在这种模式下,不再有固定的客户端和服务器角色,两个NTP对等体都可以作为时间的来源。同步过程是以两个节点中更可靠、更精确的时间为标准来进行的。
具体来说,NTP对等体模式的时间同步过程包括以下几个步骤:
(1) 建立对等关系:主动对等体(Active Peer)首先发送Mode字段为1(表示主动对等体)的报文,被动对等体则回应Mode字段为2(表示被动对等体)的报文。这样,双方建立起正式的对等体关系。
(2) 双向时间同步:一旦对等体关系建立,两个节点就会相互发送和接收对方的时间信息,并利用这些信息来调整各自的时钟。这个过程中,每个节点都会计算往返时间延迟和偏差,并据此调整自己的本地时钟。
在对等体间进行同步时,通常较低层次(也就是距离标准时间源层数多的节点)的对等体会向较高层次(层数少)的对等体对齐时间。层次表示距离标准时间源的“距离”,层数较小的节点被认为时间更接近标准时间源,因此更可靠。
如果主动对等体可以从多个时间服务器获取时间同步,则主动对等体收到应答报文后,进行时钟过滤和选择。NTP使用一系列复杂的算法,如钟滤波、偏移预测、抖动估计等来选择最佳的时间样本,并据此调整本地时间。通过这些算法,对等体会选择在一段时间内对方时间最稳定、最可靠的样本作为时间同步的依据。
图1-4 NTP对等体模式时钟同步示意图
NTP广播模式是网络时间协议(NTP)的一种工作模式,允许一个NTP服务器向整个网络广播时间信息。在这种模式下,任何监听该广播的NTP客户端都可以接收时间信息并根据这些信息来同步各自的系统时钟。
NTP广播模式的时间同步过程包括以下几个步骤:
(1) 广播服务器周期性地向广播地址255.255.255.255发送时间同步报文,报文中的Mode字段设置为5,表示广播模式。
(2) 客户端侦听来自服务器的广播报文。客户端接收到第一个广播报文后,会启用一个短暂的客户端/服务器模式与服务器交换报文,来估计网络延迟。
(3) 进行初步同步和延迟估计后,客户端进入广播模式,继续侦听后续的广播报文,并根据这些报文中的时间信息同步本地时钟。之后,只有广播服务器单方向发送报文。
图1-5 NTP广播模式时钟同步示意图
NTP组播模式是NTP的一种工作模式,它允许服务器向特定的IPv4或IPv6组播地址发送时间同步报文。组播模式类似于广播,但它可以跨越多个子网,并且只有加入了特定组播组的客户端才会接收和处理这些报文。
NTP组播模式的时间同步过程包括以下几个步骤:
(1) 组播服务器周期性地向指定的IPv4或IPv6组播地址发送时间同步报文,报文中的Mode字段设置为5,表示组播模式。
(2) 组播客户端侦听来自服务器的组播报文。接收到第一个组播报文后,客户端为了估计网络延迟,会先启用一个短暂的客户端/服务器模式与服务器交换报文。
(3) 进行初步同步和延迟估计后,客户端进入组播模式,继续侦听后续的组播报文,并根据这些报文中的时间信息同步本地时钟。
图1-6 NTP组播模式时钟同步示意图
为了提高时间同步的安全性,NTP提供了NTP服务的访问控制权限和NTP验证功能。
本功能是指利用ACL限制对端设备对本地设备上NTP服务的访问控制权限。NTP服务的访问控制权限从高到低依次为peer、server、synchronization、query。
· peer:完全访问权限。该权限既允许对端设备向本地设备的时间同步,对本地设备进行控制查询(查询NTP的一些状态,比如告警信息、验证状态、时间服务器信息等),同时本地设备也可以向对端设备的时间同步。
· server:服务器访问与查询权限。该权限允许对端设备向本地设备的时间同步,对本地设备进行控制查询,但本地设备不会向对端设备的时间同步。
· synchronization:仅具有访问服务器的权限。该权限只允许对端设备向本地设备的时间同步,但不能进行控制查询。
· query:仅具有控制查询的权限。该权限只允许对端设备对本地设备的NTP服务进行控制查询,但是不能向本地设备的时间同步。
当设备接收到NTP服务请求时,会按照权限从高到低的顺序依次进行匹配。匹配原则为:
· 如果没有指定权限应用的ACL或权限应用的ACL尚未创建,则继续匹配下一个权限。
· 如果所有的权限都没有应用ACL或权限应用的ACL尚未创建,则所有对端设备对本地设备NTP服务的访问控制权限均为peer。
· 如果存在应用了ACL的权限,且该ACL已经创建,则只有NTP服务请求匹配了某个权限应用的ACL中的permit规则,发送该NTP服务请求的对端设备才会具有该访问控制权限。其他情况下(NTP服务请求匹配某个权限应用的ACL中的deny规则或没有匹配任何权限的任何规则),发送该NTP服务请求的对端设备不具有任何权限。
配置NTP服务的访问控制权限,仅提供了一种最小限度的安全措施,更安全的方法是使用NTP验证功能。
在一些对时间同步的安全性要求较高的网络中,运行NTP协议时请使用NTP验证功能。NTP验证功能可以用来验证接收到的NTP报文的合法性。只有报文通过验证后,设备才会接收该报文,并从中获取时间同步信息;否则,设备会丢弃该报文。从而,保证设备不会与非法的时间服务器进行时间同步,避免时间同步错误。
图1-7 NTP验证功能示意图
如图1-7所示,NTP验证功能的工作过程为:
(2) NTP报文发送者利用密钥ID标识的密钥对NTP报文进行MD5/HMAC运算,并将计算出来的摘要信息连同NTP报文和密钥ID一起发送给接收者。
(3) 接收者接收到该NTP报文后,根据报文中的密钥ID找到对应的密钥,并利用该密钥对报文进行MD5/HMAC运算。接收者将运算结果与报文中的摘要信息比较,依据比较结果,有以下三种情况:
¡ 比较结果不相同,则丢弃该报文。
¡ 比较结果相同,且本地无需建立NTP会话,则应答该报文。建立会话的详细介绍,请参见“配置动态会话的最大数目”。
¡ 比较结果相同,且本地需要建立或已存在NTP会话,则检查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
由于FIPS模式对安全要求更高,所以,设备运行于FIPS模式时,
· NTP工作模式仅支持客户端/服务器模式和对等体模式,不支持广播模式和组播模式。
· NTP仅支持版本3和4,不支持版本1和2。
· NTP支持HMAC-SHA-1、HMAC-SHA-256、HMAC-SHA-384、HMAC-SHA-512身份验证算法,不支持MD5身份验证算法。
有关FIPS模式的详细介绍请参见“安全配置指导”中的“FIPS”。
配置NTP时,需要注意:
· 设备上不能同时配置NTP和SNTP功能。缺省情况下,NTP和SNTP使用UDP端口号123通信。如果这个端口号被其它业务模块占用,会导致NTP和SNTP功能开启失败。如果NTP或SNTP功能开启,则其它业务模块不能使用123这个端口号。
· 支持NTP的接口均为三层接口,包括三层以太网接口/子接口、三层聚合接口/子接口、VLAN接口、Tunnel接口等。
· 建议用户不要在聚合成员口上进行NTP相关配置。
· 为保证时间同步的准确性,不建议用户在组网中配置两个或者两个以上的时钟源,以免造成时钟震荡,甚至出现无法同步的情况。
· NTP时钟源与设备当前系统时间的偏差必须小于68年,否则无法正常时间同步。
· 用户需要保证通过clock protocol命令,配置在指定的MDC(Multitenant Device Context,多租户设备环境),以NTP方式获取系统时间。有关clock protocol命令的详细介绍,请参见“基础配置命令参考”中的“设备管理”。
· 请确保设备系统时间不超过2035年,否则无法正常进行时间同步。可以执行display clock命令查看当前设备系统时间。
设备作为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服务器的时钟层数。
(1) 开启NTP服务
缺省情况下,NTP服务处于开启状态,无需配置本步骤。
(2) 配置客户端/服务器模式下的NTP
(3) (可选)配置NTP服务的访问控制权限
(4) (可选)配置客户端/服务器模式的NTP验证功能
(5) (可选)控制NTP报文的收发
(6) (可选)控制NTP时间同步
(7) (可选)控制NTP同步时的日志和告警信息的打印
(1) 开启NTP服务
缺省情况下,NTP服务处于开启状态,无需配置本步骤。
(2) 配置客户端/服务器模式下的NTP
需要开启NTP服务器功能。缺省情况下,NTP服务器功能处于开启状态,无需配置本步骤。
(3) (可选)配置本地时钟作为参考时钟
(4) (可选)配置NTP服务的访问控制权限
(5) (可选)配置客户端/服务器模式的NTP验证功能
(6) (可选)控制NTP报文的收发
(1) 开启NTP服务
缺省情况下,NTP服务处于开启状态,无需配置本步骤。
(2) 配置对等体模式下的NTP
(3) (可选)配置本地时钟作为参考时钟
(4) (可选)配置NTP服务的访问控制权限
(5) (可选)配置对等体模式的NTP验证功能
(6) (可选)控制NTP报文的收发
(7) (可选)控制NTP时间同步
(8) (可选)控制NTP同步时的日志和告警信息的打印
(1) 开启NTP服务
缺省情况下,NTP服务处于开启状态,无需配置本步骤。
(2) (可选)配置本地时钟作为参考时钟
(3) (可选)配置NTP服务的访问控制权限
(4) (可选)配置对等体模式的NTP验证功能
(5) (可选)控制NTP报文的收发
(6) (可选)控制NTP时间同步
(7) (可选)控制NTP同步时的日志和告警信息的打印
(1) 开启NTP服务
缺省情况下,NTP服务处于开启状态,无需配置本步骤。
(2) 配置广播模式下的NTP
(3) (可选)配置NTP服务的访问控制权限
(4) (可选)配置广播模式的NTP验证功能
(5) (可选)控制NTP报文的收发
(6) (可选)控制NTP时间同步
(7) (可选)控制NTP同步时的日志和告警信息的打印
(1) 开启NTP服务
缺省情况下,NTP服务处于开启状态,无需配置本步骤。
(2) 配置广播模式下的NTP
(3) (可选)配置本地时钟作为参考时钟
(4) (可选)配置NTP服务的访问控制权限
(5) (可选)配置广播模式的NTP验证功能
(6) (可选)控制NTP报文的收发
(1) 开启NTP服务
缺省情况下,NTP服务处于开启状态,无需配置本步骤。
(2) 配置组播模式下的NTP
(3) (可选)配置NTP服务的访问控制权限
(4) (可选)配置组播模式的NTP验证功能
(5) (可选)控制NTP报文的收发
(6) (可选)控制NTP时间同步
(7) (可选)控制NTP同步时的日志和告警信息的打印
(1) 开启NTP服务
缺省情况下,NTP服务处于开启状态,无需配置本步骤。
(2) 配置组播模式下的NTP
(3) (可选)配置本地时钟作为参考时钟
(4) (可选)配置NTP服务的访问控制权限
(5) (可选)配置组播模式的NTP验证功能
(6) (可选)控制NTP报文的收发
NTP服务与SNTP服务互斥,同一时刻只能开启其中一个服务。因此,在开启NTP服务器之前,请确保SNTP服务关闭。
(1) 进入系统视图。
system-view
(2) 开启NTP服务。
ntp-service enable
缺省情况下, NTP服务处于关闭状态。
缺省情况下,NTP使用UDP端口号123进行通信。如果该端口已被其他业务模块占用,NTP功能将无法启动。
· 当开启NTP服务时,设备将作为NTP服务器和客户端,通过UDP端口号123提供NTP服务。如果此端口号被其他业务模块占用,NTP服务将启动失败。
· 在NTP功能运行期间,如果用户执行undo ntp-service time-server enable关闭IPv4 NTP服务器功能,设备将仅作为IPv4 NTP客户端运行。为了安全起见,系统会关闭IPv4协议栈的UDP端口号123,并重新为NTP分配一个空闲的UDP端口号。端口123将被预留,其他服务无法占用。一旦后续重新启用IPv4 NTP服务器功能,设备将把IPv4 NTP的侦听端口切换回123。
· 在NTP功能运行期间,如果用户执行undo ntp-service ipv6 time-server enable命令关闭IPv6 NTP服务器功能,设备将仅作为IPv6 NTP客户端运行。为了安全起见,系统会关闭IPv6协议栈的UDP端口号123,并重新为NTP分配一个空闲的UDP端口号。端口123将被预留,其他服务无法占用。一旦后续重新启用IPv6 NTP服务器功能,设备将把IPv6 NTP的侦听端口切换回123。
· 当设备采用客户端/服务器模式时,需要在客户端上指定服务器的地址。
· 当服务器端的时钟层数大于或等于客户端的时钟层数时,客户端将不会与其同步。
· 多次执行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服务器。
(1) 进入系统视图。
system-view
(2) 开启NTP服务器功能。
(IPv4网络)
ntp-service time-server enable
缺省情况下,NTP服务器功能处于开启状态。
(IPv6网络)
ntp-service ipv6 time-server enable
缺省情况下,IPv6 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service acl或ntp-service ipv6 acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间。
· 当设备采用对等体模式时,需要在主动对等体上指定被动对等体的地址。
· 被动对等体上需要执行ntp-service enable命令来开启NTP服务,否则被动对等体不会处理来自主动对等体的NTP报文。
· 主动对等体和被动对等体的时钟至少要有一个处于同步状态,否则它们的时间都将无法同步。
· 多次执行ntp-service unicast-peer命令或ntp-service ipv6 unicast-peer命令可以为设备指定多个被动对等体。
· 在IPv4 NTP对等体模式/广播模式/组播模式组网场景下,不管设备作为NTP客户端还是服务器端,请不要执行undo ntp-service time-server enable命令,否则会导致IPv4协议栈的UDP端口123被关闭,从而影响IPv4 NTP时钟同步。
· 在IPv6 NTP对等体模式/广播模式/组播模式组网场景下,不管设备作为IPv6 NTP客户端还是服务器端,请不要执行undo ntp-service ipv6 time-server enable命令,否则会导致IPv6协议栈的UDP端口123被关闭,从而影响IPv6 NTP时钟同步。
(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 ] *
缺省情况下,未指定被动对等体。
(3) 开启NTP服务器功能。
(IPv4网络)
ntp-service time-server enable
缺省情况下,NTP服务器功能处于开启状态。
(IPv6网络)
ntp-service ipv6 time-server enable
缺省情况下,IPv6 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service acl或ntp-service ipv6 acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间。
(1) 进入系统视图。
system-view
(2) 开启NTP服务器功能。
(IPv4网络)
ntp-service time-server enable
缺省情况下,IPv4 NTP服务器功能处于开启状态。
(IPv6网络)
ntp-service ipv6 time-server enable
缺省情况下,IPv6 缺省情况下,IPv6 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service server acl或ntp-service ipv6 server acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间,也无法通过对等体、广播和组播模式同步NTP服务器的时间。
(3) 开启NTP服务器功能。
ntp-service time-server enable
缺省情况下,IPv4 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service server acl指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间,也无法通过对等体、广播和组播模式同步NTP服务器的时间。
· 当设备采用广播模式时,广播服务器端和广播客户端上都需要进行配置。
· 配置NTP的广播模式之前,广播服务器需要通过与其他设备同步或配置本地时钟作为参考时钟等方式,使得自己的时钟处于同步状态,否则广播客户端不会将自己的时间与广播服务器的时间同步。
· 在IPv4 NTP对等体模式/广播模式/组播模式组网场景下,不管设备作为NTP客户端还是服务器端,请不要执行undo ntp-service time-server enable命令,否则会导致IPv4协议栈的UDP端口123被关闭,从而影响IPv4 NTP时钟同步。
· 在IPv6 NTP对等体模式/广播模式/组播模式组网场景下,不管设备作为IPv6 NTP客户端还是服务器端,请不要执行undo ntp-service ipv6 time-server enable命令,否则会导致IPv6协议栈的UDP端口123被关闭,从而影响IPv6 NTP时钟同步。
(1) 进入系统视图。
system-view
(2) 进入要接收NTP广播报文的接口。
interface interface-type interface-number
(3) 配置设备工作在NTP广播客户端模式。
ntp-service broadcast-client
缺省情况下,未配置NTP工作模式。
执行本命令后,设备将通过当前接口接收NTP广播报文。
(4) 开启NTP服务器功能。
(IPv4网络)
ntp-service time-server enable
缺省情况下,IPv4 NTP服务器功能处于开启状态。
(IPv6网络)
ntp-service ipv6 time-server enable
缺省情况下,IPv6 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service server acl或ntp-service ipv6 server acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间,也无法通过对等体、广播和组播模式同步NTP服务器的时间。
(5) 开启NTP服务器功能。
ntp-service time-server enable
缺省情况下,IPv4 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service server acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间,也无法通过对等体、广播和组播模式同步NTP服务器的时间。
(1) 进入系统视图。
system-view
(2) 开启NTP服务器功能。
(IPv4网络)
ntp-service time-server enable
缺省情况下,NTP服务器功能处于开启状态。
(IPv6网络)
ntp-service ipv6 time-server enable
缺省情况下,IPv6 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service acl或ntp-service ipv6 acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间。
(3) 进入要发送NTP广播报文的接口。
interface interface-type interface-number
(4) 配置设备工作在NTP广播服务器模式。
ntp-service broadcast-server [ authentication-keyid keyid | version number ] *
缺省情况下,未配置NTP工作模式。
执行本命令后,设备将通过当前接口周期性发送NTP广播报文。
· 设备采用组播模式时,在组播服务器端和组播客户端上都需要进行本配置。
· 配置NTP的组播模式之前,组播服务器需要通过与其他设备同步或配置本地时钟作为参考时钟等方式,使得自己的时钟处于同步状态,否则组播客户端不会将自己的时间与组播服务器的时间同步。
· 在IPv4 NTP对等体模式/广播模式/组播模式组网场景下,不管设备作为NTP客户端还是服务器端,请不要执行undo ntp-service time-server enable命令,否则会导致IPv4协议栈的UDP端口123被关闭,从而影响IPv4 NTP时钟同步。
· 在IPv6 NTP对等体模式/广播模式/组播模式组网场景下,不管设备作为IPv6 NTP客户端还是服务器端,请不要执行undo ntp-service ipv6 time-server enable命令,否则会导致IPv6协议栈的UDP端口123被关闭,从而影响IPv6 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组播报文。
(4) 开启NTP服务器功能。
(IPv4网络)
ntp-service time-server enable
缺省情况下,IPv4 NTP服务器功能处于开启状态。
(IPv6网络)
ntp-service ipv6 time-server enable
缺省情况下,IPv6 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service server acl或ntp-service ipv6 server acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间,也无法通过对等体、广播和组播模式同步NTP服务器的时间。
(5) 开启NTP服务器功能。
ntp-service time-server enable
缺省情况下,IPv4 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service server acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间,也无法通过对等体、广播和组播模式同步NTP服务器的时间。
(1) 进入系统视图。
system-view
(2) 开启NTP服务器功能。
(IPv4网络)
ntp-service time-server enable
缺省情况下,NTP服务器功能处于开启状态。
(IPv6网络)
ntp-service ipv6 time-server enable
缺省情况下,IPv6 NTP服务器功能处于开启状态。
本命令用于控制设备能否对外提供NTP同步时间:当开启NTP服务器功能,且符合ntp-service acl或ntp-service ipv6 acl命令指定的条件时,设备可为其它设备提供NTP同步时间;当关闭NTP服务器功能时,设备不能为其它设备提供NTP同步时间,也无法通过对等体、广播和组播模式同步NTP服务器的时间。
(3) 进入要发送NTP组播报文的接口。
interface interface-type interface-number
(4) 配置设备工作在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组播报文。
在实际网络中,通常将从权威时钟(例如原子时钟)获取时间同步的NTP服务器的时钟层数设置为1,并用作主时间服务器,以同步网络中其他设备的时钟。网络中设备与主时间服务器的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报文的源地址。如果配置了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 | ipv4-address }
(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服务器时,控制设备是否要响应NTP客户端的时间同步请求。
缺省情况下,NTP服务器收到NTP客户端的时钟同步请求时,会检查NTP客户端的时钟层数,只有NTP客户端的时钟层数高于NTP服务器的时钟层数时,NTP服务器才会响应NTP客户端的请求,才能进行时钟同步。在一些网络环境中,如果NTP客户端的时钟层数小于或等于NTP服务器的时钟层数,且不支持修改时钟层数时,可以通过配置该功能,让NTP服务器忽略对NTP时钟层数的限制。
(1) 进入系统视图。
system-view
(2) 配置忽略NTP时钟层数限制。
ntp-service ignore clock-stratum
缺省情况下,NTP服务器在向NTP客户端同步时钟的时候,存在NTP时钟层数限制。
本功能用于设备作为NTP客户端时,控制设备是否要同步NTP服务器提供的时间。
设备将NTP服务器端提供的时间减去NTP客户端的本地时间,得到时间偏移。经过多次采样,可以得到多个时间偏移。正常情况下,这个时间偏移应该稳定在一个较小的范围内变化,即时间偏移应该小于等于本功能配置的最大偏差。如果时间偏移大于配置的最大偏差,NTP客户端会认为NTP服务器端的时间不可靠,不进行同步。
(1) 进入系统视图。
system-view
(2) 配置NTP允许时间同步的最大偏差,超过阈值不进行时间同步。
ntp-service time-offset-limit limit-threshold
缺省情况下,未配置NTP允许时间同步的最大偏差。
缺省情况下,NTP客户端与服务器端的时间差经过多次采样得到的时间偏移超过128ms时,客户端将进行一次时间同步,并打印日志信息和告警信息。配置本功能后,NTP客户端与服务器端的时间差经过多次采样得到的时间偏移超过128ms时,客户端将进行一次时间同步,但是时间偏移大于log-threshold时,才会打印日志;时间偏移大于trap-threshold时,才会打印告警信息。
(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实现Device B与Device A的时间同步,要求:
· 在Device A上设置本地时钟作为参考时钟,层数为2;
· 配置Device B工作在客户端模式,指定Device A为NTP服务器。
图1-8 配置NTP客户端/服务器模式组网图
(1) 按照图1-8配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Device A
# 开启NTP服务。
<DeviceA> system-view
[DeviceA] ntp-service enable
# 设置本地时钟作为参考时钟,层数为2。
[DeviceA] ntp-service refclock-master 2
(3) 配置Device B
# 开启NTP服务。
<DeviceB> system-view
[DeviceB] ntp-service enable
# 配置通过NTP协议获取时间。
[DeviceB] clock protocol ntp mdc 1
# 设置Device A为Device B的NTP服务器。
[DeviceB] ntp-service unicast-server 1.0.1.11
# 完成上述配置后,Device B向Device A进行时间同步。同步后查看Device B的NTP状态。可以看出,Device B已经与Device A同步,层数比Device A的层数大1,为3。
[DeviceB] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 1.0.1.11
Local mode: client
Reference clock ID: 1.0.1.11
Leap indicator: 00
Clock jitter: 0.000977 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00383 ms
Root dispersion: 16.26572 ms
Reference time: d0c6033f.b9923965 Wed, Dec 29 2019 18:58:07.724
System poll interval: 64 s
# 查看Device B的NTP服务的所有IPv4会话信息,可以看到Device B与Device A建立了会话。
[DeviceB] display ntp-service sessions
source reference stra reach poll now offset delay disper
********************************************************************************
[12345]1.0.1.11 127.127.1.0 2 1 64 15 -4.0 0.0038 16.262
Notes: 1 source(master), 2 source(peer), 3 selected, 4 candidate, 5 configured.
Total sessions: 1
为了通过IPv6 NTP实现Device B与Device A的时间同步,要求:
· 在Device A上设置本地时钟作为参考时钟,层数为2;
· 配置Device B工作在客户端模式,指定Device A为IPv6 NTP服务器。
图1-9 配置IPv6 NTP客户端/服务器模式组网图
(1) 按照图1-9配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Device A
# 开启NTP服务。
<DeviceA> system-view
[DeviceA] ntp-service enable
# 设置本地时钟作为参考时钟,层数为2。
[DeviceA] ntp-service refclock-master 2
(3) 配置Device B
# 开启NTP服务。
<DeviceB> system-view
[DeviceB] ntp-service enable
# 配置通过NTP协议获取时间。
[DeviceB] clock protocol ntp mdc 1
# 设置Device A为Device B的IPv6 NTP服务器。
[DeviceB] ntp-service ipv6 unicast-server 3000::34
# 完成上述配置后,Device B向Device A进行时间同步。同步后查看Device B的NTP状态。可以看出,Device B已经与Device A同步,层数比Device A的层数大1,为3。
[DeviceB] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 3000::34
Local mode: client
Reference clock ID: 163.29.247.19
Leap indicator: 00
Clock jitter: 0.000977 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.02649 ms
Root dispersion: 12.24641 ms
Reference time: d0c60419.9952fb3e Wed, Dec 29 2019 19:01:45.598
System poll interval: 64 s
# 查看Device B的NTP服务的所有IPv6会话信息,可以看到Device B与Device A建立了会话。
[DeviceB] display ntp-service ipv6 sessions
Notes: 1 source(master), 2 source(peer), 3 selected, 4 candidate, 5 configured.
Source: [12345]3000::34
Reference: 127.127.1.0 Clock stratum: 2
Reachabilities: 15 Poll interval: 64
Last receive time: 19 Offset: 0.0
Roundtrip delay: 0.0 Dispersion: 0.0
Total sessions: 1
网络中存在时间服务器Device A。为了通过NTP实现Device B与Device A进行时间同步,要求:
· 在Device A上设置本地时钟作为参考时钟,层数为2;
· 配置Device A工作在对等体模式,指定Device B为被动对等体,即Device A为主动对等体,Device B为被动对等体。
图1-10 配置NTP对等体模式组网图
(1) 按照图1-10配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Device B
# 开启NTP服务。
<DeviceB> system-view
[DeviceB] ntp-service enable
# 配置通过NTP协议获取时间。
[DeviceB] clock protocol ntp mdc 1
(3) 配置Device A
# 开启NTP服务。
<DeviceA> system-view
[DeviceA] ntp-service enable
# 配置通过NTP协议获取时间。
[DeviceA] clock protocol ntp mdc 1
# 设置本地时钟作为参考时钟,层数为2。
[DeviceA] ntp-service refclock-master 2
# 设置Device B为被动对等体。Device A处于主动对等体模式。
[DeviceA] ntp-service unicast-peer 3.0.1.32
# 完成上述配置后,Device B选择Device A作为参考时钟,与Device A进行时间同步。同步后查看Device B的状态。可以看出,Device B已经与Device A同步,层数比Device A的层数大1,为3。
[DeviceB] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 3.0.1.31
Local mode: sym_passive
Reference clock ID: 3.0.1.31
Leap indicator: 00
Clock jitter: 0.000916 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00609 ms
Root dispersion: 1.95859 ms
Reference time: 83aec681.deb6d3e5 Wed, Jan 8 2019 14:33:11.081
System poll interval: 64 s
# 查看Device B的NTP服务的IPv4会话信息,可以看到Device B与Device A建立了会话。
[DeviceB] display ntp-service sessions
source reference stra reach poll now offset delay disper
********************************************************************************
[12]3.0.1.31 127.127.1.0 2 62 64 34 0.4251 6.0882 1392.1
Notes: 1 source(master), 2 source(peer), 3 selected, 4 candidate, 5 configured.
Total sessions: 1
网络中存在时间服务器Device A。为了通过IPv6 NTP实现Device B与Device A进行时间同步,要求:
· 在Device A上设置本地时钟作为参考时钟,层数为2;
· 配置Device A工作在对等体模式,指定Device B为被动对等体,即Device A为主动对等体,Device B为被动对等体。
图1-11 配置IPv6 NTP对等体模式组网图
(1) 按照图1-11配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Device B
# 开启NTP服务。
<DeviceB> system-view
[DeviceB] ntp-service enable
# 配置通过NTP协议获取时间。
[DeviceB] clock protocol ntp mdc 1
(3) 配置Device A
# 开启NTP服务。
<DeviceA> system-view
[DeviceA] ntp-service enable
# 配置通过NTP协议获取时间。
[DeviceA] clock protocol ntp mdc 1
# 设置本地时钟作为参考时钟,层数为2。
[DeviceA] ntp-service refclock-master 2
# 设置Device B为IPv6被动对等体。Device A处于主动对等体模式。
[DeviceA] ntp-service ipv6 unicast-peer 3000::36
# 完成上述配置后,Device B选择Device A作为参考时钟,与Device A进行时间同步。同步后查看Device B的状态。可以看出,Device B已经与Device A同步,层数比Device A的层数大1,为3。
[DeviceB] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 3000::35
Local mode: sym_passive
Reference clock ID: 251.73.79.32
Leap indicator: 11
Clock jitter: 0.000977 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.01855 ms
Root dispersion: 9.23483 ms
Reference time: d0c6047c.97199f9f Wed, Dec 29 2019 19:03:24.590
System poll interval: 64 s
# 查看Device B的NTP服务的IPv6会话信息,可以看到Device B与Device A建立了会话。
[DeviceB] display ntp-service ipv6 sessions
Notes: 1 source(master), 2 source(peer), 3 selected, 4 candidate, 5 configured.
Source: [1234]3000::35
Reference: 127.127.1.0 Clock stratum: 2
Reachabilities: 15 Poll interval: 64
Last receive time: 19 Offset: 0.0
Roundtrip delay: 0.0 Dispersion: 0.0
Total sessions: 1
为了实现Switch C作为同一网段中多个设备的时间服务器,同时同步多个设备的时间,要求:
· 在Switch C上设置本地时钟作为参考时钟,层数为2;
· Switch C工作在广播服务器模式,从VLAN接口2向外广播发送NTP报文;
· Switch A和Switch B工作在广播客户端模式,分别从各自的VLAN接口2监听NTP广播报文。
图1-12 配置NTP广播模式组网图
(1) 按照图1-12配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Switch C
# 开启NTP服务。
<SwitchC> system-view
[SwitchC] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchC] clock protocol ntp mdc 1
# 设置本地时钟作为参考时钟,层数为2。
[SwitchC] ntp-service refclock-master 2
# 设置Switch C为广播服务器,从VLAN接口2发送广播报文。
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] ntp-service broadcast-server
(3) 配置Switch A
# 开启NTP服务。
<SwitchA> system-view
[SwitchA] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchA] clock protocol ntp mdc 1
# 设置Switch A为广播客户端,从VLAN接口2监听广播报文。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ntp-service broadcast-client
(4) 配置Switch B
# 开启NTP服务。
<SwitchB> system-view
[SwitchB] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchB] clock protocol ntp mdc 1
# 设置Switch B为广播客户端,从VLAN接口2监听广播报文。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ntp-service broadcast-client
# Switch A和Switch B接收到Switch C发出的广播报文后,与其同步。以Switch A为例,同步后查看Switch A的状态。可以看出,Switch A已经与Switch C同步,层数比Switch C的层数大1,为3。
[SwitchA-Vlan-interface2] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 3.0.1.31
Local mode: bclient
Reference clock ID: 3.0.1.31
Leap indicator: 00
Clock jitter: 0.044281 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00229 ms
Root dispersion: 4.12572 ms
Reference time: d0d289fe.ec43c720 Sat, Jan 8 2019 7:00:14.922
System poll interval: 64 s
# 查看Switch A的NTP服务的IPv4会话信息,可以看到Switch A与Switch C建立了会话。
[SwitchA-Vlan-interface2] display ntp-service sessions
source reference stra reach poll now offset delay disper
********************************************************************************
[1245]3.0.1.31 127.127.1.0 2 1 64 519 -0.0 0.0022 4.1257
Notes: 1 source(master),2 source(peer),3 selected,4 candidate,5 configured.
Total sessions: 1
为了实现Switch C作为不同网段中多个设备的时间服务器,同时同步多个设备的时间,要求:
· 在Switch C上设置本地时钟作为参考时钟,层数为2;
· Switch C工作在组播服务器模式,从VLAN接口2向外组播发送NTP报文;
· Switch A和Switch D工作在组播客户端模式,Switch A从VLAN接口3监听NTP组播报文,Switch D从VLAN接口2监听NTP组播报文。
图1-13 配置NTP组播模式组网图
(1) 按照图1-13配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Switch C
# 开启NTP服务。
<SwitchC> system-view
[SwitchC] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchC] clock protocol ntp mdc 1
# 设置本地时钟作为参考时钟,层数为2。
[SwitchC] ntp-service refclock-master 2
# 设置Switch C为组播服务器,从VLAN接口2发送组播报文。
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] ntp-service multicast-server
(3) 配置Switch D
# 开启NTP服务。
<SwitchD> system-view
[SwitchD] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchD] clock protocol ntp mdc 1
# 设置Switch D为组播客户端,从VLAN接口2监听组播报文。
[SwitchD] interface vlan-interface 2
[SwitchD-Vlan-interface2] ntp-service multicast-client
(4) 验证配置一
# 由于Switch D和Switch C在同一个网段,不需要配置组播功能,Switch D就可以收到Switch C发出的组播报文,并与其同步。同步后查看Switch D的状态。可以看出,Switch D已经与Switch C同步,层数比Switch C的层数大1,为3。
[SwitchD-Vlan-interface2] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 3.0.1.31
Local mode: bclient
Reference clock ID: 3.0.1.31
Leap indicator: 00
Clock jitter: 0.044281 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00229 ms
Root dispersion: 4.12572 ms
Reference time: d0d289fe.ec43c720 Sat, Jan 8 2019 7:00:14.922
System poll interval: 64 s
# 查看Switch D的NTP服务的所有IPv4会话信息,可以看到Switch D与Switch C建立了会话。
[SwitchD-Vlan-interface2] display ntp-service sessions
source reference stra reach poll now offset delay disper
********************************************************************************
[1245]3.0.1.31 127.127.1.0 2 1 64 519 -0.0 0.0022 4.1257
Notes: 1 source(master),2 source(peer),3 selected,4 candidate,5 configured.
Total sessions: 1
(5) 配置Switch B
由于Switch A与Switch C不在同一网段,所以Switch B上需要配置组播功能,否则Switch A收不到Switch C发出的组播报文。
# 配置组播功能。
<SwitchB> system-view
[SwitchB] multicast routing
[SwitchB-mrib] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] pim dm
[SwitchB-Vlan-interface2] quit
[SwitchB] vlan 3
[SwitchB-vlan3] port ten-gigabitethernet 3/0/1
[SwitchB-vlan3] quit
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] igmp enable
[SwitchB-Vlan-interface3] igmp static-group 224.0.1.1
[SwitchB-Vlan-interface3] quit
[SwitchB] igmp-snooping
[SwitchB-igmp-snooping] quit
[SwitchB] interface ten-gigabitethernet 3/0/1
[SwitchB-Ten-GigabitEthernet3/0/1] igmp-snooping static-group 224.0.1.1 vlan 3
(6) 配置Switch A
# 开启NTP服务。
<SwitchA> system-view
[SwitchA] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchA] clock protocol ntp mdc 1
# 设置Switch A为组播客户端,从VLAN接口3监听组播报文。
[SwitchA] interface vlan-interface 3
[SwitchA-Vlan-interface3] ntp-service multicast-client
(7) 验证配置二
# 同步后查看Switch A的状态。可以看出,Switch A已经与Switch C同步,层数比Switch C的层数大1,为3。
[SwitchA-Vlan-interface3] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 3.0.1.31
Local mode: bclient
Reference clock ID: 3.0.1.31
Leap indicator: 00
Clock jitter: 0.165741 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00534 ms
Root dispersion: 4.51282 ms
Reference time: d0c61289.10b1193f Wed, Dec 29 2019 20:03:21.065
System poll interval: 64 s
# 查看Switch A的NTP服务的所有IPv4会话信息,可以看到Switch A与Switch C建立了会话。
[SwitchA-Vlan-interface3] display ntp-service sessions
source reference stra reach poll now offset delay disper
********************************************************************************
[1234]3.0.1.31 127.127.1.0 2 247 64 381 -0.0 0.0053 4.5128
Notes: 1 source(master),2 source(peer),3 selected,4 candidate,5 configured.
Total sessions: 1
为了实现Switch C作为不同网段中多个设备的时间服务器,同时同步多个设备的时间,要求:
· 在Switch C上设置本地时钟作为参考时钟,层数为2;
· Switch C工作在IPv6组播服务器模式,从VLAN接口2向外组播发送IPv6 NTP报文;
· Switch A和Switch D工作在IPv6组播客户端模式,Switch A从VLAN接口3监听IPv6 NTP组播报文,Switch D从VLAN接口2监听IPv6 NTP组播报文。
图1-14 配置IPv6 NTP组播模式组网图
(1) 按照图1-14配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Switch C
# 开启NTP服务。
<SwitchC> system-view
[SwitchC] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchC] clock protocol ntp mdc 1
# 设置本地时钟作为参考时钟,层数为2。
[SwitchC] ntp-service refclock-master 2
# 设置Switch C为IPv6组播服务器,从VLAN接口2向组播地址FF24::1发送NTP报文。
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] ntp-service ipv6 multicast-server ff24::1
(3) 配置Switch D
# 开启NTP服务。
<SwitchD> system-view
[SwitchD] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchD] clock protocol ntp mdc 1
# 设置Switch D为IPv6组播客户端,在VLAN接口2监听目的地址为FF24::1的NTP组播报文。
[SwitchD] interface vlan-interface 2
[SwitchD-Vlan-interface2] ntp-service ipv6 multicast-client ff24::1
(4) 验证配置一
# 由于Switch D和Switch C在同一个网段,不需要配置IPv6组播功能,Switch D就可以收到Switch C发出的IPv6组播报文,并与其同步。同步后查看Switch D的状态。Switch D已经与Switch C同步,层数比Switch C的层数大1,为3。
[SwitchD-Vlan-interface2] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 3000::2
Local mode: bclient
Reference clock ID: 165.84.121.65
Leap indicator: 00
Clock jitter: 0.000977 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00000 ms
Root dispersion: 8.00578 ms
Reference time: d0c60680.9754fb17 Wed, Dec 29 2019 19:12:00.591
System poll interval: 64 s
# 查看Switch D的NTP服务的所有IPv6会话信息,可以看到Switch D与Switch C建立了会话。
[SwitchD-Vlan-interface2] display ntp-service ipv6 sessions
Notes: 1 source(master), 2 source(peer), 3 selected, 4 candidate, 5 configured.
Source: [1234]3000::2
Reference: 127.127.1.0 Clock stratum: 2
Reachabilities: 111 Poll interval: 64
Last receive time: 23 Offset: -0.0
Roundtrip delay: 0.0 Dispersion: 0.0
Total sessions: 1
(5) 配置Switch B
由于Switch A与Switch C不在同一网段,所以Switch B上需要配置IPv6组播功能,否则Switch A收不到Switch C发出的IPv6组播报文。
# 配置IPv6组播功能。
<SwitchB> system-view
[SwitchB] ipv6 multicast routing
[SwitchB-mrib6] quit
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ipv6 pim dm
[SwitchB-Vlan-interface2] quit
[SwitchB] vlan 3
[SwitchB-vlan3] port ten-gigabitethernet 3/0/1
[SwitchB-vlan3] quit
[SwitchB] interface vlan-interface 3
[SwitchB-Vlan-interface3] mld enable
[SwitchB-Vlan-interface3] mld static-group ff24::1
[SwitchB-Vlan-interface3] quit
[SwitchB] mld-snooping
[SwitchB-mld-snooping] quit
[SwitchB] interface ten-gigabitethernet 3/0/1
[SwitchB-Ten-GigabitEthernet3/0/1] mld-snooping static-group ff24::1 vlan 3
(6) 配置Switch A
# 开启NTP服务。
<SwitchA> system-view
[SwitchA] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchA] clock protocol ntp mdc 1
# 设置Switch A为IPv6组播客户端,在VLAN接口3监听目的地址为FF24::1的NTP组播报文。
[SwitchA] interface vlan-interface 3
[SwitchA-Vlan-interface3] ntp-service ipv6 multicast-client ff24::1
(7) 验证配置二
# 同步后查看Switch A的状态。可以看出,Switch A已经与Switch C同步,层数比Switch C的层数大1,为3。
[SwitchA-Vlan-interface3] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 3000::2
Local mode: bclient
Reference clock ID: 165.84.121.65
Leap indicator: 00
Clock jitter: 0.165741 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00534 ms
Root dispersion: 4.51282 ms
Reference time: d0c61289.10b1193f Wed, Dec 29 2019 20:03:21.065
System poll interval: 64 s
# 查看Switch A的NTP服务的IPv6会话信息,可以看到Switch A与Switch C建立了会话。
[SwitchA-Vlan-interface3] display ntp-service ipv6 sessions
Notes: 1 source(master), 2 source(peer), 3 selected, 4 candidate, 5 configured.
Source: [124]3000::2
Reference: 127.127.1.0 Clock stratum: 2
Reachabilities: 2 Poll interval: 64
Last receive time: 71 Offset: -0.0
Roundtrip delay: 0.0 Dispersion: 0.0
Total sessions: 1
为了通过NTP实现Device B与Device A的时间同步,并保证时间同步的安全性,要求:
· 在Device A上设置本地时钟作为参考时钟,层数为2;
· Device B工作在客户端模式,指定Device A为NTP服务器;
· Device A和Device B上同时配置NTP验证。
图1-15 配置带身份验证的NTP客户端/服务器模式组网图
(1) 按照图1-15配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Device A的本地时钟作为参考时钟
# 开启NTP服务。
<DeviceA> system-view
[DeviceA] ntp-service enable
# 设置本地时钟作为参考时钟,层数为2。
[DeviceA] ntp-service refclock-master 2
(3) 配置Device B
# 开启NTP服务。
<DeviceB> system-view
[DeviceB] ntp-service enable
# 配置通过NTP协议获取时间。
[DeviceB] clock protocol ntp mdc 1
# 在Device B上启动NTP验证功能。
[DeviceB] ntp-service authentication enable
# 创建编号为42的NTP验证密钥,密钥值为aNiceKey,以明文形式输入。
[DeviceB] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey
# 配置编号为42的密钥为可信密钥。
[DeviceB] ntp-service reliable authentication-keyid 42
# 设置Device A为Device B的NTP服务器,并将该服务器与编号为42的密钥关联。
[DeviceB] ntp-service unicast-server 1.0.1.11 authentication-keyid 42
以上配置将使得Device B与Device A进行时间同步,但由于Device A没有开启NTP身份验证,所以,Device B还是无法与Device A同步。
(4) 在Device A上配置NTP验证功能。
# 在Device A上启动NTP验证功能。
[DeviceA] ntp-service authentication enable
# 创建编号为42的NTP验证密钥,密钥值为aNiceKey,以明文形式输入。
[DeviceA] ntp-service authentication-keyid 42 authentication-mode md5 simple aNiceKey
# 配置编号为42的密钥为可信密钥。
[DeviceA] ntp-service reliable authentication-keyid 42
# 完成上述配置后,Device B可以与Device A的时间同步。同步后查看Device B的状态。可以看出,Device B已经与Device A同步,层数比Device A的层数大1,为3。
[DeviceB] display ntp-service status
Clock status: synchronized
Clock stratum: 3
System peer: 1.0.1.11
Local mode: client
Reference clock ID: 1.0.1.11
Leap indicator: 00
Clock jitter: 0.005096 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00655 ms
Root dispersion: 1.15869 ms
Reference time: d0c62687.ab1bba7d Wed, Dec 29 2019 21:28:39.668
System poll interval: 64 s
# 查看Device B的NTP服务的所有IPv4会话信息,可以看到Device B与Device A建立了会话。
[DeviceB] display ntp-service sessions
source reference stra reach poll now offset delay disper
********************************************************************************
[1245]1.0.1.11 127.127.1.0 2 1 64 519 -0.0 0.0065 0.0
Notes: 1 source(master),2 source(peer),3 selected,4 candidate,5 configured.
Total sessions: 1
Switch C作为同一网段中多个设备的时间服务器,同时同步多个设备的时间。Switch A和Switch B要求对时间服务器进行验证,以保证时间同步的安全性。为了实现上述需求,要求:
· 在Switch C上设置本地时钟作为参考时钟,层数为3;
· Switch C工作在广播服务器模式,从VLAN接口2向外广播发送NTP报文;
· Switch A和Switch B工作在广播客户端模式,从VLAN接口2监听NTP广播报文;
· 在Switch A、Switch B和Switch C上配置NTP验证功能。
图1-16 配置带身份验证的NTP广播模式组网图
(1) 按照图1-16配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Switch A
# 开启NTP服务。
<SwitchA> system-view
[SwitchA] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchA] clock protocol ntp mdc 1
# 开启NTP验证功能,创建ID为88的NTP验证密钥,密钥值为123456,以明文形式输入,并将密钥88指定为可信密钥。
[SwitchA] ntp-service authentication enable
[SwitchA] ntp-service authentication-keyid 88 authentication-mode md5 simple 123456
[SwitchA] ntp-service reliable authentication-keyid 88
# 设置Switch A为NTP广播客户端,从VLAN接口2监听广播报文。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ntp-service broadcast-client
(3) 配置Switch B
# 开启NTP服务。
<SwitchB> system-view
[SwitchB] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchB] clock protocol ntp mdc 1
# 开启NTP验证功能,创建ID为88的NTP验证密钥,密钥值为123456,以明文形式输入,并将密钥88指定为可信密钥。
[SwitchB] ntp-service authentication enable
[SwitchB] ntp-service authentication-keyid 88 authentication-mode md5 simple 123456
[SwitchB] ntp-service reliable authentication-keyid 88
# 设置Switch B为NTP广播客户端,从VLAN接口2监听广播报文。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ntp-service broadcast-client
(4) 配置Switch C作为NTP广播服务器
# 开启NTP服务。
<SwitchC> system-view
[SwitchC] ntp-service enable
# 配置通过NTP协议获取时间。
[SwitchC] clock protocol ntp mdc 1
# 设置本地时钟作为参考时钟,层数为3。
[SwitchC] ntp-service refclock-master 3
# 设置Switch C为NTP广播服务器,从VLAN接口2向外发送广播报文。
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] ntp-service broadcast-server
[SwitchC-Vlan-interface2] quit
(5) 验证配置一
# 由于Switch A和Switch B上开启了NTP验证功能,Switch C上没有开启NTP验证功能。因此,Switch A和Switch B无法与Switch C的时间同步。以Switch B为例,查看NTP服务的状态。
[SwitchB-Vlan-interface2] display ntp-service status
Clock status: unsynchronized
Clock stratum: 16
Reference clock ID: none
(6) 在Switch C上配置NTP验证功能
# 在Switch C上开启NTP验证功能,创建ID为88的NTP验证密钥,密钥值为123456,以明文形式输入,并将密钥88指定为可信密钥。
[SwitchC] ntp-service authentication enable
[SwitchC] ntp-service authentication-keyid 88 authentication-mode md5 simple 123456
[SwitchC] ntp-service reliable authentication-keyid 88
# 设置Switch C为NTP广播服务器并指定关联的密钥编号为88。
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] ntp-service broadcast-server authentication-keyid 88
(7) 验证配置二
# 在Switch C上开启NTP验证功能后,Switch A和Switch B可以与Switch C的时间同步。以Switch B为例,查看NTP服务的状态信息,可以看到Switch B已经与Switch C同步,层数比Switch C的层数大1,为4。
[SwitchB-Vlan-interface2] display ntp-service status
Clock status: synchronized
Clock stratum: 4
System peer: 3.0.1.31
Local mode: bclient
Reference clock ID: 3.0.1.31
Leap indicator: 00
Clock jitter: 0.006683 s
Stability: 0.000 pps
Clock precision: 2^-17
Root delay: 0.00127 ms
Root dispersion: 2.89877 ms
Reference time: d0d287a7.3119666f Sat, Jan 8 2019 6:50:15.191
System poll interval: 64 s
# 查看Switch B的NTP服务的所有IPv4会话信息,可以看到Switch B与Switch C建立了连接。
[SwitchB-Vlan-interface2] display ntp-service sessions
source reference stra reach poll now offset delay disper
********************************************************************************
[1245]3.0.1.31 127.127.1.0 3 3 64 68 -0.0 0.0000 0.0
Notes: 1 source(master),2 source(peer),3 selected,4 candidate,5 configured.
Total sessions: 1
NTP时间同步过程中需要进行复杂的时钟优选运算,时间同步速度较慢,并且占用较多的系统资源。SNTP(Simple NTP,简单NTP)是由RFC 4330定义的客户端版本的简单NTP,采用与NTP相同的报文格式及交互过程,但简化了NTP的时间同步过程,以牺牲时间精度为代价实现了时间的快速同步,并减少了占用的系统资源。在时间精度要求不高的情况下,可以使用SNTP来实现时间同步。
SNTP和NTP的关系如下:
· 目的相同:SNTP和NTP都旨在同步计算机系统的时间。
· 协议族:SNTP是NTP的一个子集,使用的是相同的协议族。SNTP的时间同步报文交互流程在格式上与NTP基本相同。SNTP使用与NTP相同的报文格式,即NTP报文格式。
· 简化版本:NTP包含更多的特性来提高时间同步的准确性,例如复杂的错误检测和纠正算法、动态服务器选择、负载均衡和控制协议等。而SNTP通常不实现这些复杂的特性。
· 精度:NTP设计用于在网络上提供高精度的时间同步,通常在毫秒级别,甚至可以达到亚毫秒级别。SNTP则适用于精度要求不高的场合,误差可能较大。
· 兼容性:在大多数情况下,SNTP和NTP是兼容的,因为它们使用相同的协议数据单元(PDU)格式。这种设计允许SNTP客户端和NTP服务器之间互操作,以及NTP客户端与SNTP服务器之间的互操作。
· 适用场景:由于其简化的特性,SNTP更适合于资源受限的设备(如家用路由器、IP摄像头等)和不需要严格时间精确度的应用。而NTP则用于需要精确时间同步的应用,如金融交易系统、科学研究和高级网络设备。
SNTP使用NTP报文中的部分字段来执行基本的时间同步操作。SNTP利用与NTP相同的报文交互流程,但在处理接收到的时间信息时采取了更简化的方法,从而减少了实现的复杂性和资源需求。下面描述了一个典型的SNTP时间同步报文交互流程:
(1) 客户端发送请求:SNTP客户端生成一个NTP报文,将模式设为客户端(mode 3),填充原始时间戳,并发送给服务器。
(2) 服务器发送响应:NTP/SNTP服务器收到报文后,添加或更新接收时间戳和传输时间戳,并将报文模式设置为服务器(mode 4)作为响应发送回客户端。
(3) 客户端接收响应:SNTP客户端记录接收响应的时间,从服务器响应中提取传输时间戳,并根据需要进行时钟调整。
图2-1 SNTP工作流程示意图
SNTP支持以下几种工作模式:
· 客户端/服务器模式
· 广播模式
用户可以根据需要选择一种或几种工作模式进行时间同步。各种模式的详细介绍,如表2-1所示。
本文中NTP服务器或服务器指的是客户端/服务器模式中工作在服务器模式的设备;时间服务器指的是所有能够提供时间同步的设备,包括NTP服务器、NTP广播服务器。
表2-1 SNTP模式介绍
模式 |
工作过程 |
时间同步方向 |
应用场合 |
客户端/服务器模式 |
1. 客户端向NTP服务器发送NTP时间同步请求报文 2. NTP服务器收到报文后,自动工作在服务器模式,并回复应答报文 3. 客户端对收到的应答报文进行时钟过滤和选择,并与优选的时钟进行时间同步 |
服务器——>客户端 设备作为客户端 |
如“NTP网络结构及时钟层数”中的“NTP网络结构”图所示,该模式通常用于下级的设备从上级的时间服务器获取时间同步 |
广播模式 |
4. 广播服务器周期性地向广播地址255.255.255.255发送NTP时间同步请求报文 5. 广播客户端侦听来自广播服务器的广播报文,根据接收的广播报文将设备的时间与广播服务器的时间进行同步 6. 广播客户端接收到广播服务器发送的第一个NTP报文后,会与广播服务器进行报文交互,以获得报文的往返时延,为时间同步提供必要的参数。之后,只有广播服务器单方向发送报文 |
广播服务器——>广播客户端 设备作为广播客户端 |
如“NTP网络结构及时钟层数”中的“NTP网络结构”图所示,使用同一个时间服务器为同一个子网中的大量设备提供时间同步时,可以使用广播模式,以简化网络配置 由于只有广播服务器单方向发送报文,广播模式的时间准确度不如客户端/服务器模式和对等体模式 |
与SNTP相关的协议规范有:
· RFC 4330:Simple Network Time Protocol (SNTP) Version 4 for IPv4, IPv6 and OSI
由于FIPS模式对安全要求更高,所以,设备运行于FIPS模式时,
· SNTP仅支持使用版本3和4的NTP报文,不支持使用版本1和2的NTP报文。
· SNTP支持HMAC-SHA-1、HMAC-SHA-256、HMAC-SHA-384、HMAC-SHA-512身份验证算法,不支持MD5身份验证算法。
有关FIPS模式的详细介绍请参见“安全配置指导”中的“FIPS”。
配置SNTP时,需要注意:
· 设备上不能同时配置NTP和SNTP功能。
· 用户需要保证通过clock protocol命令,配置在指定的MDC(Multitenant Device Context,多租户设备环境),以NTP方式设置系统时间。有关clock protocol命令的详细介绍,请参见“基础配置命令参考”中的“设备管理”。
· 只支持在一个MDC上配置SNTP功能。
(1) 开启SNTP服务
设备可以同时工作在客户端/服务器模式和广播模式。如果设备作为客户端,并同时收到多路NTP时钟信号,则会选择最优的NTP时钟进行同步。
¡ 指定NTP服务器
¡ (可选)配置客户端/服务器模式下的SNTP验证功能
(3) 广播模式下的SNTP配置
设备可以同时工作在客户端/服务器模式和广播模式。如果设备作为客户端,并同时收到多路NTP时钟信号,则会选择最优的NTP时钟进行同步。
¡ (可选)配置广播模式下的SNTP验证功能
(4) (可选)控制SNTP时间同步
(5) (可选)检测SNTP时间同步效果
(6) (可选)控制SNTP同步时的日志和告警信息的打印
(1) 开启SNTP服务
(2) (可选)配置客户端/服务器模式下的SNTP验证功能
广播客户端的SNTP配置任务如下:
(1) 开启SNTP服务
(2) 广播模式下的SNTP配置
设备可以同时工作在客户端/服务器模式和广播模式。如果设备作为客户端,并同时收到多路NTP时钟信号,则会选择最优的NTP时钟进行同步。
¡ (可选)配置广播模式下的SNTP验证功能
(3) (可选)控制SNTP时间同步
(4) (可选)检测SNTP时间同步效果
(5) (可选)控制SNTP同步时的日志和告警信息的打印
可以在网络中部署一台NTP广播服务器来作为SNTP广播服务器,从而完成广播模式下的SNTP时间同步。
NTP服务与SNTP服务互斥,同一时刻只能开启其中一个服务。因此,在开启SNTP服务器之前,请确保NTP服务关闭。
(1) 进入系统视图。
system-view
(2) 开启SNTP服务。
sntp enable
缺省情况下, SNTP服务处于关闭状态。
在SNTP客户端/服务器模式下,设备仅支持作为客户端,去同步NTP服务器的时钟。
NTP服务器的时钟只有处于同步状态时,才能作为时间服务器为SNTP客户端提供时间同步。当NTP服务器的时钟层数大于或等于客户端的时钟层数时,客户端将不会与其同步。
(1) 进入系统视图。
system-view
(2) 为设备指定NTP服务器。
(IPv4网络)
sntp unicast-server { server-name | ip-address } [ vpn-instance vpn-instance-name ] [ authentication-keyid keyid | maxpoll maxpoll-interval | minpoll minpoll-interval | 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 | maxpoll maxpoll-interval | minpoll minpoll-interval | source interface-type interface-number ] *
缺省情况下,未指定IPv6 NTP服务器。
多次执行本命令可以配置多个IPv6 NTP服务器。authentication-keyid参数用来将指定密钥与对应的NTP服务器关联。使用验证功能时,需要指定本参数。
在一些对时间同步安全性要求较高的网络中,运行SNTP协议时请启用SNTP验证功能。通过客户端和服务器端的身份验证,保证客户端只与通过验证的服务器进行时间同步,提高了网络安全性。
· 在NTP服务器和SNTP客户端上都需要开启验证功能。
· NTP服务器和SNTP客户端上必须配置相同的验证密钥(包括密钥ID、验证算法及密钥值),并将密钥设为可信密钥。NTP服务器上验证功能的配置方法,请参见“配置客户端/服务器模式的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服务器。
(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
缺省情况下,未指定可信密钥。
在SNTP广播模式下,设备仅支持作为SNTP广播客户端,去同步NTP广播服务器的时钟。
(1) 进入系统视图。
system-view
(2) 进入要接收NTP广播报文的接口。
interface interface-type interface-number
(3) 配置设备工作在SNTP广播客户端模式,并使用当前接口接收SNTP广播报文。
sntp broadcast-client
缺省情况下,未配置NTP工作模式。
执行本命令后,未配置SNTP的工作模式。
在一些对时间同步安全性要求较高的网络中,运行SNTP协议时请启用SNTP验证功能。通过客户端和服务器端的身份验证,保证客户端只与通过验证的服务器进行时间同步,提高了网络安全性。
· 在NTP广播服务器和SNTP广播客户端上都需要开启验证功能。
· NTP广播服务器和SNTP广播客户端上必须配置相同的验证密钥(包括密钥ID、验证算法及密钥值),并将密钥设为可信密钥。NTP服务器上验证功能的配置方法,请参见“配置广播模式的NTP验证功能”。
· 如果客户端没有成功启用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
缺省情况下,未指定可信密钥。
该功能用于设备作为SNTP服务器时,控制设备是否要响应SNTP客户端的时间同步请求。
缺省情况下,SNTP服务器收到SNTP客户端的时钟同步请求时,会检查SNTP客户端的时钟层数,只有SNTP客户端的时钟层数高于SNTP服务器的时钟层数时,SNTP服务器才会响应SNTP客户端的请求,才能进行时钟同步。如果SNTP客户端的时钟层数小于或等于SNTP服务器的时钟层数,且不支持修改时钟层数时,可以通过配置该命令,让SNTP服务器忽略对SNTP时钟层数的限制。
(1) 进入系统视图。
system-view
(2) 忽略SNTP时钟层数限制。
sntp ignore clock-stratum
缺省情况下,SNTP服务器在向SNTP客户端同步时钟的时候,存在SNTP时钟层数限制。
本功能用于设备作为SNTP客户端时,控制设备是否要同步SNTP服务器提供的时间。
设备将SNTP服务器端提供的时间减去SNTP客户端的本地时间,得到时间偏移。经过多次采样,可以得到多个时间偏移。正常情况下,这个时间偏移应该稳定在一个较小的范围内变化,即时间偏移应该小于等于本命令配置的最大偏差。如果时间偏移大于配置的最大偏差,SNTP客户端会认为SNTP服务器端的时间不可靠,不进行同步。
(1) 进入系统视图。
system-view
(2) 配置SNTP允许时间同步的最大偏差,超过最大偏差不进行时间同步。
sntp time-offset-limit limit-threshold
缺省情况下,未配置SNTP允许时间同步的最大偏差。
网络通过非SNTP(例如专用时间同步网、PTP等)做时间同步,仅使用本功能来监测设备时钟同步的效果。具体可以监测设备同步到的时间和时钟源之间的时间误差是否在允许范围内,以及时钟源如果发生时钟跳变,设备上的时间是否会受到影响等。
图2-2 SNTP工作在监测模式
SNTP报文中的TSSM(Time Synchronization Status Monitoring)标记是一个特定的字段,它用于增强时间同步过程中的安全性和可靠性。TSSM标记通常在更高安全级别的时间同步应用中使用,目的是为了确保仅响应来自已知和信任的时间源的SNTP请求。
设备作为SNTP客户端时,不受该命令的影响,发送的报文不带TSSM标识。可以正常和SNTP服务器进行时间同步。
开启SNTP功能,设备就自动开启SNTP服务器功能。设备作为SNTP服务器时:
· 缺省情况下,设备收到SNTP请求后,不管该请求中是否携带TSSM标志,均作为时钟同步请求处理,回应不带TSSM标志的响应报文。
· 如果配置了该命令,则SNTP服务器将检查进入的SNTP请求报文是否包含TSSM标志。如果不包含TSSM标志,设备会直接丢弃该请求不会响应;只有当请求报文中包含TSSM标志时,设备才会进行响应。
配置本功能后,设备可以作为SNTP客户端同步上级设备的时钟,但是不能对下级设备提供SNTP时间同步功能。
(1) 进入系统视图。
system-view
(2) 配置设备作为SNTP服务器时,仅响应带TSSM标志的SNTP请求报文。
sntp respond-to-withtssm
缺省情况下,设备作为SNTP服务器时,不判断SNTP请求报文中是否携带TSSM标志,均会进行处理。
缺省情况下,SNTP客户端与服务器端的时间差经过多次采样得到的时间偏移超过128ms时,客户端将进行一次时间同步,并打印日志信息和告警信息。配置本功能后,SNTP客户端与服务器端的时间差经过多次采样得到的时间偏移超过128ms时,客户端将进行一次时间同步,但是时间偏移大于log-threshold时,才会打印日志;时间偏移大于trap-threshold时,才会打印告警信息。
(1) 进入系统视图。
system-view
(2) 配置SNTP的时间同步日志打印阈值。
sntp time-offset-threshold { log log-threshold | trap trap-threshold } *
缺省情况下,未配置SNTP打印日志和告警信息的时间偏移阈值。
在完成上述配置后,在任意视图下执行display命令可以显示配置后SNTP的运行情况,通过查看显示信息验证配置的效果。
表2-2 SNTP显示和维护
操作 |
命令 |
显示SNTP服务维护的IPv6会话信息 |
display sntp ipv6 sessions |
显示SNTP服务维护的IPv4会话信息 |
display sntp sessions |
Device B对时间精度要求不高。为了实现Device B与Device A的时间同步,要求:
· 在Device A上设置本地时钟作为参考时钟,层数为2;
· Device B工作在SNTP客户端模式,指定Device A为NTP服务器。
· Device B要求对NTP服务器进行验证,以保证时间同步的安全性。
图2-3 SNTP配置组网图
(1) 按照图2-3配置各接口的IP地址,并确保路由可达,具体配置过程略。
(2) 配置Device A
# 开启NTP服务。
<DeviceA> system-view
[DeviceA] ntp-service enable
# 配置通过NTP协议获取时间。
[DeviceA] clock protocol ntp mdc 1
# 设置本地时钟作为参考时钟,层数为2。
[DeviceA] ntp-service refclock-master 2
# 在Device A上启动NTP验证功能。
[DeviceA] ntp-service authentication enable
# 创建编号为10的NTP验证密钥,密钥值为aNiceKey,以明文形式输入。
[DeviceA] ntp-service authentication-keyid 10 authentication-mode md5 simple aNiceKey
# 设置编号为10的密钥为可信密钥。
[DeviceA] ntp-service reliable authentication-keyid 10
(3) 配置Device B
# 开启SNTP服务。
<DeviceB> system-view
[DeviceB] sntp enable
# 配置通过NTP协议获取时间。
[DeviceB] clock protocol ntp mdc 1
# 在Device B上启动SNTP验证功能。
[DeviceB] sntp authentication enable
# 创建编号为10的SNTP验证密钥,密钥值为aNiceKey,以明文形式输入。
[DeviceB] sntp authentication-keyid 10 authentication-mode md5 simple aNiceKey
# 设置编号为10的密钥为可信密钥。
[DeviceB] sntp reliable authentication-keyid 10
# 设置Device A为Device B的NTP服务器,并将该服务器与编号为10的密钥关联。
[DeviceB] sntp unicast-server 1.0.1.11 authentication-keyid 10
# 查看Device B的SNTP会话信息,可以看到Device B与Device A建立了会话,并且处于已同步状态。
[DeviceB] display sntp sessions
SNTP server Stratum Version Poll Last receive time
1.0.1.11 2 4 64 Tue, May 17 2019 9:11:20.833 (Synced)
局域网中的设备,Switch A性能更好,作为时钟源,为局域网中的其它设备提供NTP时钟。要求:
· 在Switch A上设置本地时钟作为参考时钟,层数为2;
· Switch A工作在广播服务器模式,从VLAN接口2向外广播发送NTP报文;
· Switch B和Switch C工作在广播客户端模式,分别从各自的VLAN接口2监听NTP广播报文。
图2-4 SNTP广播模式组网图
(1) 配置Switch A
# 配置设备使用本地时钟。
<SwitchA> system-view
[SwitchA] clock protocol none
# 校准本地系统时间,假设当前的系统时间为2022年11月17日8时8分8秒。
[SwitchA] quit
<SwitchA> clock datetime 8:8:8 11/17/2022
# 开启NTP服务。
<SwitchA> system-view
[SwitchA] ntp-service enable
# 设置本地时钟作为参考时钟,层数为2。
[SwitchA] ntp-service refclock-master 2
# 创建VLAN 2,使用VLAN接口2发送NTP广播报文,并将连接Switch B的接口Ten-GigabitEthernet3/0/2和连接Switch C的接口Ten-GigabitEthernet3/0/3加入VLAN 2。
[SwitchA] vlan 2
[SwitchA-vlan2] port ten-gigabitethernet 3/0/2 ten-gigabitethernet 3/0/3
[SwitchA-vlan2] quit
# 设置Switch A为NTP广播服务器,从VLAN接口2发送NTP广播报文。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ip address 3.0.1.31 24
[SwitchA-Vlan-interface2] ntp-service broadcast-server
[SwitchA-Vlan-interface2] quit
(2) 配置Switch B
# 开启SNTP服务。
<SwitchB> system-view
[SwitchB] sntp enable
# 配置通过NTP协议获取时间。
[SwitchB] clock protocol ntp mdc 1
# 创建VLAN 2,使用VLAN接口2接收NTP广播报文,并将连接Switch A的接口Ten-GigabitEthernet3/0/2加入VLAN 2。
[SwitchA] vlan 2
[SwitchA-vlan2] port ten-gigabitethernet 3/0/2
[SwitchA-vlan2] quit
# 设置Switch B为SNTP广播客户端,从VLAN接口2监听NTP广播报文。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ip address 3.0.1.32 24
[SwitchB-Vlan-interface2] sntp broadcast-client
[SwitchB-Vlan-interface2] quit
(3) 配置Switch C
# 开启NTP服务。
<SwitchC> system-view
[SwitchC] sntp enable
# 配置通过NTP协议获取时间。
[SwitchC] clock protocol ntp mdc 1
# 创建VLAN 2,使用VLAN接口2接收NTP广播报文,并将连接Switch A的接口Ten-GigabitEthernet3/0/3加入VLAN 2。
[SwitchA] vlan 2
[SwitchA-vlan2] port ten-gigabitethernet 3/0/3
[SwitchA-vlan2] quit
# 设置Switch C为SNTP广播客户端,从VLAN接口2监听NTP广播报文。
[SwitchC] interface vlan-interface 2
[SwitchC-Vlan-interface2] ip address 3.0.1.33 24
[SwitchC-Vlan-interface2] sntp broadcast-client
[SwitchC-Vlan-interface2] quit
# 查看Switch B、Switch C的SNTP会话信息,可以看到Switch B、Switch C已经与Switch A建立了会话,并且处于已同步状态。(下面以Switch B上的显示为例)
[SwitchB] display sntp sessions
SNTP server Stratum Version Poll Last receive time
3.0.1.31 2 4 64 Thu, Nov 17 2022 08:08:40.442 (Synced)
# 查看Switch B、Switch C的当前系统时钟,可以看到Switch B、Switch C与Switch A的系统时间一致。(下面以Switch B上的显示为例)
[SwitchB] display clock
08:08:45.120 UTC Thu 11/17/2022
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!