Você pode ter uma porta de bloqueio de firewall 123 que pode fazer com que o servidor ntp nunca veja servidores de horário.
No meu caso, meu ISP (provedor de serviços de Internet) estava bloqueando as portas.
Uma varredura de porta de 123 também não detectou o bloqueio.
A arma fumegante foi que eu temporariamente tenho dois feeds de internet independentes. No linux, se eu rodar ntpq -p
(repetidamente) com o primeiro feed de internet conectado, nada será atualizado, mas com o outro feed eu recebo atualizações!
Como @Jens A. Koch diz, ntpdate -u <server name>
contorna isso, bem, temporariamente (sem trocadilhos), isso não resolve a questão do tempo a longo prazo.
Ao longo do tempo, o desvio ocorrerá no sistema e nos relógios de hardware. Também no meu caso dual boot linux / windows faz com que o clock do hardware fique ainda mais bagunçado (por horas).
Portanto, você deve ter a porta 123 aberta para o UDP para manter o relógio do sistema.
Em vez de usar -u
, você também pode fazer isso, o que eu acho que usa a porta 123 (em vez de uma porta não 'privilegiada'):
service ntp stop
e, em seguida, ntpdate <server url>
(sem o -u) e, por fim, service ntp start
.
Isso parece ignorar o problema de bloqueio de portas, pelo menos para acertar o relógio uma vez. Se -u
funciona, mas isso não acontece, então é um sinal bastante claro de que a porta está bloqueada ou o servidor não está respondendo, ...
Outro problema que eu tive que resolver foi que para mim a configuração padrão /etc/ntp.conf
do Debian incluía 4 linhas para os pools: debian.pool.ntp.org
. Nenhum desses servidores funcionou. Eu recebi esta mensagem de erro:
Error resolving debian.pool.ntp.org: No address associated with
hostname (-5) 24 Mar 04:49:27 ntpdate[15115]: Can't find host
debian.pool.ntp.org: No address associated with hostname (-5) 24 Mar
04:49:27 ntpdate[15115]: no servers can be used, exiting
Eu tive que mudar os servidores para us.pool.ntp.org
.