我正在做一些测试跳跃文件ntpd 上的功能可发送假闰秒,并确保我们的 Linux 平台能够抵御“漏洞”。NTP 实验室非常简单:一个“主”服务器,本地时钟运行具有 leapfile 功能的 ntpd,以及一个连接到“主”的“客户端”系统。
我刚刚发现,在 CentOS-6 机器(运行 4.2.4p8-2)上闰秒标志从“主服务器”转发到“客户端”没有任何问题,但在 Debian Squeeze(4.2.6.p2+dfsg-1+b1)上使用相同配置却不起作用。
如果我查询 ntpd,它会返回“leap_add_sec”和“leap=01”标志,并且运行 tcpdump 我也会看到这些标志,但是“客户端”系统会忽略这些标志,正如我所说:这个仅发生在运行上游 4.2.6.p2 的 Debian 上,不会发生在运行 4.2.4p8 的 CentOS 上。
CentOS 主 NTP 配置 = 工作正常
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
server 127.127.1.0 iburst
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
keysdir /etc/ntp
crypto pw password
Debian 主 NTP 配置 = 闰秒未从主服务器转发到客户端
leapfile "/etc/leap-seconds.list"
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
server 127.127.1.1 iburst
fudge 127.127.1.1 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
CentOS 和 Debian 配置文件之间的唯一区别是闰秒设置,这取决于 ntpd 版本,主服务器和客户端服务器上其余的conf是相同的。
这是客户端上的 NTP 配置:
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
server 10.204.3.2 iburst
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
在 Debian/4.2.6.p2 系统上阻止闰秒转发的原因是什么?
答案1
仅供参考:似乎这是一个版本特定行为,使用来自 Lenny (4.2.4p4+dfsg-8lenny3) 的“转发”端口包在 Squeeze 上工作正常:闰秒字段被转发到客户端。