FreeBSD

31 de outubro de 2016

Servidor NTP no FreeBSD

Mais artigos de »
Escrito por: Leonardo Souza
Tags:

Servidor NTP no FreeBSD

A maioria das informações trocadas por computadores conectados em rede possuem uma flag de tempo, que armazena a data e hora em que estas informações foram criadas e/ou trocadas com outro dispositivos. Várias são as implicações, caso esta flag possua informações erradas, algumas delas desastrosas. Para sanar este problema vamos configurar um servidor NTP no FreeBSD.

Servidor NTP é um servidor de horas, que permite a sincronização dos clientes, garantindo que todos os dispositivos que utilizarem seus serviços terão suas informações de hora devidamente sincronizados. Para manter atualizado seu horário, o próprio servidor NTP utiliza um servidor NTP oficial.




No Brasil a “Hora Legal Brasileira” é disponibilizada pelo projeto NTP.br, em parceria com o Observatório Nacional (ON) e o Núcleo de Informação e Coordenação do Ponto BR (NIC.br). Através deste projeto são disponibilizados servidores NTP em estados como Brasília, Rio de Janeiro e São Paulo. Sendo assim, basta que nosso servidor utilize um destes servidores e estará com seu horário correto, podendo disponibilizar para seus clientes.

Para checar se o horário do seu computador está correto basta acessar o site do projeto no link http://ntp.br/. Na imagem abaixo podemos ver uma consulta deste tipo.

consulta_ntp

Perceba que neste exemplo o horário não está correto.

Configurando o servidor NTP no FreeBSD

Para configurar um servidor NTP no FreeBSD não é necessário instalar programa algum, pois o serviço é executado pelo processo ntpd, que já faz parte do sistema. Sendo assim, basta realizar algumas poucas configurações e logo nosso serviço está no ar.

A primeira configuração precisa ser realizada no arquivo principal do NTP, que é o /etc/ntp.conf, para manipular este arquivo vamos utilizar o editor de textos ee, padrão do FreeBSD.

Para configurar este arquivo são necessárias três informações básicas:

Server: neste campo especificamos os servidores de hora que pretendemos sincronizar. Para visualizar os servidores NTP do projeto NTP.br basta acessar o site oficial e procurá-los na lateral direita da tela. Segundo o site do projeto os principais servidores são:

ntp_lista

Driftfile: arquivo de uso do ntpd para realizar o sincronismo.

Restrict: restrições relativas ao uso do servidor para sincronizar as horas.

Abra o arquivo com o seguinte comando:

# ee /etc/ntp.conf

Realize as configurações necessárias, meu arquivo ficou da seguinte forma:

Servidor NTP no FreeBSD

Perceba que estou utilizando cinco servidores, e o servidor a.ntp.br é o preferencial. Dessa forma, os outros funcionam apenas como uma redundância. Logo depois declaro o arquivo driftfile: /var/db/ntpd.drif. Por fim, utilize a diretiva restrict para determinar que o localhost e rede local poderá utilizar este serviço.

Agora vamos configurar o ntpd para iniciar juntamente como sistema, para isso precisamos editar o arquivo /etc/rc.conf . Digite o comando:

# ee /etc/conf

Insira a linha ‘ntpd_enable=”YES”’.

rc-conf_ntpd

Agora já podemos iniciar o serviço ntpd, para isso digite o comando:

# /etc/rc.d/ntpd start

ntp_start

Nosso servidor já está configurado, para checar o sincronismo podemos executar alguns comandos. O utilitário mais interessante para esta tarefa é o ntpq, vamos analisar dois comandos dele:

# ntpq –c rl

ntpq_rl

este comando apresenta as variáveis globais relativas ao tempo do sistema. Entre elas podemos citar:

version: versão do ntp;

stratum: estrato do servidor local. O ideal é o valor 2 ou 3.

precision: indica a precisão do servidor com o expoente de um número base 2;

rootdelay: representa o atraso dos pacotes em milissegundos;

rootdispersion: representa o erro máximo da medida de offset em relação ao estrato 0;

refid: principal referencia do sistema;

offset: representa quanto o relógio local precisa ser atrasado ou adiantado até atingir o horário correto;

frequency: representa o erro na frequência do relógio local.

Outro comando que pode ser utilizado é o:

# ntpq –c pe

ntpq_pe

Este comando apresenta informações básicas acerca dos servidores:

remote: apresenta o nome ou IP do servidor de horas;

refid: a referencia que o servidor está utilizando para sincronizar.

st: estrato da fonte de tempo;

when: apresenta o tempo em segundos, que se passaram desde a última consulta a fonte de horas;

poll: frequência de segundos que a fonte é consultada;

reach: registrador que representa o resultado das últimas consultas.

delay: tempo de atraso em milissegundos;

offset: tempo que o relógio local precisou ser adiantado ou atrasado.

jitter: variação entre as diferentes medidas de deslocamento para essa fonte de tempo, representada em milissegundos.

Configurando o cliente para usar o servidor NTP

Nosso servidor está devidamente configurado, vamos agora configurar nosso cliente para utilizar o serviço configurado. Para este exemplo vamos utilizar um cliente Windows XP, porém podemos configurar qualquer versão deste sistema da mesma forma.

Abra as configurações de hora e data, seja através do painel de controle ou clicando duas vezes na hora (canto direito da tela).

hora1

Com esta janela aberta, clique na aba “Horário na Internet”.

hora2

Marque a caixa “Sincronizar automaticamente…” e digite o IP ou nome do host servidor NTP.

Dessa forma, nosso cliente já está utilizando o serviço, basta aguardar alguns minutos e realizar o teste novamente o site NTP.br.

2

Configurando um cliente NTP no FreeBSD

Para utilizar o servidor NTP em um cliente FreeBSD basta utilizar o comando ntpdate seguindo do IP do servidor.

# ntp 172.20.20.10

ntpdate

Perceba que o comando retorna o tempo que o cliente estava atrasado.

Para configurar o cliente para sincronizar com o servidor NTP durante o boot do sistema, basta inserir uma entrada no arquivo /etc/rc.conf. Abra o arquivo com o comando:

# ee /etc/rc.conf

E insira as seguintes linhas:

ntpdate_enable=”YES”

 ntpdate_hosts=”172.20.20.10”

rc_conf_ntpdate

Pronto, acabamos de configurar e testar nosso servidor NTP no FreeBSD. Este servidor está no ar e totalmente funcional. Espero que o conteúdo tenha sido útil.






Sobre o Autor

Foto de perfil de Leonardo Souza
Leonardo Souza
Bacharel em Informática, pós graduado em Segurança de Redes de Computadores e analista de Segurança da Informação. Entusiasta de Segurança da Informação e usuário FreeBSD, porém sem xiismo.





  1. Foto de perfil de Helton Barbosa

    Ótimo post sobre configuração do servidor NTP. Já configurei diversas vezes esse serviço nos servidores que montei, mas ainda não havia encontrado informações mais precisas do que as que você colocou neste artigo. Está de parabéns Leonardo Souza!



You must be logged in to post a comment.