NTP

RouterOS 的 NTP 文档涵盖客户端和服务器配置,包括启用的模式、支持 IPv4/IPv6 的服务器列表、VRF 设置、身份验证密钥,以及频率漂移和已同步 stratum 等状态监控。它还警告不要将本地时钟用于精确计时,并列出了 NTP 日志消息。

NTP

RouterOS 主软件包包含网络时间协议(NTP)客户端和服务器功能,基于 RFC5905。

NTP 客户端属性

客户端配置位于 /system/ntp/client

属性描述
enabled (yes, no default: no)启用 NTP 客户端进行时间同步
mode (broadcast, manycast, multicast, unicast)NTP 客户端将运行的运行模式
NTP serversNTP 服务器列表。可以添加静态条目。接受以下格式: - FQDN(如果地址被解析,"Resolved Address" 将出现在 "Servers" 窗口的相应列中)或可以使用 IP 地址。如果 DHCP-Client 属性 use-peer-ntp=yes - 由 DHCP 通告的动态条目 - ipv4 - ipv4@vrf - ipv6 - ipv6@vrf - ipv6-linklocal%interface
vrf (default: main)虚拟路由和转发
Servers (Button/Section)动态和静态添加的 NTP 服务器的详细表(Address、Resolved address、Min Poll、Max Poll、iBurst、Auth. Key)。要使用其 FQDN 设置 NTP 服务器。每次发送 NTP 请求时都会解析域名。路由器必须配置 /ip/dns。
Peers当前参数值 [admin@ntp-example_v7] > /system/ntp/monitor-peers``type="ucast-client" address=x.x.x.x refid="y.y.y.y" stratum=3 hpoll=10 ppoll=10 root-delay=28.869 ms root-disp=50.994 ms``offset=-0.973 ms delay=0.522 ms disp=15.032 ms jitter=0.521 ms``-- [Q quit D dump C-z pause]
KeysNTP 对称密钥,用于 NTP 客户端和服务器之间的身份验证。Key Identifier (Key ID) - 标识用于生成消息认证码的加密密钥的整数。

状态

  • synchronized, stopped, waiting, using-local-clock - NTP 客户端的当前状态。
  • Frequency drift - 单位时间内的分数频率漂移。
  • synced-server - NTP 服务器的 IP 地址。
  • synced-stratum - 每个服务器的准确性由一个称为 stratum 的数字定义,最顶层(主服务器)分配为 1,层级中向下的每一级(辅助服务器)分配为比上一级大 1。
  • system-offset - 这是一个有符号定点数,表示 NTP 服务器时钟相对于本地时钟的偏移,单位为秒。

NTP 客户端服务器属性

客户端配置位于 /system/ntp/client/servers

属性描述
enabled (yes | no; Default: yes)启用 NTP 客户端服务器。
comment (string; Default: )条目的描述性名称。
address (IPv4 address [IPv4], IPv6 address [IPv6], Domain name; Default: )NTP 服务器的 IP 地址或域名。
resolved-address (IPv4 address [IPv4], IPv6 address [IPv6]; Default: )域名解析后获得的 NTP 服务器实际 IP 地址。
min-poll (integer: 3..17; Default: 6)确定 NTP 查询之间的最短间隔(以秒为单位的 2 的幂)。更详细的信息可在 RFC5905 中找到。
max-poll (integer: 3..17; Default: 10)确定 NTP 查询之间的最长间隔(以秒为单位的 2 的幂)。更详细的信息可在 RFC5905 中找到。
iburst(yes | no; Default: yes)确定初始突发是禁用还是启用。IBurst 告诉 NTP 客户端仅在启动时发送快速的数据包突发。更详细的信息可在 RFC5905 中找到。
auth-key (default value: none)NTP 对称密钥,用于 NTP 客户端和服务器之间的身份验证。Key Identifier (Key ID) - 标识用于生成消息认证码的加密密钥的整数。

NTP 服务器设置

服务器配置位于 /system/ntp/server

属性描述
enabled (yes or no; default value: no)启用 NTP 服务器
broadcast (yes or no; default value: no)启用某个 NTP 服务器模式,要使此模式工作,您必须设置 broadcast-addresses 字段
multicast (yes or no; default value: no)启用某个 NTP 服务器模式
manycast (yes or no; default value: no)启用某个 NTP 服务器模式
broadcast-addresses (IP address; default value: )设置用于 NTP 服务器广播模式的广播地址
vrf (default: main)虚拟路由和转发
use-local-clock (yes or no; default value: no)如果没有其他可用时间源,服务器将提供其本地系统时间作为有效时间。
local-clock-stratum如果 use-local-clock=yes,则手动设置 stratum
auth-key (default value: none)NTP 对称密钥,用于 NTP 客户端和服务器之间的身份验证。Key Identifier (Key ID) - 标识用于生成消息认证码的加密密钥的整数。

危险

如果使用 use-local-clock,请注意路由器的内部 CPU 时钟不是用于精确计时操作的可靠时间源,因为其频率可能因电源管理、温度条件和硬件差异而变化,即使型号相同也是如此。这种变化是预期内的,不影响路由器的正常运行。为获得准确计时,建议使用基于网络的时间同步,例如 NTP(Network Time Protocol)。

日志消息

SNTP 客户端可以产生以下日志消息。请参阅文章 "log" 了解如何设置日志以及如何检查日志。

  • ntp,debug 按 OFFS 逐步调整。
  • ntp,debug 按 OFFS 立即调整。
  • ntp,debug 等待 N 秒后再发送下一条消息。
  • ntp,debug 等待 N 秒后重启。
  • ntp,debug,packet 数据包收到错误,正在重启。
  • ntp,debug,packet 收到 PKT。
  • ntp,debug,packet 忽略收到的 PKT。
  • ntp,debug,packet 发送到 IP 时出错,正在重启。
  • ntp,debug,packet 发送到 IP PKT。

日志消息字段说明

  • OFFS - 两个 NTP 时间戳值的差值,以十六进制表示。
  • PKT - NTP 数据包的转储。如果数据包短于最小 48 字节,则作为十六进制字符串转储。否则,数据包作为字段名和值的列表转储,每个日志行一个。字段名遵循 RFC4330。
  • IP - 远程 IP 地址。

注意:上述日志记录规则仅适用于内置的 SNTP 客户端;单独的 NTP 软件包没有任何日志记录功能。