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.




0 Comments


Seja o Primeiro a Comentar!


You must be logged in to post a comment.