网络时间协议
总结 网络时间协议 (NTP) 是用于同步网络中所有设备上的时间的协议。
NTP 概述
网络时间协议 (NTP) 是一种广泛使用的协议,用于同步互联网上路由器和其他硬件设备的时钟。主 NTP 服务器同步到可直接追溯到协调世界时 (UTC) 的参考时钟。参考时钟包括GPS接收器和电话调制解调器服务,NTP精度预期取决于环境应用要求。但是,NTP 通常可以通过公共互联网将时间保持在几十毫秒以内。
NTP 在 RFC 5905:网络时间协议版本 4:协议和算法规范中定义
运行 Junos OS 的设备可配置为充当 NTP 客户端、辅助 NTP 服务器或主 NTP 服务器。这些变体如下:
-
主 NTP 服务器 — 主 NTP 服务器同步到可直接溯源至 UTC 的参考时钟。然后,这些服务器将此时间数据下游重新分发到其他辅助 NTP 服务器或 NTP 客户端。
-
辅助 NTP 服务器 — 辅助 NTP 服务器同步到主或辅助 NTP 服务器。然后,这些服务器将此数据下游重新分发到其他辅助 NTP 服务器或 NTP 客户端。
-
NTP 客户端 — NTP 客户端同步到主 NTP 服务器或辅助 NTP 服务器。客户端不会将此时间数据重新分发到其他设备。
NTP 子网包括许多可广泛访问的公共主时间服务器,这些服务器可用作网络的主 NTP 服务器。瞻博网络强烈建议您对使用的所有主服务器进行身份验证。
网络上的每台设备都可以配置为在以下一种或多种 NTP 模式下运行:
-
广播模式 — 设置一个或多个设备以将时间信息传输到指定的广播或组播地址。其他设备侦听这些地址上的时间同步数据包。此模式不如客户端/服务器模式准确。
-
客户端/服务器模式 — 设备按客户端/服务器关系在网络中分层组织。
-
对称主动(对等)模式 — 将两个或多个设备配置为 NTP 服务器对等方以提供冗余。
默认情况下,如果 NTP 客户端时间偏移,导致与 NTP 服务器的时间差超过 128 毫秒,NTP 客户端将自动回退到同步状态。即使 NTP 客户端和服务器之间的偏移量超过 1000 秒阈值,NTP 客户端仍将与服务器同步。您可以使用路由器上的操作命令手动 set date ntp
请求设备与 NTP 服务器同步。在运行具有双路由引擎的 Junos OS 的设备上,备份路由引擎直接与主路由引擎同步。
所有运行 Junos OS 的瞻博网络平台都支持闰秒调整。默认情况下,如果 NTP 服务器知道闰秒计算,则 Junos 设备将自动添加 1 秒延迟。PTP(精确时间协议)用于在网络中的所有节点中检测和传播闰秒同步更改。符合通用标准也需要 NTP。有关通用标准认证的详细信息,请参阅 公共部门认证。
有关网络时间协议的更多详细信息,请访问网络时间基金会网站 http://www.ntp.org。
NTP 支持 Junos OS 上的 IPv4 VPN 和 IPv6 路由和转发 (VRF) 请求。Junos OS 演化版 20.2R1 及更高版本也支持 VRF 请求。这使在提供商边缘 (PE) 路由器上运行的 NTP 服务器能够响应来自客户边缘 (CE) 路由器的 NTP 请求。因此,PE 路由器可以处理来自不同路由实例的任何 NTP 请求数据包。
对 NTP 的网络时间安全 (NTS) 支持
NTS 概述
NTS 为网络时间同步提供加密安全性,并支持 NTP 的客户端-服务器模式。NTS 使用传输层安全性 (TLS) 协议和经过身份验证的关联数据加密 (AEAD) 以经过身份验证的方式向用户获取网络时间。NTS 还支持 NTP 扩展字段的加密。
最重要的安全流程取决于准确的时间。来自恶意源的网络时间同步会导致严重后果。启用 NTS 可确保设备上准确的网络时间同步。
NTS的好处
- 提供强大的加密保护,抵御数据包操纵、欺骗、DDOS 放大攻击和重放攻击等各种安全攻击
- 确保来自可靠来源的准确网络时间同步
- 提供可扩展性:服务器可以为多个客户端提供服务,而无需手动预配置任何特定于客户端的配置。由于使用了 cookie,服务器不需要在本地存储客户端特定数据,例如密钥和 AEAD 算法
- 阻止跟踪移动设备
与 NTS 进行网络时间同步
NTS 由两个协议组成,即 NTS 密钥建立协议 (NTS-KE) 和使用 NTS 扩展字段的 NTP 时间同步。
NTS-KE 协议
在 NTS-KE 协议阶段,NTS-KE 协议按以下顺序通过 TLS 管理初始身份验证、NTS 参数协商和密钥建立:
- 客户端与 NTS-KE 服务器执行 TLS 握手,并成功验证证书。
-
客户端通过受 TLS 保护的通道与服务器执行 NTS 参数协商。协商的密码算法是 AEAD 方法,在第二阶段保护 NTP 数据包。
-
客户端和服务器成功建立了通信的密钥材料。
-
服务器还会向客户端发送初始 cookie 供应,以便在下一阶段使用。
-
TLS 通道关闭,NTP 进入下一阶段,在此阶段实际进行时间数据交换。
NTS 仅支持 TLS 版本 1.3。较旧的 TLS 版本在 NTS-KE 协议阶段被拒绝。
使用 NTS 扩展字段的 NTP 时间同步
此阶段按以下顺序通过 NTP 数据包中的扩展字段管理 NTP 时间同步期间的加密和身份验证:
-
客户端使用 NTS 扩展字段向 NTP 服务器查询时间。这些扩展字段包括使用协商的 AEAD 算法计算的 cookie 和身份验证标记,以及从 NTS-KE 握手中提取的密钥材料。
受 NTS 保护的 NTP 客户端请求包含以下 NTS 扩展字段:
-
唯一标识符扩展字段:包含随机生成的数据,并提供 NTS 级别的重播保护方法。
-
NTS Cookie 扩展字段:包含有关在 NTS-KE 阶段建立的密钥材料以及协商加密算法的信息。Cookie 在请求中仅使用一次,以防止跟踪。
-
NTS Cookie 占位符扩展字段:(可选)向服务器传达客户端希望在响应数据包中接收其他 Cookie。
-
NTS 身份验证器和加密扩展字段:使用 AEAD 算法和在 NTS-KE 期间建立的密钥生成。此字段为 NTP 标头和所有先前的扩展字段提供完整性保护。
Cookie 的不断刷新可防止设备在更改网络地址时被跟踪。例如,在不同网络中移动的移动设备。由于缺少任何可识别的数据,攻击者无法确定通过不同网络地址发送的两个数据包是否来自同一客户端。
-
-
当服务器从客户端收到受 NTS 保护的请求时,服务器将使用主密钥解密 Cookie。
-
服务器提取协商的 AEAD 算法和 Cookie 中可用的密钥。使用此密钥,服务器检查 NTP 数据包的完整性,以确保不会对数据包进行任何操作。
-
服务器生成一个或多个新 Cookie 并创建 NTP 响应数据包。服务器为客户端添加到请求数据包中的每个 Cookie 占位符扩展字段生成至少一个新 Cookie 和一个附加 Cookie。
响应数据包包含两个 NTS 扩展字段:
- 唯一标识符扩展字段,其内容与请求数据包中的唯一标识符字段中的内容相同。
- NTS 身份验证器和加密扩展字段,它使用提取的密钥保护 NTP 标头和以前的扩展字段。
-
服务器还会对 cookie 进行加密,并将其包含在 NTS 身份验证器和加密扩展字段中。此过程还可以防止客户端被跟踪,因为攻击者无法从响应消息中提取 Cookie。
-
服务器完成响应数据包并将数据包发送到客户端。
-
客户端接收响应数据包。
-
客户端检查“唯一标识符”字段,并验证唯一标识符是否与未完成的请求匹配。
-
客户端使用密钥和 AEAD 算法成功执行数据包的完整性检查。
-
客户端解密 cookie 并将其添加到其池中,并处理从服务器接收的时间信息。
NTP 时间服务器
IETF定义了网络时间协议(NTP),以同步通过网络连接的计算机系统的时钟。大多数大型网络都有一个 NTP 服务器,可确保同步所有设备上的时间,而不管设备位于何处。如果在网络上使用一个或多个 NTP 服务器,请确保在 Junos OS 配置中包含 NTS 服务器地址。
配置 NTP 时,可以指定网络上的哪个系统是权威时间源或时间服务器,以及如何在网络上的系统之间同步时间。为此,请将路由器、交换机或安全设备配置为在以下模式之一下运行:
-
客户端模式 — 在此模式下,本地路由器或交换机可以与远程系统同步,但远程系统永远无法与本地路由器或交换机同步。
-
对称主动模式 — 在此模式下,本地路由器或交换机与远程系统可以相互同步。在网络中使用此模式,其中本地路由器或交换机或远程系统可能是更好的时间来源。
对称主动模式可由本地或远程系统启动。只需配置一个系统即可执行此操作。这意味着本地系统可以与任何提供对称活动模式的系统同步,而无需任何配置。但是,我们强烈建议您配置身份验证,以确保本地系统仅与已知的时间服务器同步。
-
广播模式 — 在此模式下,本地路由器或交换机定期向指定广播或组播地址的客户端群体发送广播消息。通常,仅当本地路由器或交换机作为发射器运行时,才包含此语句。
-
服务器模式 — 在此模式下,本地路由器或交换机作为 NTP 服务器运行。
在 NTP 服务器模式下,Junos OS 支持如下身份验证:
-
如果来自客户端的 NTP 请求附带身份验证密钥(例如随数据包一起发送的密钥 ID 和消息摘要),则将根据身份验证密钥匹配处理和应答请求。
-
如果来自客户端的 NTP 请求没有任何身份验证密钥,则无需身份验证即可处理和应答请求。
-
配置 NTP 时间服务器和时间服务
使用 NTP 时,请将路由器或交换机配置为在以下模式之一下运行:
-
客户端模式
-
对称活动模式
-
广播模式
-
服务器模式
以下主题介绍如何配置这些操作模式:
将路由器或交换机配置为在客户端模式下运行
要将本地路由器或交换机配置为在客户端模式下运行,请在层次结构级别包含server
[edit system ntp]
语句和其他可选语句:
[edit system ntp] server address <key key-number> <version value> <prefer>; authentication-key key-number type type value password; trusted-key[key-numbers];
指定充当时间服务器的系统的地址。必须指定地址,而不是主机名。
要在发送到时间服务器的所有消息中包含身份验证密钥,请包含 密钥 选项。密钥对应于您在语句中 authentication-key
指定的密钥编号,如中所述。
默认情况下,路由器或交换机将 NTP 版本 4 数据包发送到时间服务器。要将 NTP 版本级别设置为 1、2 或 3,请包括 版本 选项。
如果配置多个时间服务器,则可以通过包含 首选 选项来标记一个服务器。
以下示例说明如何将路由器或交换机配置为在客户端模式下运行:
[edit system ntp] authentication-key 1 type md5 value "$ABC123"; server 10.1.1.1 key 1 prefer; trusted-key 1;
将路由器或交换机配置为在对称主动模式下运行
要将本地路由器或交换机配置为在对称主动模式下运行,请在层次结构级别包含 peer
以下语句 [edit system ntp]
:
[edit system ntp] peer address <key key-number> <version value> <prefer>;
指定远程系统的地址。必须指定地址,而不是主机名。
要在发送到远程系统的所有消息中包含身份验证密钥,请包括 密钥 选项。密钥对应于您在语句中 authentication-key
指定的密钥编号。
默认情况下,路由器或交换机将 NTP 版本 4 数据包发送到远程系统。要将 NTP 版本级别设置为 1、2 或 3,请包括 版本 选项。
如果配置多个远程系统,则可以通过包含 首选 选项来标记一个系统的首选:
peer address <key key-number> <version value> prefer;
将路由器或交换机配置为在广播模式下运行
要将本地路由器或交换机配置为在广播模式下运行,请在层次结构级别包含 broadcast
以下语句 [edit system ntp]
:
[edit system ntp] broadcast address <key key-number> <version value> <ttl value>;
指定其中一个本地网络上的广播地址或分配给 NTP 的组播地址。必须指定地址,而不是主机名。如果使用组播地址,则必须为 224.0.1.1。
要在发送到远程系统的所有消息中包含身份验证密钥,请包括密钥选项。密钥对应于您在语句中 authentication-key
指定的密钥编号。
默认情况下,路由器或交换机将 NTP 版本 4 数据包发送到远程系统。要将 NTP 版本级别设置为 1、2 或 3,请包括版本选项。
将路由器或交换机配置为在服务器模式下运行
在服务器模式下,当客户端配置正确时,路由器或交换机充当客户端的 NTP 服务器。“服务器模式”的唯一先决条件是路由器或交换机必须从另一个 NTP 对等方或服务器接收时间。路由器或交换机上不需要其他配置。
在管理 VRF ()mgmt_junos
中配置 NTP 服务时,您必须在默认路由实例内的物理或逻辑接口上配置至少一个 IP 地址,并确保此接口已启动,以便 NTP 服务与mgmt_junos VRF 配合使用。
要将本地路由器或交换机配置为作为 NTP 服务器运行,请在层次结构级别包含以下语句 [edit system ntp]
:
[edit system ntp] authentication-key key-number type type value password; server address <key key-number> <version value> <prefer>; trusted-key [key-numbers];
指定充当时间服务器的系统的地址。必须指定地址,而不是主机名。
要在发送到时间服务器的所有消息中包含身份验证密钥,请包含 密钥 选项。密钥对应于您在语句中 authentication-key
指定的密钥编号。
默认情况下,路由器或交换机将 NTP 版本 4 数据包发送到时间服务器。要将 NTP 版本级别设置为 1、2 或 3,请包含 版本 选项。
如果配置多个时间服务器,则可以通过包含 首选 选项来标记一个服务器。
以下示例说明如何将路由器或交换机配置为在服务器模式下运行:
[edit system ntp] authentication-key 1 type md5 value "$ABC123"; server 192.168.27.46 prefer; trusted-key 1;
示例:将 NTP 配置为路由器和交换机时钟同步的单个时间源
当所有路由器或交换机的日志文件中的时间戳同步时,调试和故障排除要容易得多,因为跨网络的事件可以与多个日志中的同步条目相关联。我们强烈建议使用网络时间协议 (NTP) 来同步路由器、交换机和其他网络设备的系统时钟。
默认情况下,NTP 以完全未经身份验证的方式运行。如果试图影响路由器或交换机时钟精度的恶意尝试得逞,可能会对系统日志记录产生负面影响,使故障排除和入侵检测更加困难,并妨碍其他管理功能。
以下示例配置将网络中的所有路由器或交换机同步到单个时间源。我们建议使用身份验证来确保 NTP 对等方受信任。该 boot-server
语句标识路由器启动时从中获取初始时间和日期的服务器。该 server
语句标识用于定期时间同步的 NTP 服务器。该 authentication-key
语句指定应使用 HMAC-Message Digest 5 (MD5) 方案对密钥值进行哈希处理以进行身份验证,从而防止路由器或交换机与冒充时间服务器的攻击者主机同步。
[edit] system { ntp { authentication-key 2 type md5 value "$ABC123"; # SECRET-DATA boot-server 10.1.4.1; server 10.1.4.2 key 2; trusted key 2; } }
使用 NTP 同步和协调时间分布
在大型网络中使用 NTP 同步和协调时间分配涉及以下任务:
配置 NTP
-
要在交换机上配置 NTP,请在层次结构级别包含
ntp
以下语句[edit system]
:[edit system] ntp { authentication-key number type type value password; boot-server (address | hostname); broadcast <address> <key key-number> <version value> <ttl value>; broadcast-client; multicast-client <address>; peer address <key key-number> <version value> <prefer>; server address <key key-number> <version value> <prefer>; ntp source-address; trusted-key [ key-numbers ]; }
如何重新启动 NTP 进程
- 使用
system login user
命令。user@host# set system login user lab-test authentication plain-text-password New password: Retype new password:
- 使用用户 ID “实验室测试”登录。
user@host# set system login user lab-test class super-user
- 使用命令查看
show system processes
NTP 的进程 ID。user@host# show system processes | match ntp
- 使用
request system process terminate
命令终止并重新启动 NTP 进程。user@host# request system process terminate <process-id>
配置 NTP 引导服务器
启动交换机时,它会发出 ntpdate 请求,该请求将轮询网络服务器以确定本地日期和时间。您需要配置交换机用于确定交换机启动时间的服务器。否则,如果服务器的时间似乎与本地交换机的时间相差很远,NTP 将无法同步到时间服务器。
-
要配置 NTP 引导服务器,请在层次结构级别包含
boot-server
[edit system ntp]
语句:[edit system ntp] boot-server (address | hostname);
从 Junos OS 20.4R1 版开始,此选项 boot-server
已弃用。
-
Junos OS 15.1 版及更高版本,要配置 NTP 引导服务器,请在层次结构级别包含
set ntp server
以下语句[edit system ntp]
:[edit system ntp] set server (address | hostname);
指定网络服务器的 IP 地址或主机名。
指定 NTP 服务器的源地址
对于 IP 版本 4 (IPv4),您可以指定,如果通过其中一个环路接口地址联系在层次结构级别配置的 [edit system ntp]
NTP 服务器,则回复始终使用特定的源地址。这对于控制 NTP 在响应来自网络的 NTP 客户端请求或本身向网络发送 NTP 请求时将使用哪个源地址访问您的网络非常有用。
要配置回复将始终使用的特定源地址以及由 NTP 服务器发起的请求将使用的源地址,请在层次结构级别包含 source-address
语句 [edit system ntp]
:
[edit system ntp] source-address source-address;
source-address
是在其中一个路由器或交换机接口上配置的有效 IP 地址。
在管理 VRF ()mgmt_junos
中配置 NTP 服务时,您必须在默认路由实例内的物理或逻辑接口上配置至少一个 IP 地址,并确保此接口已启动,以便 NTP 服务与mgmt_junos VRF 配合使用。
从 Junos OS 13.3 版和 Junos OS 演化版 20.2R1 开始,您可以使用以下 routing-instance
语句 [edit system ntp source-address source-address]
在层次结构级别配置源地址:
[edit system ntp source-address source-address] user@host# set routing-instance routing-instance-name
例如,配置了以下语句:
[edit system ntp source-address source-address] user@host# set system ntp source-address 12.12.12.12 routing-instance ntp-source-test
因此,通过 ntp 源测试 路由实例中的任何接口发送 NTP 消息时,将使用源地址 12.12.12.12。
该 routing-instance
语句是可选的,如果未配置,将使用接口的主地址。
如果在环路接口上应用了防火墙过滤器,请确保 source-address
在层次结构级别为 [edit system ntp]
NTP 服务器指定的过滤器明确包含在防火墙过滤器中作为匹配标准之一。这使 Junos OS 能够接受来自指定源地址的环路接口上的流量。
以下示例显示了一个防火墙过滤器,其源地址10.0.10.100
在层次结构中包含[edit firewall filter firewall-filter-name]
语句中from
指定:
[edit firewall filter Loopback-Interface-Firewall-Filter] term Allow-NTP { from { source-address { 172.17.27.46/32; // IP address of the NTP server 10.0.10.100/32; // Source address specified for the NTP server } then accept; } }
如果未为 NTP 服务器配置否 source-address
,请在防火墙过滤器中包含环路接口的主地址。
NTP 配置
网络时间协议 (NTP) 提供了在大型多样化网络中同步时间和协调时间分配的机制。当所有路由器或交换机的日志文件中的时间戳同步时,调试和故障排除要容易得多,因为跨网络的事件可以与多个日志中的同步条目相关联。我们建议使用网络时间协议 (NTP) 来同步路由器、交换机和其他网络设备的系统时钟。
要配置 NTP,请执行以下操作:
示例:配置 NTP
网络时间协议 (NTP) 提供了在大型多样化网络中同步时间和协调时间分配的机制。NTP 使用可返回时间设计,其中在自组织、分层主-辅助配置中运行的时间服务器分布式子网通过有线或无线电将子网内的本地时钟同步到国家时间标准。服务器还可以使用本地路由算法和时间守护程序重新分配参考时间。
此示例说明如何配置 NTP:
要求
此示例使用以下软件和硬件组件:
-
Junos OS 11.1 或更高版本
-
连接到 NTP 引导服务器和 NTP 服务器所在的网络的交换机
概述
同步所有交换机日志文件中的时间戳时,调试和故障排除会容易得多,因为跨网络的事件可以与多个日志中的同步条目相关联。我们建议使用网络时间协议 (NTP) 来同步交换机和其他网络设备的系统时钟。
在此示例中,管理员希望将交换机中的时间同步到单个时间源。我们建议使用身份验证来确保 NTP 对等方受信任。该 boot-server
语句标识交换机启动时从中获取初始时间和日期的服务器。该 server
语句标识用于定期时间同步的 NTP 服务器。该 authentication-key
语句指定使用 HMAC-Message Digest 5 (MD5) 方案对密钥值进行哈希处理以进行身份验证,从而防止交换机与伪装成时间服务器的攻击者主机同步。
配置
要配置 NTP,请执行以下操作:
程序
CLI 快速配置
要快速配置 NTP,请复制以下命令并将其粘贴到交换机的终端窗口中:
[edit system] set ntp boot-server 10.1.4.1 set ntp server 10.1.4.2 set ntp authentication-key 2 type md5 value "$ABC123"
分步过程
要配置 NTP:
-
指定引导服务器:
[edit system] user@switch# set ntp boot-server 10.1.4.1
-
指定 NTP 服务器:
[edit system] user@switch# set ntp server 10.1.4.2
-
指定密钥编号、身份验证类型 (MD5) 和用于身份验证的密钥:
[edit system] user@switch# set ntp authentication-key 2 type md5 value "$ABC123"
结果
检查结果:
[edit system] user@switch# show ntp { boot-server 10.1.4.1; authentication-key 2 type md5 value "$ABC123"; ## SECRET-DATA server 10.1.4.2; }
验证
要确认配置是否正确,请执行以下任务:
检查时间
目的
检查交换机上设置的时间。
行动
show system uptime
输入操作模式命令以显示时间。
user@switch> show system uptime fpc0: -------------------------------------------------------------------------- Current time: 2009-06-12 12:49:03 PDT System booted: 2009-05-15 06:24:43 PDT (4w0d 06:24 ago) Protocols started: 2009-05-15 06:27:08 PDT (4w0d 06:21 ago) Last configured: 2009-05-27 14:57:03 PDT (2w1d 21:52 ago) by admin1 12:49PM up 28 days, 6:24, 1 user, load averages: 0.05, 0.06, 0.01
意义
输出显示当前日期和时间为 2009 年 6 月 12 日和太平洋夏令时 12:49:03。交换机在 4 周 6 小时 24 分钟前启动,其协议在启动前大约 3 分钟启动。用户 admin1 最后一次配置交换机是在 2009 年 5 月 27 日,当前有一个用户登录到交换机。
输出还显示,最后一分钟的负载平均值为 0.05 秒,最后 5 分钟的负载平均值为 0.06 秒,最后 15 分钟的负载平均值为 0.01 秒。
显示 NTP 对等方
目的
验证是否已从 NTP 服务器获取时间。
行动
输入操作模式命令以 show ntp associations
显示从交换机获得的NTP服务器的时间。
user@switch> show ntp associations remote refid st t when poll reach delay offset jitter ============================================================================== *ntp.net .GPS. 1 u 414 1024 377 3.435 4.002 0.765
意义
NTP 服务器名称或对等方前面的星号 (*) 表示时间已同步并从此服务器获取。延迟、偏移和抖动以毫秒为单位显示。
显示 NTP 状态
目的
查看 NTP 服务器的配置和系统的状态。
行动
show ntp status
输入操作模式命令以查看 NTP 的状态。
user@switch> show ntp status status=0644 leap_none, sync_ntp, 4 events, event_peer/strat_chg, version="ntpd 4.2.0-a Mon Apr 13 19:09:05 UTC 2009 (1)", processor="powerpc", system="JUNOS9.5R1.8", leap=00, stratum=2, precision=-18, rootdelay=2.805, rootdispersion=42.018, peer=48172, refid=192.168.28.5, reftime=cddd397a.60e6d7bf Fri, Jun 12 2009 13:30:50.378, poll=10, clock=cddd3b1b.ec5a2bb4 Fri, Jun 12 2009 13:37:47.923, state=4, offset=3.706, frequency=-23.018, jitter=1.818, stability=0.303
意义
输出显示有关交换机和 NTP 的状态信息。
NTP 身份验证密钥
可以对时间同步进行身份验证,以确保交换机仅从已知来源获取其时间服务。默认情况下,网络时间同步未经身份验证。交换机将同步到看起来具有最准确时间的任何系统。我们强烈建议您配置网络时间服务的身份验证。
要对其他时间服务器进行身份验证,请在层次结构级别包含该 trusted-key
语句 [edit system ntp]
。可信密钥是指 NTP 信任并用于安全时钟同步的已配置密钥。中 trusted-key
未引用的任何已配置密钥都不合格,NTP 会拒绝。只有传输包含指定密钥号之一的网络时间数据包的时间服务器才有资格进行同步。此外,密钥需要与为该密钥编号配置的值匹配。其他系统无需经过身份验证即可同步到本地交换机。
[edit system ntp] trusted-key[ key-numbers ];
每个密钥可以是除 0 之外的任何 32 位无符号整数。在对等方、服务器或broadcast
语句中包含 key 选项,以便在传输数据包时传输指定的认证密钥。如果远程系统启用了身份验证,以便它可以同步到本地系统,则该密钥是必需的。
要定义身份验证密钥,请在层次结构级别包含 authentication-key
语句 [edit system ntp]
:
[edit system ntp] authentication-key key-number type type value password;
number 是密钥号, type 是身份验证类型(仅支持消息摘要 5 [MD5]、SHA1 和 SHA2-256), password 并且是此密钥的密码。密钥编号、类型和密码在使用该特定密钥进行身份验证的所有系统上必须匹配。密码中不得有用于配置网络时间协议 (NTP) 身份验证密钥的空间。
将设备配置为使用 NTP 侦听广播消息
使用 NTP 时,可以通过在层次结构级别包含 broadcast-client
语句 [edit system ntp]
,将本地路由器或交换机配置为侦听本地网络上的广播消息,以发现同一子网上的其他服务器:
[edit system ntp] broadcast-client;
当路由器或交换机首次检测到广播消息时,它会使用与远程服务器的简短客户端-服务器交换来测量标称网络延迟。然后,它进入广播客户端模式,在该模式下侦听后续 广播 消息并与之同步。
为避免在此模式下发生意外或恶意中断,本地和远程系统都必须使用身份验证以及相同的可信密钥和密钥标识符。
将设备配置为使用 NTP 侦听组播消息
使用 NTP 时,可以通过在层次结构级别包含 multicast-client
语句 [edit system ntp]
,将本地路由器或交换机配置为侦听本地网络上的组播消息,以发现同一子网上的其他服务器:
[edit system ntp] multicast-client <address>;
当路由器或交换机首次收到组播消息时,它会使用与远程服务器的简短客户端-服务器交换来测量名义网络延迟。然后,它进入多播客户端模式,在该模式下侦听并同步后续 多播 消息。
您可以指定一个或多个 IP 地址。(必须指定地址,而不是主机名。否则,路由器或交换机将加入这些组播组。如果未指定任何地址,软件将使用 224.0.1.1
.
为避免在此模式下发生意外或恶意中断,本地和远程系统都必须使用身份验证以及相同的可信密钥和密钥标识符。