O NTP (Network Time Protocol) é um protocolo de rede baseado no TCP/IP. Ele é usado para sincronizar o relógio dos computadores conectados a uma rede de dados de maneira precisa. A real necessidade disso é superar os problemas causados pela latência, os quais colocam quaisquer registros sob desconfiança.
Vamos supor que um ambiente comum de trabalho mantém a rede local funcionando. Os equipamentos conectados à rede, no entanto, não estão com os relógios sincronizados.
Sem fazer ideia das discrepâncias, a equipe começa o fato de alguns e-mails serem respondidos antes mesmo de serem encaminhados — o que, em tese, é impossível.
Agora, imaginemos os problemas que a falta de sincronia pode causar a uma empresa que faz o monitoramento de TI. É certo que a maioria dos logs de dados serão inconsistentes, pois não se sabe quando determinado evento ocorreu, o que inviabiliza auditorias.
Ficou ciente da importância em sincronizar os relógios? Ótimo! Daqui em diante abordarei, neste conteúdo, o que você precisa saber acerca do NTP. Falaremos sobre o seu conceito, origem, funcionamento, instalação e configuração. Preparado para começar?
Conceito e funcionamento do protocolo NTP
O protocolo NTP é utilizado a partir de um servidor específico e dedicado, ou seja, um servidor NTP. A função dele é estabelecer conectividade com outro servidor (geralmente uma sub-rede), o qual fornece o horário em tempo real.
Por exemplo, o NTP conecta a sua rede ao serviço que fornece a hora certa. Este, por sua vez, capta a informação do UTC (Coordinated Universal Time, ou Tempo Universal Coordenado), fuso horário usado como referência de cálculo para as demais zonas horárias.
O servidor NTP, ao receber a solicitação, calcula a latência para definir a hora certa do cliente. No Brasil, o serviço de sincronismo público é disponibilizado pelo Observatório Nacional, por meio desta página, em parceria com o Núcleo de Informação e Coordenação do Ponto BR, o NIC.br.
Surgimento do protocolo NTP
Embora muito utilizado atualmente, o NTP está em operação há mais de 30 anos, sendo um dos mais antigos protocolos que seguem em uso. Se considerarmos o início do desenvolvimento e primeiros testes em público, o conceito está prestes a completar 40 anos.
Todavia, foi no ano de 1985 que o protocolo NTP foi concluído e implementado nos sistemas operacionais Fuzzball e Unix. O autor, por sua vez, foi David L. Mills, na University of Delaware.
Durante todo esse tempo o protocolo recebeu diversas atualizações e funcionalidades. Além disso, o projeto passou a ser mantido como open source, ou seja, o código fonte é livre para ser estudado, aprimorado e integrado a outros projetos.
Até aqui nós aprendemos o que é o protocolo NTP, para que ele serve e quando ele foi criado. Nos próximos tópicos, abordarei o lado prático: vamos instalar um servidor NTP no Linux e configurá-lo.
Instalação de um NTP Server no Linux
A situação mais comum de instalação do NTP é a partir de um servidor local que é acessado por um conjunto de computadores. Sendo assim, faremos com que o servidor local sincronize os relógios de todos os dispositivos, inclusive roteadores e outros equipamentos.
Tendo em vista garantir o máximo de eficiência — e outras vantagens —, o processo será explicado com base nos servidores Linux (mais precisamente o Ubuntu), até por ele estar presente na maioria das empresas ao redor do planeta — fato que não provém do acaso.
Com o sistema operacional preparado, abra o terminal do Linux para atualizar o repositório e, em seguida, instalar o NTP server. Vale frisar que o protocolo será instalado, também, nas máquinas clientes. Digite os seguintes comandos:
sudo apt update sudo apt install ntp -y
Nos computadores que fazem parte da rede local, instale os recursos necessários para estabelecer a sincronia com o servidor — o que aprenderemos a fazer no próximo tópico.
sudo apt update sudo apt install ntpdate -y
Para que as novas instalações funcionem é preciso fazer as configurações. Vamos ao passo a passo?
Configuração do servidor NTP Linux
Primeiramente, pelo lado do servidor, usando um editor de texto, abra o arquivo de configuração do NTP.
sudo vim /etc/ntp.conf
Acrescentaremos algumas linhas a este arquivo para registrar os servidores NTP para sincronia.
server 0.ubuntu.pool.ntp.org iburst server 1.ubuntu.pool.ntp.org iburst server 2.ubuntu.pool.ntp.org iburst server 3.ubuntu.pool.ntp.org iburst
Para isso, utiliza-se o site do NTP Pool Project, que disponibiliza os endereços. Neste exemplo em especial, selecionamos a zona BR para adicionar os servidores NTP mais próximos.
server 0.br.pool.ntp.org server 0.south-america.pool.ntp.org server 2.south-america.pool.ntp.org
O próximo passo é adicionar a rede local para que ela seja sincronizada. Supondo que o endereço IP da rede seja 192.168.104.0/24, insira-o de acordo com a sintaxe próxima linha que adicionaremos:
restrict 192.168.104.0 mask 255.255.255.0
Depois de editar o arquivo de configuração, salve as alterações e feche-o. Digite no terminal: sudo service ntp restart e, em seguida, sudo systemctl enable ntp. Isso fará com que o NTP seja reiniciado junto com o boot do sistema operacional. Para se certificar de que a rede está conectada ao NTP server, digite ntpq -p.
Se tudo ocorreu como esperado, o seu servidor NTP Linux já está funcionando e, também, pronto para sincronizar os relógios. Entretanto, é necessário que o servidor receba solicitações; a partir do computador do cliente, digite:
sudo ntpdate -o 192.168.104.254
Em suma, apenas acionamos o NTP para que a máquina seja sincronizada à rede que cadastramos. A partir de agora os relógios serão sincronizados automaticamente.
Com o servidor NTP configurado, conforme você aprendeu no decorrer da leitura, a falta de sincronia horária deixará de ser um problema na sua rede. Afinal, ela contará com um servidor dedicado que eliminará as brechas de segurança que envolvam a latência.
O que achou do conteúdo? Ficou com alguma dúvida sobre o servidor NTP? Deseja acrescentar algum detalhe? Compartilhe nos comentários!
Se você está curtindo as dicas sobre Linux abordadas no blog, aproveite para visitar a página Profissionais Linux. Lá, você terá acesso a conteúdos avançados que o ajudarão a construir uma carreira sólida na área de TI