O servidor NTP não está funcionando corretamente

4

Eu instalei um servidor NTP muito simples em um servidor Red Hat que possuo, a configuração é bem básica:

driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap 
restrict -6 default kod nomodify notrap 
restrict 127.0.0.1 
restrict -6 ::1
restrict 192.168.200.0 mask 255.255.255.0 nomodify notrap
server 0.rhel.pool.ntp.org
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

Se eu tentar testar isso no localhost, parece funcionar corretamente:

ntpq -p localhost
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 gw-ge.esaote.co 62.48.53.90      3 u   56   64  173   81.474  -163823 67736.2

Se eu tentar consultá-lo a partir de uma máquina remota, o mesmo resultado:

ntpq -p 192.168.200.151
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 gw-ge.esaote.co 62.48.53.90      3 u    -   64  367   75.500  -163838 61828.5

Mas, se eu invoco ntpdate , não funciona:

ntpdate 192.168.200.151
12 Mar 10:35:51 ntpdate[2688]: no server suitable for synchronization found
    
por ludiegu 12.03.2014 / 10:37

2 respostas

5

Seu servidor NTP está muito fora de sincronia dos servidores do pool. Você notará que o caractere mais à esquerda antes do nome do host na saída ntpq -p é um espaço. Se o NTP foi sincronizado com o servidor remoto, isso seria um * . Observe também o valor muito grande de offset , que informa que o tempo definido no seu servidor está muito distante.

Pare o NTP, faça um ntpdate pool.ntp.org e reinicie-o. Após alguns minutos, ele deve se estabilizar e sincronizar, e seu cliente deve poder consultá-lo.

    
por 12.03.2014 / 10:49
2

Há muitas perguntas ntp e todas elas têm o mesmo erro: pessoas usando SERVER em um pool ntp e POOL em um servidor ntp:

server 0.rhel.pool.ntp.org

Como o URL diz, é um POOL . Experimente

pool 0.rhel.pool.ntp.org

em vez disso, ou realmente usar um servidor, não um pool ...

Além disso, a maioria das pessoas tem um timesource na sua rede, na maioria das vezes controladores de domínio do Windows. Se isso for verdade para você, por que mexer com servidores ntp externos quando você pode usar o NTP interno do Windows DC ...

Não mantenha o ntpdate no seu servidor se você usar o ntpd!

Considerando, por qualquer motivo, por que seu sistema está à deriva a tempo, o que você vai fazer sobre isso?

Quando você enfrenta problemas de tempo no Linux, primeiro verifique qualquer sistema de virtualização - se você usa VMware / Hyper-V / Xen / KVM / Qualquer Coisa - pense no que realmente é o seu "relógio de hardware" aqui! Às vezes, o seu relógio "BIOS" está se comportando mal, mas é tão virtual quanto a sua placa de rede (!), Portanto, se você usar VMs, converse com seus colegas responsáveis.

Considerando a diferença do ntpd e ntpd em poucas palavras: o ntpd está "trapaceando" seu sistema adicionando frações de tempo à hora do sistema (data) até que a hora local do sistema seja sincronizada com qualquer fonte de tempo, enquanto ntpdate define sua hora local para "tempo de rede" prontamente.

Hora do sistema é o que a data do comando informará sobre o Linux. Mas há também hwclock (precisa de sudo) que é realmente o seu hardware a.k.a BIOS clock.

Por uma vez - literalmente falando - você pode precisar fazer

sudo hwclock ---systohc

para configurar o seu relógio BIOS / hardware / virtual para a data do sistema - o que o ntpd diz. Se você precisar fazer isso com mais frequência, há um problema.

Eu sei com certeza, isso se aplica ao Ubuntu, então eu assumo que também se aplica ao Debian. A razão é que o sistema pode chamar o ntpdate a tempo (cron.weekly?) Mas quando você tem o ntpd rodando, ele usualmente reclamaria! Você simplesmente não pode executar o ntpdate quando o ntpd estiver em execução.

Normalmente, você instala o ntpd porque ele possui um arquivo derivativo que permite ao ntpd ajustar seu tempo sem problemas, mas "com o tempo" - ele pode adicionar aqui uma fração de segundo e não forçar a redefinir o tempo. segundos no futuro - ou pior ainda o passado - porque você pode assumir, por exemplo a maioria dos bancos de dados não gosta de viagens no tempo!

E é para isso que o ntpd é. O ntpdate - ao contrário - corrigirá prontamente qualquer desvio de tempo que possa causar problemas críticos de aplicação - o ntpd por outro lado adicionará alguns milissegundos a cada segundo para que as coisas tenham o tempo certo "no tempo", não surpreendendo nenhum aplicativo. Profundamente contando com timestaps com BIG saltos no tempo para frente ou para trás. Bases de dados sérias com conteúdo sério dependem de timestamps (por exemplo, mysql / postgres / mariadb).

Então você vê que ambos têm diferentes abordagens e não podem ser usados juntos.

    
por 10.04.2017 / 19:09

Tags