Configurei o UDel ntpd (versão 4.2.6.p5) como cliente para três servidores operados pela minha organização e (pensei) mais ninguém.
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
Após cerca de cinco minutos de atividade, o ntpq relatou que o daemon havia descoberto e adicionado mais dois servidores de horário (também operados pela minha organização, mas não em sua Lista Oficial de Servidores de Horário):
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
Como esses servidores não estavam na lista de permissões de endereços (porque eu não sabia sobre eles), a tentativa do cliente de se comunicar com eles obviamente falhou.
Não sei exatamente como isso aconteceu, mas tenho a impressão, pela documentação, de que existe alguma maneira do Servidor A dizer ao cliente "ei, você deveria conversar com os Servidores B, C e D também". A documentação que encontrei contém muito palavreado sobre os vários métodos para isso, mas absolutamente nada sobre como controlá-lo.
Portanto, a questão:Como desativo isso completamente, para que o cliente tente se comunicar apenas com os servidores listados explicitamente no arquivo de configuração, aconteça o que acontecer?
Por pedido:
# 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
Não vejo nada aqui sobre a obtenção de servidores adicionais do DHCP.
Responder1
Adivinhei qual é a sua organização e que você está usando DHCP.
Sim, sua organizaçãopublica com destaque um grupo de 3 servidoresDito isto, a sua organização tambéminstrui clientes DHCP a usar seis outros servidores.
Não sei por que é um problema sua máquina estar usando servidores anunciados no dhcp, mas você pode desativar essa funcionalidade se desejar. Se você estiver usando Debian você precisa editar /etc/dhcp/dhclient.conf
e remover a opção ntp-servers da instrução request:
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
- rfc3442-classless-static-routes;
+ rfc3442-classless-static-routes, ntp-servers;
Se você não estiver usando Debian, você precisa consultar a documentação da sua distribuição.