1. Importância do NTP no Ubuntu
O que é NTP?
NTP (Network Time Protocol) é um protocolo projetado para sincronizar o horário dos sistemas de computador de forma precisa através de uma rede. Manter o horário do sistema correto é essencial para a consistência de logs, processamento de transações e a confiabilidade da comunicação de rede. Se o relógio do sistema desviar, podem ocorrer erros de rede ou inconsistências de dados, tornando a sincronização precisa do horário crucial, especialmente em ambientes de servidores.
No Ubuntu, chrony é recomendado porque fornece sincronização de horário precisa mesmo em ambientes de rede instáveis. O Chrony também oferece baixa latência e sincronização rápida, tornando‑o adequado tanto para ambientes de servidor quanto de cliente.
2. Como Configurar o NTP
Instalando e Configurando o Chrony
Chrony é o cliente NTP padrão no Ubuntu 18.04 e versões posteriores. Use os passos a seguir para instalar o Chrony e configurar a sincronização de horário usando servidores NTP.
Etapas de Instalação
sudo apt update
sudo apt install chrony
Em seguida, inicie o serviço Chrony e habilite‑o para inicialização automática.
sudo systemctl start chrony
sudo systemctl enable chrony
O arquivo de configuração está localizado em /etc/chrony/chrony.conf. Se você quiser usar servidores NTP localizados no Japão, configure‑o da seguinte forma:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
A opção iburst acelera a sincronização inicial ao conectar‑se a um servidor NTP.
3. Otimizando e Selecionando Servidores NTP
Usando o Projeto NTP Pool
O Projeto NTP Pool fornece servidores NTP otimizados por região, provenientes de todo o mundo. Ao configurar múltiplos servidores NTP, a confiabilidade aumenta, garantindo que, se um servidor ficar indisponível, outros possam continuar a sincronização de horário sem interrupções.
O exemplo abaixo mostra uma configuração que usa servidores localizados no Japão:
server ntp.nict.jp iburst
server 0.jp.pool.ntp.org iburst
server 1.jp.pool.ntp.org iburst
server 2.jp.pool.ntp.org iburst
4. Definindo o Fuso Horário
Usando o Comando timedatectl
Por padrão, o Ubuntu usa UTC como fuso horário do sistema. Você pode alterá‑lo para o Horário Padrão do Japão (JST) usando o comando a seguir:
sudo timedatectl set-timezone Asia/Tokyo
Depois de fazer a alteração, verifique as configurações atuais do fuso horário com:
timedatectl
5. Solução de Problemas
Quando o NTP Não Sincroniza
Verificar o Firewall
NTP usa a porta UDP 123, e a sincronização pode falhar se o firewall bloquear essa porta. Abra a porta 123 usando o comando a seguir:
sudo ufw allow 123/udp
Verificando Relógios Falsos
Use o comando ntpq -p para verificar se os servidores NTP estão funcionando corretamente. Servidores que fornecem horário impreciso são marcados com o símbolo x. Se detectados, remova ou substitua esses servidores na sua configuração.
Erro Stratum 16
Se o servidor NTP não conseguir sincronizar com um servidor upstream, ocorre um erro Stratum 16. Isso indica um problema de conectividade ou de configuração. Verifique as configurações de rede e reconfigure seus servidores NTP para garantir a sincronização com fontes upstream confiáveis.
Sincronização Manual de Horário
Para sincronizar o horário manualmente usando o Chrony, execute o comando a seguir:
sudo ntpdate ntp.nict.jp
Você também pode revisar os logs do Chrony para diagnosticar problemas de sincronização:
sudo journalctl -u chrony
6. Otimização do NTP em Ambientes de Alta Carga
Ajustando minpoll e maxpoll
Em ambientes que exigem sincronização de horário de alta precisão, ajustar os intervalos de sondagem do NTP permite atualizações mais frequentes e ajuda a minimizar o desvio de horário. O exemplo de configuração abaixo aumenta a frequência de sincronização:
server ntp.nict.jp iburst minpoll 4 maxpoll 10
Gerenciando NTP com Juju
Em ambientes de nuvem em grande escala, o Juju pode automatizar a implantação de serviços NTP. O Juju monitora a carga dos hosts e seleciona automaticamente o host ideal como servidor NTP. Implante o NTP via Juju da seguinte forma:
juju deploy cs:ntp ntp
juju config ntp auto_peers=true
Isso permite o gerenciamento automatizado do NTP, distribuindo a carga de forma eficaz e garantindo uma sincronização de tempo eficiente.
7. Aprimorando a Segurança
Controle de Acesso para Servidores NTP
Para melhorar a segurança, você pode restringir o acesso ao servidor NTP a endereços IP específicos. Adicione regras de controle de acesso ao arquivo /etc/chrony/chrony.conf conforme mostrado abaixo, permitindo solicitações apenas de redes aprovadas:
allow 192.168.1.0/24
Isso impede solicitações NTP não autorizadas de hosts externos e reforça a segurança da rede interna.

