我将 UDel ntpd(版本 4.2.6.p5)配置为我的组织运营的三台服务器的客户端,(我认为)没有其他服务器。
server xx.yy.zz.1 iburst
server xx.yy.zz.2 iburst
server xx.yy.zz.3 iburst
restrict default ignore
restrict xx.yy.zz.1 nomodify notrap nopeer noquery
restrict xx.yy.zz.2 nomodify notrap nopeer noquery
restrict xx.yy.zz.3 nomodify notrap nopeer noquery
正常运行大约五分钟后,ntpq 报告守护程序发现并添加了另外两个时间服务器(也由我的组织运营,但不在他们的时间服务器官方列表中):
ntpq> pe
remote refid st t when poll reach delay offset jitter
==============================================================================
*xx.yy.zz.1 aa.bb.cc.dd 2 u 16 64 1 0.157 -2.230 0.032
xx.yy.zz.2 aa.bb.cc.dd 2 u 15 64 1 0.207 -2.191 0.032
xx.yy.zz.3 aa.bb.cc.dd 2 u 14 64 1 0.211 -2.171 0.014
xx.yy.zz.4 .INIT. 16 u - 64 0 0.000 0.000 0.000
xx.yy.zz.5 .INIT. 16 u - 64 0 0.000 0.000 0.000
由于这些服务器不在地址白名单中(因为我不知道它们),客户端与它们通信的尝试显然失败了。
我不知道这到底是怎么发生的,但我从文档中得到的印象是服务器 A 可以通过某种方式告诉客户端“嘿,你也应该与服务器 B、C 和 D 交谈”。我发现的文档有很多关于各种方法的杂乱无章的措辞,但绝对没有关于如何控制它。
因此,问题是:我如何完全关闭它,以便客户端只尝试与配置文件中明确列出的服务器通信,无论如何?
根据请求:
# ntpq -pncrv | redact
remote refid st t when poll reach delay offset jitter
==============================================================================
+xx.yy.zz.1 aa.bb.cc.dd 2 u 56 1024 377 0.177 -0.010 0.070
*xx.yy.zz.2 aa.bb.cc.dd 2 u 690 1024 377 0.237 0.028 0.046
+xx.yy.zz.3 aa.bb.cc.dd 2 u 226 1024 377 0.229 0.013 0.052
xx.yy.zz.4 .INIT. 16 u - 1024 0 0.000 0.000 0.000
xx.yy.zz.5 .INIT. 16 u - 1024 0 0.000 0.000 0.000
associd=0 status=061b leap_none, sync_ntp, 1 event, leap_event,
version="ntpd [email protected] Fri Apr 10 19:04:04 UTC 2015 (1)",
processor="x86_64", system="Linux/3.16.0-4-amd64", leap=00, stratum=3,
precision=-22, rootdelay=0.405, rootdisp=38.394, refid=128.2.1.21,
reftime=d951542d.a6db3cdc Wed, Jul 15 2015 17:50:37.651,
clock=d95156df.0d2756da Wed, Jul 15 2015 18:02:07.051, peer=9102, tc=10,
mintc=3, offset=0.009, frequency=-5.266, sys_jitter=0.024,
clk_jitter=0.030, clk_wander=0.003
# redact < /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server aa.bb.cc.1 iburst
server aa.bb.cc.2 iburst
server aa.bb.cc.3 iburst
restrict -4 default ignore
restrict -6 default ignore
restrict aa.bb.cc.1 nomodify notrap nopeer noquery
restrict aa.bb.cc.2 nomodify notrap nopeer noquery
restrict aa.bb.cc.3 nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
我在这里看不到任何有关从 DHCP 获取其他服务器的信息。
我猜测您的组织是什么以及您正在使用 dhcp。
是的,您的组织显着地发布了一组 3 台服务器话虽如此,您的组织还指示 dhcp 客户端使用其他六台服务器。
我不确定为什么您的机器使用在 dhcp 中宣传的服务器是个问题,但您可以根据需要关闭此功能。如果您使用的是 Debian,则需要
/etc/dhcp/dhclient.conf
从请求语句中编辑并删除 ntp-servers 选项:如果您不使用 Debian,您需要查阅您的发行版文档。