安装的NTP版本:ntp-4.2.6p5-5
我试图理解ntp restrict
with的用法和含义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 -np
10.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 条目。尽管这句话被省略了,但它仍然发挥作用。