Mantendo a hora certa com o OpenNTPD

Publicado por Jack Ripoff em 31/10/2007

[ Hits: 12.916 ]

 


Mantendo a hora certa com o OpenNTPD



Um problema comum em computadores é a sincronização de horário. Às vezes o relógio de um computador antigo não consegue mais andar direito e começa a atrasar. Às vezes temos vários servidores e queremos manter seus relógios sincronizados para facilitar a interpretação dos arquivos de log. Às vezes só queremos manter a hora do nosso PC certa.

De qualquer modo uma solução muito fácil e simples é usar o OpenNTPD. Ele é um daemon desenvolvido pelo projeto OpenBSD que permite manter a hora do seu computador sincronizada com um ou vários servidores de horário NTP. Ele vai gradualmente sincronizando o relógio do seu computador com os servidores configurados até que ele atinja uma precisão perfeita. Suas vantagens são ser leve, seguro, muito fácil de configurar e completamente livre.

Para instalá-lo baixe e compile o código-fonte do site www.openntpd.org ou use o sistema de gerenciamento de pacotes do seu sistema operacional. Configurá-lo é muitos simples. Seu arquivo de configuração é o /etc/ntpd.conf (em alguns sistemas é /etc/openntpd/ntpd.conf). Basta editar o arquivo, especificar um ou mais servidores de horário para sincronizar, reiniciar o daemon e pronto! Vejam alguns exemplos:

#sincronizando com um único servidor
server 10.0.0.123

#sincronizando com vários servidores
server 192.168.1.200
server 192.168.1.201
server meuservidordehora.meudominio.com.br

#sincronizando com os servidores brasileiros do ntp.org
servers br.pool.ntp.org

Convém também configurar seu sistema para iniciar o daemon automaticamente na inicialização do sistema e pronto, estaremos sempre com o relógio certo! O arquivo de configuração do OpenNTPD segue os seguintes parâmetros:
  • O parâmetro server especifica o endereço de um servidor NTP para sincronizar. Caso o endereço resolva em vários servidores, ele vai sincronizar apenas com o primeiro. Ele pode ser especificado várias vezes para sincronizar com vários servidores de hora.
  • O parâmetro servers também especifica um endereço. A diferença é que caso o endereço resolva em vários servidores, ele vai sincronizar com todos eles (por exemplo: br.pool.ntp.org resolve em todos os servidores brasileiros do projeto NTP Pool). Também pode aparecer várias vezes no arquivo

Podemos inclusive acompanhar o progresso do OpenNTPD através do log /var/log/daemon.log. Sabemos que o relógio está perfeitamente sincronizado quando recebermos a mensagem "clock now synced" no arquivo de log. Se o relógio estiver muito errado na hora da inicialização do daemon ele pode demorar um pouco para conseguir sincronizá-lo perfeitamente. Podemos usar um utilitário como o ntpdate antes de iniciar o OpenNTPD para acertar o relógio e evitar essa demora.

Mas e se tivermos um PC cujo relógio pára quando desligado e só volta a andar quando o ligamos novamente? O OpenNTPD pode demorar bastante para conseguir sincronizar horas de diferença. Para resolver esse problema, precisamos passar o parâmetro "-s" para o ntpd acertar o relógio automaticamente na inicialização. Essa configuração varia de sistema para sistema. No BSD editamos o nosso /etc/rc.conf.local deixando ntpd_flags="-s". Em várias distribuições GNU/Linux temos que hackear o arquivo /etc/init.d/openntpd e ver como ele passa os parâmetros na inicialização do daemon (geralmente essas configurações ficam num arquivo em /etc/defaults).

Muitas vezes usamos soluções do tipo agendar um script para fazer esse trabalho. O OpenNTPD é uma solução mais simples, precisa e flexível. Ele permite até que configuremos o nosso próprio servidor de hora! Usando o parâmetro listen on endereço no arquivo de configuração podemos especificar um endereço no qual o computador receba pedidos de sincronização (OBS: a porta padrão do protocolo NTP é a 123 UDP). Se tivermos por exemplo uma rede grande e quisermos manter a hora precisamente sincronizada em todos os hosts podemos configurar um servidor de hora interno e configurar nossos hosts para sincronizarem com ele.

Fica aí a dica do OpenNTPD: relógios atrasados, nunca mais!

PS: Visitem o site do projeto NTP Pool para listas de servidores NTP em todo o mundo:
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Netactview - Uma ótima alternativa ao Netstat

Ouvindo rádios online com o mpg123

Usando repositórios do Yum no Zypper do SuSE

Conecte seu celular Nokia N70 ao Ubuntu

[MP-X e CELULAR] Organizando arquivos no Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts