Páginas

sexta-feira, 19 de outubro de 2012

Sincronizar relógio e calendário do Linux para atualização automática do horário de verão com - NTP Client/Server

Introdução
O NTP é um protocolo para sincronização dos relógios dos computadores, ou seja, ele define um jeito para um grupo de computadores conversar entre si e acertar seus relógios, baseados em alguma fonte precisa de tempo, como os relógios atômicos do Observatório Nacional, que definem a Hora Legal Brasileira.
Em sua versão mais completa, o NTP é bastante robusto e preciso. Ele consulta vários outros computadores para saber a hora certa, e consegue distinguir os que falam a verdade e os que estão enganados. Ele também aprende se o relógio de seu computador é viciado em adiantar-se ou atrasar-se e usa essa informação para ajustá-lo constantemente.
Com o NTP é fácil manter o relógio do computador sempre com a hora certa, com exatidão de alguns milésimos de segundo, e só há vantagens em se fazer isso!

Instalação

Debian GNU/Linux e sistemas que usam apt (Ubuntu, Kurumin, Conectiva, etc)
root@host# apt-get update
root@host# apt-get install ntp

Após instalar o ntp, crie o arquivo ntp.drift com o comando:

       # touch /etc/ntp.drift

Se a hora de seu computador estiver com um erro maior do que 16min o ntp pode não funcionar. Se for o caso, ajuste a hora manualmente, antes de iniciar o ntpd. Ou então execute o ntpd com os parâmetros abaixo, para um primeiro ajuste, e depois inicie o serviço:
       # ntpd -q -g 
 
Substitua o conteúdo do arquivo de configuração padrão /etc/ntp.conf pela configuração abaixo.
 
        # "memoria" para o escorregamento de frequencia do micro
        # pode ser necessario criar esse arquivo manualmente com
        # o comando touch ntp.drift
        driftfile /etc/ntp.drift

        # estatisticas do ntp que permitem verificar o historico
        # de funcionamento e gerar graficos
        statsdir /var/log/ntpstats/
        statistics loopstats peerstats clockstats
        filegen loopstats file loopstats type day enable
        filegen peerstats file peerstats type day enable
        filegen clockstats file clockstats type day enable
        
        # servidores publicos do projeto ntp.br
        server a.st1.ntp.br iburst
        server b.st1.ntp.br iburst
        server c.st1.ntp.br iburst
        server d.st1.ntp.br iburst
        server gps.ntp.br iburst
        server a.ntp.br iburst
        server b.ntp.br iburst
        server c.ntp.br iburst
         
        # outros servidores
        # server outro-servidor.dominio.br iburst
    
        # configuracoes de restricao de acesso
        restrict default kod notrap nomodify nopeer
        restrict -6 default kod notrap nomodify nopeer
         # Permitir as máquinas de LAN sincronizar com este servidor ntp
        restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
 
 
Ferramentas de Minitoração
 
O ntp traz consigo algumas ferramentas que permitem monitorar seu funcionamento. A mais importante é o ntpq. A seguir são apresentados dois comandos do ntpq que permitem visualizar algumas variáveis importantes do ntp:
ntpq -c pe
Se for obtida uma resposta como:
         server:/home/moreiras# ntpq -c pe
         ntpq: read: Connection refused
Significa que o serviço ntp não está funcionando. Uma reposta normal se parece com essa:


      remote        refid         st   t  when  poll  reach  delay   offset  jitter
    ================================================================================
    +a.ntp.br     200.160.7.192    2   u   10    64    337  294.756  35.596   0.521
    +b.ntp.br     200.160.7.186    2   u    8    64    377  226.294   2.658   0.229
    *c.ntp.br     200.160.7.192    2   u    -    64    377  208.758   4.026   0.424
 
Pode-se ver os 3 servidores do projeto ntp.br:
      remote        refid         st   t  when  poll  reach  delay   offset  jitter
    ================================================================================
    +a.ntp.br     200.160.7.192    2   u   10    64    337  294.756  35.596   0.521
    +b.ntp.br     200.160.7.186    2   u    8    64    377  226.294   2.658   0.229
    *c.ntp.br     200.160.7.192    2   u    -    64    377  208.758   4.026   0.424
 
O * em c.ntp.br significa que ele foi escolhido como system peer, ou seja, a principal referência na sincronização do sistema. Os + em a.ntp.br e b.ntp.br, significa que eles também estão sendo usados, mas com peso menor, para obter a hora certa. 
Pode-se observar também o offset, ou deslocamento, delay, ou atraso, e o jitter, ou variação, todos em milisegundos:
 
      remote        refid         st   t  when  poll  reach  delay   offset  jitter
    ================================================================================
    +a.ntp.br     200.160.7.192    2   u   10    64    337  294.756  35.596   0.521
    +b.ntp.br     200.160.7.186    2   u    8    64    377  226.294   2.658   0.229
    *c.ntp.br     200.160.7.192    2   u    -    64    377  208.758   4.026   0.424


O atraso significa o tempo de ida e volta dos pacotes. O valor do atraso não é tão importante, mas o ntp é sensível à simetria da rede. Ou seja, o ntp espera que o tempo de ida dos pacotes seja igual ao da volta. Isso geralmente está relacionado a atrasos pequenos. 
O deslocamento significa o quanto o relógio local tem de ser adiantado ou atrasado para se igualar ao relógio do servidor. Quanto menor o valor, melhor. Valores de alguns milisegundos podem ser considerados normais. 
A variação é calculada à partir de diversas medidas de deslocamento. Representa o quanto essas medidas variam entre si. Valores pequenos são melhores. Valores grandes podem indicar problemas de conectividade. 
A variável reach é um número octal que indica o resultado das últimas 8 tentativas de acesso ao servidor.

remote refid st t when poll reach delay offset jitter ================================================================================ +a.ntp.br 200.160.7.192 2 u 10 64 337 294.756 35.596 0.521 +b.ntp.br 200.160.7.186 2 u 8 64 377 226.294 2.658 0.229 *c.ntp.br 200.160.7.192 2 u - 64 377 208.758 4.026 0.424  

O valor 377 indica que as últimas 8 consultas ao servidor obtiveram sucesso. Outros valores indicam falhas.
ntpq -c rl
Uma reposta normal se parece com essa:
server:/home/moreiras# ntpq -c rl assID=0 status=0654 leap_none, sync_ntp, 5 events, event_peer/strat_chg, version="ntpd 4.2.2p4@1.1585-o Sun Mar 4 13:21:35 UTC 2007 (1)", processor="i686", system="Linux/2.6.9-023stab043.1-smp", leap=00, stratum=3, precision=-20, rootdelay=224.336, rootdispersion=35.121, peer=4764, refid=200.192.232.8, reftime=cb30d5b2.559c02d8 Thu, Jan 10 2008 15:34:42.334, poll=7, clock=cb30d6d8.ee2e88ee Thu, Jan 10 2008 15:39:36.930, state=4, offset=10.396, frequency=0.000, jitter=14.973, noise=8.978, stability=0.000, tai=0

Dentre as várias informações obtidas, pode-se destacar a versão do ntp, em verde; o estrato, em vermelho (3 é o nível esperado, já que os servidores públicos do ntp.br são estrato 2); e o deslocamento, em milisegundos, em azul, que indica quanto o relógio local tem de ser adiantado ou atrasado para chegar à hora certa.


fonte : http://www.ntp.br/NTP/MenuNTPLinuxBSD 

     

 

Nenhum comentário:

Postar um comentário