Guia Mac




Sincronização do MAC OS.

A implementação do NTP já vem instalada, por padrão, em sistemas operacionais MAC, sendo somente necessária a adição dos servidores NTP.br para ter a hora legal brasileira em seu computador.


1. Para isso, clique com o botão esquerdo do mouse no relógio, localizado no canto superior direito da tela.

ntp-mac1.png

2. Logo após, clique em “Abrir as preferências Data e Hora”.

ntp-mac2.png

3. Certifique-se que a opção "Ajustar data e hora automaticamente" esteja marcada.

ntp-mac-avancado1.png

4. Em seguida, abra o terminal do seu MAC e com permissão de super usuário do sistema, altere o arquivo ntp.conf, localizado no diretório /etc.

	sudo nano /etc/ntp.conf 

5. Remova todo o conteúdo do arquivo e adicione os servidores do projeto NTP.br, utilizando a palavra server e o servidor do NTP.br. Os servidores a serem adicionados são:

server a.st1.ntp.br
server b.st1.ntp.br
server c.st1.ntp.br
server d.st1.ntp.br
server gps.ntp.br
server a.ntp.br
server b.ntp.br
server c.ntp.br

6. Agora, com permissão de super usuário, abra o arquivo ntp-restrict.conf, localizado também no diretório /etc.

	sudo nano /etc/ntp-restrict.conf

7. Neste arquivo, o comando monlist deverá desabilitado. Ele é usado em ataques amplificados de negação de serviço. Para desativá-lo, adicione a seguinte linha no final do arquivo:

disable monitor

8. Agora, mate o processo do ntp de sua máquina através do comando:

	sudo killall ntpd 

O processo será automaticamente reiniciado.

Pronto! Seu MAC OS está configurado e sincronizado com os servidores do projeto NTP.br

Assista a um mini tutorial em vídeo que mostra como sincronizar seu sistema Mac com a hora legal brasileira:





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:


Primeiro comando

	ntpq -c pe

Se for obtida uma resposta como:

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.


Segundo comando

	ntpq -c rl

Uma reposta normal se parece com essa:


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.

O video tutorial a seguir demonstra como monitorar o NTP da sua máquina através de ferramentas de monitoramento: