Sincronização do Windows

O Windows possui, por padrão, uma implementação simplificada do NTP que não mantém a hora legal brasileira atualizada constantemente. Recomenda-se então utilizar um programa especializado nisso. Esse software que é utilizado na maioria dos servidores NTP foi desenvolvido por David Mills, criador da primeira RFC desse protocolo.

1. Para baixar o software acesse:

2. Selecione a opção para Windows:

ntp-win-00.png

3. Realize o download do software:

ntp-win-00b.png

4. Execute o software, aceite os termos de uso e escolha o local de instalação do programa:

ntp-win-03.png

5. Selecione "Next" para prosseguir a instalação. Selecione e instale todos os componentes fornecidos:

ntp-win-04.png

6. Selecione "Next" para prosseguir com a instalação. Na próxima tela selecione “Create initial configuration file with the following settings” e preencha o campo "You can specify up to 9 NTP servers..." com o nome dos servidores NTPs separados por virgulas. Os servidores são:

  • a.st1.ntp.br
  • b.st1.ntp.br
  • c.st1.ntp.br
  • d.st1.ntp.br
  • gps.ntp.br
  • a.ntp.br
  • b.ntp.br
  • c.ntp.br
ntp-win-04.png

7. Selecione "Next" para prosseguir a instalação. Será perguntado se você deseja rever o arquivo de configuração para adicionar outras configurações. Selecione “Não”.

ntp-win-05.png

8. Selecione "Next" para continuar a instalação. Não altere os valores padrões nas configuração de serviço e clique em "Next".

ntp-win-06.png

9. Será pedido para criar um novo usuário. Preencha com os dados que desejar.

ntp-win-07.png

10. Clique em "Next" para prosseguir. Espere o serviço ser iniciado e clique em "Finish" para terminar a instalação.

ntp-win-08.png

Pronto! Seu computador já está configurado para sincronizar a hora certa de forma precisa.

Em caso de dúvidas assista ao mini tutorial em vídeo, mostrando essa instalação:




Sincronização para atuar como servidor NTP

Para fazer com que seu computador seja capaz de prover a hora correta a outros computadores é necessário primeiro realizar a instalação do cliente NTP, de forma a obter a hora correta a partir dos relógios atômicos do projeto NTP.br.

Para instalar o cliente NTP, siga os passos demonstrados na seção Sincronização do Windows.

Se você já possui o cliente NTP da Meinberg instalado e configurado em seu computador, saiba que ele por si só já atua como servidor NTP. Entretanto, o firewall do Windows bloqueia requisições externas, impedindo a sincronização de outras máquinas com a sua.

Os passos a seguir demonstram como configurar o firewall do Windows para permitir acesso externo ao servidor NTP localizado em sua máquina:

1. Clique com o botão direito do mouse no canto inferior esquerdo da tela e abra o "Painel de Controle":

ntp-win-serv-00.png

2. Clique em "Sistema e Segurança":

ntp-win-serv-01.png

3. Clique em "Firewall do Windows":

ntp-win-serv-02.png

4. No menu lateral, clique em "Configurações avançadas":

ntp-win-serv-03.png

5. Nesta nova janela, no menu lateral esquerdo, clique em "Regras de Entrada":

ntp-win-serv-04.png

6. Agora no menu lateral direito, clique em "Nova Regra...":

ntp-win-serv-05.png

7. Este é o assistente que nos guiará na configuração de uma exceção para acesso externo ao servidor NTP. Selecione a opção "Porta" e clique em "Avançar":

ntp-win-serv-06.png

8. Na primeira opção, selecione "UDP". Na segunda, selecione "Portas locais específicas" e no campo em branco entre com "123". A porta 123 UDP é a porta relacionada ao protocolo NTP. Clique em "Avançar".

ntp-win-serv-07.png

9. Selecione a opção "Permitir a conexão" e clique em "Avançar":

ntp-win-serv-08.png

10. Selecione todas as opções disponíveis para que a regra possa atuar em todos os tipos de rede existentes em sua máquina. Clique em "Avançar":

ntp-win-serv-09.png

11. Preencha os campos com informações que descrevam esta regra, apenas como referência. Clique em "Concluir".

ntp-win-serv-10.png

Pronto! A regra de firewall já é válida e outros computadores já podem obter a hora correta através do servidor instalado em sua máquina.

Em caso de dúvidas assista ao video tutorial, monstrando essa instalação:




Monitorando o NTP no Windows (opcional)

Se você realizou a instalação do cliente NTP e quer acompanhar de perto o seu funcionamento e a qualidade da sua sincronização, pode instalar também o NTP Time Server Monitor da Meinberg.

Para instalar o NTP Time Server Monitor, acesse o Site da Meinberg. Clique na última versão do software disponível para realizar o download. Prossiga com a instalação clicando em "Next" e em "Finish" para finalizar.

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.

Após a instalação, será necessário ativar o uso de algumas estatísticas e logs para a geração de gráficos. Para isso, abra o NTP Time Server Monitor com permissões de administrador, vá na aba "NTP Configuration File" e substitua as linhas de configuração pelas citadas abaixo:

# 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.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

# aqui voce pode acrescentar outros servidores
# server outro-servidor.dominio.br iburst

# restricoes de acesso
restrict default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict -6 default kod notrap nomodify nopeer noquery
restrict -6 ::1

# desabilitar comando monlist
disable monitor

Importante: Substitua o C:\Program Files\NTP pela sua pasta de instalação do NTP.
Salve e feche o arquivo.

Assista abaixo um tutorial mostrando sua instalação e algumas funcionalidades:





Ferramentas de Monitoramento

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. Eles devem ser executados no promtp de comando:

ntpq -c pe

Se for obtida uma resposta como:

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:

ntpq -c rl

associd=0 status=c011 leap_alarm, sync_unspec, 1 event, freq_not_set,
version="ntpd 4.2.6p5@1.2349-o Mon Apr 13 13:39:46 UTC 2015 (1)",
processor="x86_64", system="Linux/3.13.0-36-generic"
stratum=3, precision=-20, rootdelay=224.336, rootdispersion=35.121,
peer=4764, refid=200.192.232.8,
reftime=cb30d5b2.559c02d8  Tue, Jun 23 2015 15:34:42.334, poll=7,
clock=cb30d6d8.ee2e88ee  Tue, Jun 23 2015 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.