ntp 选项“限制默认 nopeer”有什么作用?

ntp 选项“限制默认 nopeer”有什么作用?

安装的NTP版本:ntp-4.2.6p5-5

我试图理解ntp restrictwith的用法和含义restrict default nopeer

引用NTP文档

nopeer:拒绝可能动员关联的数据包,除非经过身份验证。当配置的关联不存在时,这包括广播、对称主动和多播服务器数据包。它还包括池关联,因此如果您想使用池指令中的服务器并且默认情况下也想使用 nopeer,那么您还需要一个不包含 nopeer 指令的“限制源...”行。请注意,此标志不适用于不尝试动员关联的数据包。

这是否意味着,当我们使用 时restrict default nopeer,我们无法在没有身份验证的情况下关联对等点。 (不使用钥匙)?

考虑以下场景:

服务器配置:ip-10.12.12.12

[root@sdp_1 ~]# cat /etc/ntp.conf

server 10.12.10.53
    #restrict default kod nomodify nopeer noquery notrap
    #restrict -6 default kod nomodify nopeer noquery notrap
    #restrict 127.0.0.1
    #restrict -6 ::1
    restrict default nopeer
    keys /etc/ntp/keys

对等配置:ip-10.12.12.11

[root@sdp_2 ~]# cat /etc/ntp.conf

#server 10.12.10.53
#restrict default kod nomodify nopeer noquery notrap
#restrict -6 default kod nomodify nopeer noquery notrap
#restrict 127.0.0.1  
#restrict -6 ::1
restrict default nopeer
peer 10.12.12.12 minpoll 4
keys /etc/ntp/keys

我仍然可以在 2011 年 12 月 10 日看到 PEER 关联,如下所示:

ntpq> associations

ind assid status  conf reach auth condition  last_event cnt
===========================================================
  1 48387  961a   yes   yes  none  sys.peer    sys_peer  1
ntpq>

[root@sdp_2 ~]# ntpq -np
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*10.12.12.12    10.12.10.53     5 u   13   16  377    0.211    8.953   0.842

我的假设正确吗?

答案1

在您的 10.12.12.11 系统上,您已使用以下配置

peer 10.12.12.12 minpoll 4

这尝试建立双向NTP关系,即10.12.12.11将使用10.12.12.12作为时间源,但也会导致10.12.12.11告诉10.12.12.12:“嘿,你可以使用我作为服务器如果你愿意的话也可以”。

如果没有restrict default nopeer,两个系统都运行 NTP 一段时间后,您还会在ntpq -np10.12.12.12 列表中看到 10.12.12.11 作为远程 NTP 源。由于 10.12.12.11 只有 10.12.12.12 作为其 NTP 源,10.12.12.12 仍会首选 10.12.10.53,因为其更好的层值,但如果与 10.12.10.53 的连接丢失,则 10.12.12.12 和 10.12.12.11 都会相互交叉核对以尽量减少时间错误。 (或者,如果 10.12.12.11 是邪恶的,它可以利用这种双向关系使 10.12.12.12 的时钟越来越偏离真实时间。)

10.12.12.12 上的restrict default nopeer告诉它不要信任任何提供双向 NTP 关系的 NTP 服务器,除非它已成功通过身份验证(或在 10.12.12.12 中明确列出ntp.conf),因此它变成了单向客户端-服务器关系。因此,10.12.12.11 仍然从 10.12.12.12 获取时间,但如果 10.12.12.12 失去与 10.12.10.53 的连接,它不会与 10.12.12.11 进行交叉检查,并且只会依赖自己的计时,直到连接到 10.12.10.53已恢复。

答案2

以下内容来自 man ntp_aac:

默认条目也始终存在,但如果未配置的话;没有标志与默认条目关联(即,除了您自己的 NTP 服务器之外的所有内容均不受限制)。

由于ntp conf的逻辑,restrict实际上意味着permit. restrict default nomodify notrap nopeer noquery表示不允许对此守护进程进行任何修改\trap\peer\query 条目。尽管这句话被省略了,但它仍然发挥作用。

相关内容