Mantendo a hora certa com o OpenNTPD

Publicado por Jack Ripoff em 31/10/2007

[ Hits: 10.820 ]

 


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

Lançada edição n. 6 da Revista Espírito Livre

LocalePurge, removendo locales não utilizados no Arch Linux e em distros Debian-like

Mapeando teclas de modo visual no VIM

Papéis de parede e proteção de tela extras para o Zenwalk

VMWare Player em máquinas com 2 placas de rede

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts