Home / Dicas e Tutoriais / Como Configurar o NTP Para Ajustar O Horário de Seu Computador

Como Configurar o NTP Para Ajustar O Horário de Seu Computador

Uma característica básica e ao mesmo tempo importante do tempo é que ele sempre avança. O tempo não para e não volta para trás. Vários programas de computador fazem uso dessa característica e podem ter seu funcionamento comprometido se o relógio do computador inesperadamente passar a indicar um horário errado, especialmente se for um horário no passado. Isso se complica ainda mais em servidores e na Internet, com vários computadores trocando informações entre si!

Infelizmente os relógios dos computadores são imprecisos e se adiantam ou se atrasam com o passar do tempo. É muito fácil também trocar seu horário para o passado ou para o futuro, mesmo acidentalmente.

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!

logo-ntp

O NTP.br através de seus servidores públicos ajuda a manter seu computador sincronizado com a Hora Legal Brasileira e com o Tempo Universal Coordenado (UTC). Siga as instruções do seu equipamento ou sistema operacional e utilize os servidores do NTP.br, ou consulte os próximos itens, para algumas configurações mais comuns.

Os servidores do NTP.br são os seguintes:

Nome Endereço
a.st1.ntp.br 200.160.7.186 e 2001:12ff:0:7::186
b.st1.ntp.br 201.49.148.135
c.st1.ntp.br 200.186.125.195
d.st1.ntp.br 200.192.232.8
a.ntp.br 200.160.0.8 e 2001:12ff::8
b.ntp.br 200.189.40.8
c.ntp.br 200.192.232.8
gps.ntp.br 200.160.7.193 e 2001:12ff:0:7::193

Instalação para GNU/Linux e outros sistemas baseados em Unix.

Para GNU/Linux, FreeBSD, OpenBSD e outros sistemas baseados em Unix, utilize o método de instalação apropriado para sua distribuição. Para algumas distribuições a tabela abaixo indica uma das possíveis formas de instalação. Pode haver métodos alternativos para a instalação, por isso é recomendável consultar a documentação da sua distribuição.

Pode-se também realizar a instalação manual, baseada nos fontes. Se você estiver instalando o ntp com a finalidade de ser um servidor de tempo para sua rede, é recomendável fazer a instalação à partir dos fontes.

Sistema Instalação
Debian GNU/Linux e sistemas que usam apt.
(Ubuntu, Mint, Elementay OS, etc)
# apt-get install ntp
RedHat GNU/Linux e sistemas que usam rpm (Fedora, etc): # yum install ntp
Gentoo GNU/Linux: # emerge ntp
Slackware GNU/Linux: # slackpkg install ntp
FreeBSD e OpenBSD # cd /usr/ports/net/ntp
# make install

 

As distribuições acima podem ter métodos alternativos para a instalação, verifique a documentação de sua distribuição. Para outras distribuições verifique o método de instalação recomendado na documentação.

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 

Edite o Arquivo de Configuração do NTP

Substitua o conteúdo do arquivo de configuração padrão /etc/ntp.conf pela configuração abaixo. Você poderá fazer isso com o seu editor de texto favorito com o Vi, Nano ou Gedit (Gedit apenas se possuir interface).

# "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 iburts
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
   
# Configurações de Restrição de Acesso

restrict default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

# A configuração do NTP permite restringir o acesso a máquinas/redes. 
# Tal configuração é realizada através do parâmetro restrict. 
# Por exemplo, caso pretende que a máquina 192.168.0.70 não use o serviço NTP, 
# deverá indicar a seguinte configuração.
# restrict 127.0.0.1
# restrict 192.168.0.70
# restrict ::1
# Em nosso caso vamos restringir apenas o próprio servidor de consultar a si mesmo. 
# (pois ele busca nos servidores públicos da internet previamente definidos).
restrict 127.0.0.1
restrict ::1
# desabilitar comando monlist disable monitor
disable monitor

Reinicie o Serviço do NTP

Após modificar a configuração é preciso reiniciar o ntpd.

Faça isso com o comando:

sudo /etc/init.d/ntp restart

Ferramentas de Monitoramento do NTP

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:

# ntpq -c pe
ntpq: read: Connection refused (Ou timeout)

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 delay 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

associd=0 status=0614 leap_none, sync_ntp, 1 event, freq_mode,
version="ntpd 4.2.6p3@1.2290-o Mon Apr 13 13:41:30 UTC 2015 (1)",
processor="x86_64", system="Linux/3.2.0-84-generic", leap=00, stratum=2,
precision=-22, rootdelay=30.974, rootdisp=28.562, refid=201.49.148.135,
reftime=d92aa981.213209a5  Tue, Jun 16 2015 10:56:17.129,
clock=d92aaa04.938057ef  Tue, Jun 16 2015 10:58:28.576, peer=22647, tc=6,
mintc=3, offset=24.223, frequency=4.643, sys_jitter=3.047,
clk_jitter=7.476, clk_wander=1.642

Dentre as várias informações obtidas, pode-se destacar a versão do ntp, em verde; o estrato, em vermelho (2 ou 3 são o níveis esperados, 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.

Configurando Clientes em Sua Rede

O Processo de configuração dos clientes de sua rede é idêntico.

A única diferença é que no arquivo de configuração do ntp deve-se apontar o servidor interno de sua rede ao invés dos públicos do ntp.

Então se nosso servidor configurado tem o IP 192.168.0.200, basta apontar isso no arquivo do cliente /etc/ntp.conf

# servidores publicos do projeto ntp.br
server 192.168.0.200

No Ubuntu por exemplo o pacote ntp já vem instalado e configurado. Então quando você instala o Ubuntu, ele já define seu horário UTC, que você escolheu na instalação pela sua região e assim ele busca o horário correto conforme o servidor NTP da Cananical, que são os seguintes abaixo (que podem ser consultados em /etc/ntp.conf).

server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org

Mas você pode mudar isso se quiser e usar um horário definido manualmente o que não é nem um pouco recomendado.

horario

No Windows

No Windows você pode clicar no relógio e acertar a hora manualmente ou definir um horário da internet apontando para algum destes servidores ntp citados ou o seu próprio servidor ntp interno.

hora Windows

Conclusão

Agora você possui um servidor de NTP em seu Linux, e pode definir em máquinas clientes a mesma coisa.

É isso aí pessoal, agora não deixem seus servidores e desktops com a hora errada!

Abraços,

Cleuber

Fonte: ntp.br

About Cleuber

Cleuber Silva Hashimoto. Administrador

Leave a Reply

x

Check Also

Elementary OS 6 Odin Lançado – Confira as Novidades

Desenvolver um sistema operacional não é ...