Na minha rede, tenho um servidor NTP confiável com o qual todos os PCs estão sincronizados. Devido aos vários problemas pelos quais o serviço Windows Time é conhecido (pelo menos no Windows 7 e versões inferiores), desativei-o nas máquinas Windows e instalei a porta NTPD para Windows da Meinberg .

Isso funcionou de maneira confiável por muitos anos em todos os PCs que já testei, mas hoje tenho um problema com uma de minhas máquinas Windows (Windows 7 Pro x64, todas as atualizações aplicadas no momento da redação deste artigo).

Observe que C:\Program Files (x86)\NTP\etc\ntp.confnessa máquina é literalmente o mesmo que em todos os outros PCs com Windows nessa rede, exceto pela última linha (veja abaixo).

ntpd.conf (na máquina problemática, alguns comentários foram removidos):

restrict default noquery nopeer nomodify notrap  
restrict -6 default noquery nopeer nomodify notrap  

# allow status queries and everything else from localhost 
restrict 127.0.0.1 
restrict -6 ::1 

# if you need to allow access from a remote host, you can add lines like this: 
# restrict <IP OF REMOTE HOST> 

# Use drift file 
driftfile "C:\Program Files (x86)\NTP\etc\ntp.drift"

# Use specific NTP servers
server timeserver.in.my.local.network iburst minpoll 6 maxpoll 7

# End of generated ntp.conf --- Please edit this to suite your needs

interface ignore wildcard
interface ignore ipv6
interface listen 127.0.0.1
interface listen 192.168.20.100

Obviamente, a última linha é diferente em PCs diferentes. E sim, eu realmente não quero ntpdouvir em cada interface / endereço IP, mas apenas no endereço IP "principal" e assim por diante localhost.

O problema:

Como primeiro teste rápido que faço em todos os PCs após a instalação, abri cmd32como administratorno PC em questão e executei

C:\Program Files (x86)\NTP>ntpq -p

Isso resultou na seguinte mensagem de erro:

ntpq: read: No such file or directory

Eu estava primeiro acreditando no que dizia e analisando seu comportamento ProcessMonitor, mas sem sucesso. Não consegui encontrar nenhuma dica de que não foi possível abrir um arquivo. Cocei minha cabeça por um tempo e tentei

C:\Program Files (x86)\NTP>ntpq -p 192.168.20.100

Desta vez, eu tenho

192.168.20.100: timed out, nothing received
***Request timed out

Portanto, obviamente, de acordo com minhas conclusões de ProcessMonitor, não há problema em ler um arquivo, mas talvez em abrir o dispositivo de rede.

Estranhamente,

C:\Program Files (x86)\NTP>ntpq -p 127.0.0.1

produziu o resultado esperado:

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*192.168.20.10 ( 192.53.103.108   2 u    8  128  377    0.977    0.194   0.977

Isso me fez coçar a cabeça novamente. Para os testes, eu desliguei o firewall do Windows no PC (e não há nenhum outro firewall instalado lá), mas ntpq -pe ntpq -p 192.168.20.100ainda estavam jogando as mesmas mensagens de erro como antes.

Como último teste, eu corri

C:\Program Files (x86)\NTP>netstat -abno

e pegou

Active Connections

  ...
  UDP    127.0.0.1:123          *:*                                    5076
 [ntpd.exe]    
  ...
  UDP    192.168.20.100:123     *:*                                    5076
 [ntpd.exe]
  ...

Portanto, ntpdouça os endereços IP do arquivo de configuração conforme o esperado.

Obviamente, reiniciar o serviço e até reiniciar o PC não ajudou.

Agora estou ficando sem ideias. Qual poderia ser a causa da ntpqconversa com um dos endereços IP ntpd, mas não com o outro, mesmo quando o firewall está completamente desligado?

Binarus
fonte