Servidor de NTP


Toda empresa precisa ter a hora corretamente configurada em suas máquinas, sejam desktops ou servidores, mas nem sempre funciona assim. Seja pela idade do hardware ou simplesmente problemas de construção os relógios de hardware sempre perdem a hora correta. O comum é que sejam diferenças de milissegundos em um ano, mas nem sempre é assim que acontece, tem máquinas em em poucos dias já estão bem diferentes da hora exata.
Se para muitas empresas isso não é tão crítico assim, para quem lida com transações financeiras, serviços de autenticação isso é crucial. Para resolver esse tipo de problemas temos o NTP (Network Time Protocol) que é usado para permitir que máquinas acertem, via rede, seus relógios com algum servidor configurado.

O NTP baseia seu funcionamento em Stratum (camadas), os servidores de Stratum 0 são os principais e servem apenas para acertar os servidores de Stratum 1, os servidores mais usados no Brasil (a.ntp.br, b.ntp.br e c.ntp.br) são de Stratum 2, ou seja se atualizam com os servidores de nível 1.
Como a atualização com a internet nem sempre será possível para todas as máquinas, criaremos em nossa rede um servidor de NTP, nosso servidor se atualizará com os servidores oficiais e os clientes da rede se atualizarão com ele. Como nosso servidor não fará parte da estrutura oficial de servidores de nome, faremos algumas alterações para que ele seja confiável.
Primeiro vamos instalar o NTP no servidor:
# apt-get install ntp
Agora vamos editar o arquivo de configuração:
# vi /etc/ntp.conf

# Arquivo que contem a variação da hora local em relação aos servidores oficiais(escorregamento)
# Esse arquivo é usado quando o servidor perde contato com o servidor oficial e precisa verificar
# Se a hora está correta.
driftfile /var/lib/ntp/ntp.drift
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 que serão usados para atualizar a hora local
server a.ntp.br
server b.ntp.br
server c.ntp.br
# Restrições para permitir apenas consultas
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
# Configuração para mudar o Stratum de nosso servidor para um stratum menor. Por não ser
# um servidor oficial faremos isso para nossa rede interna confiar em nosso servidor
server 127.127.1.0 iburst
fudge 127.127.1.0 stratum 5

Com isso nosso servidor poderá ser usado pelos clientes como informação confiável para acerto de hora.
Nos clientes Linux basta instalar o ntp configurar a variável server para o IP do servidor interno de NTP, presumindo que nosso servidor seja 192.168.1.90 o arquivo do cliente ficaria assim:
driftfile /var/lib/ntp/ntp.drift
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 que serão usados para atualizar a hora local
server 192.168.1.90
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1

Em clientes Microsoft, desde o Windows 2000, deve-se deixar a sincronização automática configurada e configurar o IP do servidor NTP:
net stop w32time
net time /setsntp:192.168.1.90
net start w32time

Em equipamentos que usam IOS Cisco faremos o seguinte:
Router> enable
password: *********
Router# config t
Router(config)# ntp server 192.168.1.90
Router(config)# exit
Router# wr mem

Para consultar o status do servidor usamos o seguinte comando:
# ntpq -p 192.168.1.90
E veremos algo como:

Espero ter ajudado a alguns que tem problemas com hora certa na empresa. Para maior entendimento do protocolo e sua configuração sugiro a leitura nesse site http://ntp.br/NTP/MenuNTPNtp onde tem em português informações sobre NTP e os servidores de NTP do Brasil.
Não esqueça de votar no TopBlog e continuar comentando e participando do Portal.

Share

    Comments

    1. parabéns… seus post sempre ajuda as pessoas!!!!

    2. Muito bom.
      Recentemente usei esse recurso num cliente que estava com problema de hora nas estações.
      Abs.

    3. Realmente tudo que o Vagner posta aqui é sempre muito útil.
      Vagner o comando net time /setsntp:192.168.1.90 não esta dando certo, retorna dizendo que a sintaxe ta incorreta, porem tentei de varias forma e nao da certo. Aqui na minha rede estou tendo problemas com algumas máquinas (win xp – win 7), porem eu utilizo o comando net time \192.168.0.2 /set /y para seta o horário, porem esse servidor (192.168.0.2) nao possui servico ntp, apenas seto pelo horario do server mesmo. o que voce acha?
      Valeuuu

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.