| |
Voltar
Introdução
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 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!
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.ntp.br |
200.160.0.8 |
| b.ntp.br |
200.189.40.8 |
| c.ntp.br |
200.192.232.8 |
Voltar
Sincronização
do Windows.
O
Windows, desde a versão 2000, já traz consigo uma
versão simplificada do NTP, o SNTP. A vantagem em
utilizá-la é que não é
necessário
instalar nenhum outro software, basta realizar algumas
configurações simples. A desvantagem é
que ela
não é muito exata, e seu computador pode ainda
ficar
adiantado ou atrasado alguns poucos segundos em
relação
à "hora certa".
Então, na maior parte das vezes,
pode ser vantajoso utilizar um programa especializado pra fazer isso. O
mesmo software que é utilizado na maioria dos servidores
NTP,
escrito por David Mills, que é o "pai" desse protocolo,
funciona
em Windows! E pode-se utilizá-lo sem problemas, mesmo que
você não precise que seu computador se transforme
também em um servidor de tempo.
Basta baixar o software aqui
e instalar (clique em NTP for Windows NT/2000/XP/2003/Vista e
baixe a última versão disponível, quando este site foi escrito
a última versão era ntp-4.2.4p4@1.1520-modena-o-win32-setup.exe),
configurando os servidores: a.ntp.br, b.ntp.br e c.ntp.br.
É necessário ter direitos de administrador no computador
para fazer a instalação. A configuração
recomendada pode ser vista
à
seguir, ela é um pouco diferente da gerada pelo instalador
porque habilita as estatísticas e configura algumas
restrições de acesso. É
necessário
substituir "Program Files" por "Arquivos de Programas" para Windows
em português. O arquivo pode ser baixado
aqui.
# arquivo de "memoria" de escorregamento de frequencia driftfile "C:\Program Files\NTP\etc\ntp.drift"
# habilita as estatisticas enable stats statsdir "C:\Program Files\NTP\etc\" statistics loopstats peerstats clockstats
# servidores publicos do ntp.br server a.ntp.br iburst server b.ntp.br iburst server c.ntp.br iburst
# aqui voce pode acrescentar outros servidores # server outro-servidor.dominio.br iburst
# restricoes de acesso restrict default kod notrap nomodify nopeer
Assista a um mini tutorial em vídeo, mostrando essa
instalação:
Se você realizou essa instalação e quer acompanhar de perto o funcionamento do ntp e a qualidade da sua sincronização, pode instalar o NTP Time Server Monitor da Meinberg, baixando-o aqui (clique em NTP
Time Server Monitor, abrirá uma nova página, depois em Download
NTP Time Server Monitor for Windows NT/2000/XP/2003 Server, e finalmente na última versão do software para download; quando este site foi feito a última versão era a ntp-time-server-monitor-1.0.exe). Ele é um software opcional: você não precisa dele para que seu Windows esteja com a hora correta, nem para monitorar o funcionamento do ntp. Mas com ele fica mais fácil monitorar o ntp e visualizar de forma gráfica a qualidade da sincronização. Assista a um mini tutorial mostrando sua instalação:
Se você optou por não instalar softwares extras, mas sim utilizar os recursos do próprio Windows para manter a hora certa, basta digitar os seguintes comandos numa tela de prompt:
C:\> net time /setsntp:"a.ntp.br b.ntp.br c.ntp.br"
C:\> net stop w32time
C:\> net start w32time
O servidor ou lista de servidores com os quais o Windows está sincronizando-se pode ser consultado usando:
C:\> net time /querysntp
Ou então clicar no relógio, depois na aba
"Internet Time", habilitar a sincronização
automática via Internet e
realizar a configuração dos servidores. Assista
a um mini tutorial em vídeo, mostrando como fazer
essas configurações:
Se o seu Windows faz parte de um domínio, você pode
não conseguir sincronizar individualmente seu computador. Nesse
caso, leia a documentação sobre como funciona o
Serviço de Tempo no Windows aqui.
Voltar
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, para isso consulte a seção Utilizando
deste
site. 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, Kurumin, Conectiva, etc) |
root@host#
apt-get update
root@host#
apt-get install ntp |
| RedHat
GNU/Linux
e sistemas que usam rpm (Fedora, etc): |
root@host#
yum install ntp |
| Gentoo GNU/Linux: |
root@host#
emerge sync
root@host#
emerge ntp |
| Slackware GNU/Linux: |
root@host#
slackpkg update
root@host#
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.
Pode-se também realizar a instalação
manual,
baseada nos fontes, para isso consulte a seção Utilizando deste
site.
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. Esse
arquivo pode
ser baixado aqui.
# "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.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 Após modificar a configuração
é preciso reiniciar
o ntpd.
Assista a um mini tutorial em vídeo que mostra a
instalação num sistema Debian GNU/Linux:
Voltar
Sincronizando
roteadores
Cisco
Configure
os servidores na configuração global. O ideal
é que você use seus servidores ntp locais, que
já estarão sincronizados com o ntp.br. Mas se sua
rede for pequena e você não tiver servidores ntp
locais, pode utilizar os servidores do NTP.br diretamente:
ntp server a.ntp.br
ntp server b.ntp.br
ntp server c.ntp.br
Desabilite
o serviço ntp nas interfaces onde não for
necessário (interfaces externas, por exemplo):
interface Eth0
ntp disable
Indique
a interface que será utilizada para o ntp
É
possível verificar o funcionamento do ntp utilizando os
comandos:
show ntp status
show ntp associations
Juniper
Inclua
a diretiva server
no nível hierárquico [edit system
ntp]. Inclua também a diretiva
boot-server,
que indica o servidor a ser consultado no momento da
inicialização do roteador. Utilize IPs e
não nomes. O ideal é que
você use seus servidores ntp locais, que já
estarão sincronizados com o
ntp.br. Mas se sua rede for pequena e você não
tiver servidores ntp
locais, pode utilizar os servidores do NTP.br diretamente:
[edit system ntp]
boot-server 200.160.0.8; server 200.160.0.8; server 200.189.40.8; server 200.192.23
É
possível verificar o funcionamento do ntp utilizando os
comandos:
show ntp status
show ntp associations
Voltar
Ferramentas de
Monitoraçã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.
Voltar
|
|