- 1 1. Introdução: Por que a Sincronização de Tempo é Importante
- 2 2. O que é ntpd? Seu Papel e Opções no Ubuntu
- 3 3. Instalando e Configurando Inicialmente o ntpd no Ubuntu
- 4 4. Configurando e Personalizando Servidores NTP
- 5 5. Verificando a Operação do ntpd e Solucionando Problemas
- 6 6. Comparação do ntpd com Outras Ferramentas de Sincronização de Tempo
- 7 7. Perguntas Frequentes (FAQ)
- 8 8. Conclusão: Melhore a Confiabilidade do Sistema com Sincronização de Tempo Estável
1. Introdução: Por que a Sincronização de Tempo é Importante
Problemas Causados pelo Desvio do Relógio do Sistema
Em sistemas Linux, incluindo o Ubuntu, manter o horário correto é crucial. Embora possa parecer um problema menor de imprecisão do relógio, o desvio de tempo pode gerar problemas críticos na operação de servidores e em ambientes de execução de aplicações.
Por exemplo, os seguintes problemas podem ocorrer:
- Logs Inconsistentes Se os carimbos de tempo nos logs do sistema e nos logs de aplicações estiverem desalinhados, torna-se difícil identificar a causa dos problemas durante a solução de incidentes.
- Jobs do cron com Falha Tarefas agendadas (como backups e processamento em lote) podem não ser executadas nos horários corretos, podendo rodar em momentos inesperados.
- Falhas em Certificados SSL e Autenticação de Segurança Informações de tempo precisas são necessárias para comunicação HTTPS e autenticação SSH. Se o horário do sistema estiver incorreto, os certificados podem ser considerados “expirados”, levando a erros de conexão.
Esses problemas podem ter um impacto particularmente severo ao operar múltiplos servidores sincronizados por uma rede.
O Papel e a Importância do NTP
Para prevenir esses problemas, NTP (Network Time Protocol) é utilizado. O NTP se comunica com servidores de horário na internet ou em uma rede local para corrigir automaticamente o horário do sistema.
O Ubuntu oferece várias ferramentas relacionadas ao NTP incluindo ntpd, chrony e systemd-timesyncd. Este artigo focará no ntpd (daemon do Network Time Protocol), fornecendo uma explicação detalhada de sua instalação e uso no Ubuntu.
Especialmente para servidores destinados a operação de longo prazo e sistemas que exigem consistência nos logs, a estabilidade do ntpd é altamente valorizada.
O próximo capítulo apresentará o que é o ntpd, seus papéis básicos e as opções disponíveis no Ubuntu.
2. O que é ntpd? Seu Papel e Opções no Ubuntu
Visão Geral e Recursos do ntpd
ntpd (Network Time Protocol Daemon) é um programa daemon que usa o NTP para manter o horário do sistema preciso. Ele se comunica periodicamente com servidores NTP na internet ou em uma rede local e ajusta automaticamente o relógio do sistema.
Um recurso chave do ntpd é sua “sincronização suave”, que corrige gradualmente as diferenças de tempo. Esse design evita mudanças abruptas de horário que poderiam impactar negativamente sistemas e aplicações em execução.
Além disso, o ntpd suporta recursos avançados do NTP, como modo ativo simétrico e autenticação, tornando‑se um serviço robusto de sincronização de tempo adequado para ambientes corporativos.
Ferramentas de Sincronização de Tempo Disponíveis no Ubuntu
O Ubuntu oferece as seguintes opções para sincronização de tempo:
- ntpd (pacote ntp) Amplamente usado em ambientes que exigem operação de longo prazo e configuração detalhada. Oferece excelente flexibilidade e estabilidade permitindo sincronização de alta precisão ao conectar‑se a servidores NTP públicos.
- chrony Uma alternativa ao ntpd que tem ganhado destaque por sua alta precisão e velocidade de sincronização rápida após a inicialização. Funciona bem em ambientes de recursos limitados e máquinas virtuais, e muitas distribuições modernas estão adotando o chrony como padrão.
- systemd-timesyncd Um serviço leve de sincronização de tempo habilitado por padrão no Ubuntu 20.04 e posteriores. É simples e fácil de usar, mas possui recursos limitados, tornando‑se inadequado para configurações avançadas ou para operar como servidor NTP local.
Razões para Escolher o ntpd e Suas Vantagens
A principal razão para adotar o ntpd no Ubuntu é sua confiabilidade e estabilidade. É uma escolha forte, especialmente nos seguintes casos:
- Quando alta precisão de horário é necessária para servidores de longa duração.
- Quando se deseja construir um servidor NTP dentro de uma rede local.
- Para aplicações corporativas que exigem autenticação e controle avançado.
Além disso, o ntpd tem a vantagem de ser compatível com muitos sistemas existentes e possuir um histórico comprovado, o que reduz preocupações durante a implementação.
3. Instalando e Configurando Inicialmente o ntpd no Ubuntu
Procedimento de Instalação do ntpd
Para usar o ntpd no Ubuntu, primeiro você precisa instalar o pacote ntp. Você pode instalá‑lo facilmente seguindo os passos abaixo:
sudo apt update
sudo apt install ntp
Este comando instalará automaticamente o ntpd e seus arquivos relacionados. Observe que em algumas versões do Ubuntu, o chrony ou o systemd-timesyncd podem estar habilitados por padrão. Nesses casos, recomenda‑se desabilitá‑los ou removê‑los previamente.
sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd
Habilitando o Serviço e Verificando a Inicialização
Depois que a instalação for concluída, habilite o serviço ntpd e verifique seu status de inicialização.
sudo systemctl enable ntp
sudo systemctl start ntp
sudo systemctl status ntp
Se o comando status mostrar “active (running)”, isso significa que o ntpd foi iniciado com sucesso.
Verificando e Editando o Arquivo de Configuração Inicial
A configuração do ntpd está definida no arquivo /etc/ntp.conf. A configuração padrão após a instalação inclui vários servidores NTP padrão (geralmente da série pool.ntp.org).
Primeiro, vamos verificar o conteúdo do arquivo de configuração.
cat /etc/ntp.conf
Se você quiser especificar servidores nos Estados Unidos, pode editá‑lo da seguinte forma:
server us.pool.ntp.org iburst
A opção iburst é recomendada, pois melhora a velocidade de sincronização durante a conexão inicial.
Após fazer alterações na configuração, reinicie o serviço ntpd para aplicá‑las.
sudo systemctl restart ntp
Verificando a Sincronização Automática do Horário do Sistema
Depois de iniciado, o ntpd sincroniza automaticamente o horário com o servidor. Para verificar se está funcionando corretamente, o comando a seguir é útil:
ntpq -p
Este comando permite visualizar uma lista de servidores NTP conectados e informações detalhadas, como atraso e offset.
4. Configurando e Personalizando Servidores NTP
Selecionando Servidores NTP Recomendados
Um aspecto importante da configuração do ntpd é escolher quais servidores NTP serão usados para sincronização. Ao se conectar à internet, especificar servidores NTP confiáveis nos Estados Unidos pode garantir uma sincronização de horário mais estável.
Servidores NTP públicos típicos nos EUA incluem:
us.pool.ntp.org(Um pool de servidores NTP nos Estados Unidos)- Você também pode encontrar pools regionais como
north-america.pool.ntp.orgou pools de estados específicos, se necessário.
Esses servidores são operados com base em relógios atômicos de alta precisão e podem ser usados para uso pessoal sem necessidade de permissão especial.
Você pode configurar a sincronização com esses servidores escrevendo o seguinte em /etc/ntp.conf:
server us.pool.ntp.org iburst
server north-america.pool.ntp.org iburst
Itens de Configuração Detalhados no ntp.conf
Além de especificar servidores NTP, o /etc/ntp.conf permite controle fino do comportamento do ntpd. Aqui estão alguns itens de configuração típicos:
- directiva restrict Define restrições e permissões para conexões de clientes. Por razões de segurança, conexões desnecessárias devem ser restritas. Exemplo: permitindo conexões da rede local
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
- driftfile Especifica o arquivo que registra o desvio do relógio do sistema (desvios sutis). Normalmente, a configuração padrão é suficiente.
driftfile /var/lib/ntp/ntp.drift

Construindo um Servidor NTP Dentro de uma Rede Local
Você também pode usar o ntpd no Ubuntu para operar como um servidor NTP que distribui horário para outros dispositivos dentro da sua rede local. Essa configuração é eficaz em ambientes sem acesso à internet ou onde a gestão consistente de horário entre vários dispositivos é necessária.
Aqui está um exemplo do procedimento de configuração:
- Adicione uma regra
restrictao/etc/ntp.confpara permitir acesso local:restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap - Nos PCs clientes, configure-os para referenciar este servidor NTP local:
server 192.168.1.10 iburst # Local IP of the NTP server - Abra a porta do servidor NTP (permita a porta UDP 123 no firewall):
sudo ufw allow 123/udp
Se a comunicação estiver bloqueada, a sincronização de horário falhará, e o comando ntpq não mostrará o status da conexão com o servidor.
5. Verificando a Operação do ntpd e Solucionando Problemas
Como Verificar o Status do Serviço
Para verificar se o ntpd está em execução corretamente, use o comando a seguir:
sudo systemctl status ntp
Se ele exibir active (running), o ntpd está operando normalmente. Se mostrar inactive ou failed, pode haver um erro de configuração ou um problema de dependência que impede sua inicialização.
Para verificar os logs em detalhe, o comando a seguir é útil:
journalctl -u ntp
Isso permite visualizar o histórico de inicialização e as mensagens de erro do serviço ntpd em ordem cronológica.
Comando para Verificar o Status da Sincronização (ntpq -p)
O comando ntpq -p é o mais usado para verificar se o ntpd está sincronizando corretamente com os servidores NTP.
ntpq -p
Exemplo de saída:
remote refid st t when poll reach delay offset jitter
==============================================================================
*time.cloudflare. 172.64.250.202 2 u 57 64 377 0.876 -0.012 0.009
+ntp.ubuntu.com 170.247.169.130 2 u 49 64 377 1.234 +0.056 0.015
stratum2.ntp.br 162.229.5.20 2 u 51 64 377 105.234 -0.123 0.021
LOCAL(0) .LOCL. 10 l -- 64 0 0.000 0.000 0.000
O significado de cada coluna é o seguinte:
remote: O nome do servidor NTP conectadost: O estrato do servidor (nível hierárquico), onde 1 é o mais preciso (ex.: relógio atômico)reach: Um registrador de deslocamento de 8 bits que indica o histórico de sucesso das últimas oito tentativas de conexãodelay: O atraso de ida e volta da rede em milissegundos (ms)offset: A diferença de tempo entre o seu sistema e o servidor em milissegundos (ms)jitter: A variância estatística do offset ao longo de várias amostras
O servidor com um asterisco (*) no início é a fonte de sincronização atualmente selecionada.
Erros Comuns e Suas Soluções
Aqui estão alguns erros comuns que você pode encontrar ao implementar o ntpd e suas respectivas soluções:
1. Nada é exibido com ntpq -p / reach é 0
- Causa : A porta UDP 123 pode estar bloqueada por um firewall ou roteador.
- Solução : Verifique as configurações de firewall tanto no servidor quanto no cliente para garantir que o tráfego NTP esteja permitido.
sudo ufw allow 123/udp
2. System clock not synchronized é exibido
- Causa : O ntpd pode não estar em execução, ou pode estar em conflito com outro serviço de sincronização (como systemd-timesyncd).
- Solução : Desative quaisquer serviços de sincronização de horário desnecessários e reinicie o ntpd.
sudo systemctl disable systemd-timesyncd sudo systemctl restart ntp
3. Falha ao resolver nomes de servidores NTP
- Causa : Problemas de configuração DNS ou de rede.
- Solução : Verifique se a resolução de nomes está funcionando (ex.: usando
ping us.pool.ntp.org) e corrija as configurações do servidor DNS, se necessário.
4. O horário está significativamente errado, mas não sincroniza
- Causa : O ntpd não ajusta automaticamente o horário se a diferença for muito grande (por motivos de segurança).
- Solução : Defina manualmente o horário inicial e então reinicie o ntpd.
sudo ntpd -gq # Perform an immediate synchronization once sudo systemctl restart ntp
Para Monitoramento Contínuo
Em um ambiente de produção, é recomendável configurar um script para registrar periodicamente a saída de ntpq -p e criar alertas para anomalias. Notar interrupções súbitas nos logs ou um valor de reach consistentemente baixo pode ajudar na detecção precoce de problemas.
6. Comparação do ntpd com Outras Ferramentas de Sincronização de Tempo
Principais Ferramentas de Sincronização de Tempo Usadas no Ubuntu
Várias ferramentas estão disponíveis para sincronização de tempo em ambientes Ubuntu. Cada uma tem suas próprias características, e a escolha depende do uso pretendido e dos requisitos do sistema. As três principais ferramentas são:
- ntpd (pacote ntp)
- chrony
- systemd-timesyncd
Entender as diferenças entre elas ajudará a escolher o método de sincronização ideal para o seu ambiente.
Recursos do ntpd
- Prós
- Tradicional e estável, com altíssima confiabilidade.
- Rico em recursos e permite configuração detalhada (configuração de servidor NTP local, autenticação, modos simétricos, etc.).
- Altamente compatível com servidores NTP públicos, com abundante informação de solução de problemas disponível.
- Contras
- A sincronização inicial após a inicialização pode, às vezes, demorar um pouco.
- A adaptabilidade a ambientes de rede modernos (virtualização, redes variáveis) é um pouco menor.
Recursos do chrony
- Prós
- Sincronização inicial rápida, corrigindo diferenças de tempo logo após a inicialização.
- Alta precisão mesmo em máquinas virtuais e ambientes de rede variáveis (laptops, uso de VPN).
- Capacidades de aprendizado autônomo (melhora a precisão com base nas condições ao redor), frequentemente oferecendo melhor precisão que o ntpd.
- Contras
- A configuração para operar como servidor NTP local é um pouco mais complexa.
- Documentação e exemplos são menos abundantes em comparação ao ntpd.
Recursos do systemd-timesyncd
- Prós
- Habilitado por padrão no Ubuntu 20.04 e posteriores, muito fácil de instalar e gerenciar.
- Recursos de sincronização mínimos com consumo de recursos muito baixo.
- Bem integrado ao systemd, facilitando o uso com as configurações padrão do Ubuntu.
- Contras
- Funcionalidade limitada, não pode ser usado para configurações avançadas manuais ou como servidor NTP local.
- Recursos de precisão e registro são básicos, não adequados para sistemas em grande escala.
Tabela de Comparação das Ferramentas (Resumo)
| Feature | ntpd | chrony | systemd-timesyncd |
|---|---|---|---|
| Accuracy | High | Very High | Normal |
| Initial Sync Speed | Can be slow | Very Fast | Normal |
| Local NTP Server | ◎ | ○ (Slightly complex) | × (Not possible) |
| Configuration Flexibility | High | Medium | Low |
| Adaptability to Virtual Environments | △ | ◎ | ○ |
| Proven Track Record & Information | ◎ | ○ | △ |
| Recommended Use Cases | Servers, organizational uniformity | Virtual environments, laptops | Single PCs, beginners |
Recomendações por Cenário de Uso
- Uso em Servidor (especialmente ambientes sempre ligados) → ntpd ou chrony são recomendados. Estabilidade e precisão são importantes.
- Ambientes em Nuvem, Máquinas Virtuais, Laptops → chrony é o mais flexível e preciso.
- Sincronização Simples de Tempo para um PC Único → systemd-timesyncd é suficiente.
7. Perguntas Frequentes (FAQ)
Q1. O ntpd é instalado por padrão no Ubuntu 22.04?
A1.
Não, o ntpd não vem instalado por padrão no Ubuntu 22.04. O systemd-timesyncd está habilitado por padrão para sincronização básica de tempo. Para usar o ntpd, é necessário instalar explicitamente o pacote ntp.
sudo apt install ntp
Após a instalação, também é recomendável desativar o systemd-timesyncd para evitar conflitos.
Q2. ntpq -p não está exibindo corretamente. O que devo fazer?
A2.
Várias razões podem causar isso:
- Serviço não está em execução : Verifique com
sudo systemctl status ntpe inicie se necessário. - Comunicação com o servidor NTP falhando : Verifique se o seu firewall está bloqueando a porta UDP 123.
- Erros no arquivo de configuração : Verifique se não há erros de digitação em
/etc/ntp.conf.
Primeiro, verifique a operação básica com o seguinte comando:
ntpq -p
Se a saída estiver vazia ou o valor de reach for 0, pode haver um problema de comunicação com servidores externos.
Q3. Devo escolher ntpd ou chrony?
A3.
A melhor ferramenta depende do seu ambiente de uso:
- Servidores físicos de longa duração ou construção de um servidor NTP local →
ntpdé recomendado pela sua estabilidade. - Ambientes virtuais, laptops ou ambientes de rede variáveis (Wi‑Fi, etc.) →
chronyoferece maior precisão e rapidez. - Ajuste simples de horário é suficiente →
systemd-timesyncdpode lidar com isso facilmente.
Q4. O que o comando ntpd -gq faz?
A4.
ntpd -gq é um comando que realiza uma sincronização única com o servidor NTP e então sai imediatamente.
-g: Permite saltos de tempo significativos para corrigir grandes discrepâncias.-q: Sai após sincronizar uma vez (não roda como daemon).
Este comando pode ser usado para definir inicialmente o horário correto se o relógio do sistema estiver muito atrasado e não for corrigido pelo serviço regular ntpd.
Q5. Há algum benefício em especificar múltiplos servidores NTP?
A5.
Sim, especificar vários servidores NTP fornece redundância e melhora a confiabilidade. Se um servidor falhar ou ficar inacessível, seu sistema ainda pode obter informações de horário dos outros servidores, garantindo sincronização estável.
Exemplo de configuração (/etc/ntp.conf):
server us.pool.ntp.org iburst
server time.google.com iburst
server ntp.cloudflare.com iburst
8. Conclusão: Melhore a Confiabilidade do Sistema com Sincronização de Tempo Estável
Reafirmando as Vantagens do ntpd
Nos sistemas Ubuntu, a sincronização precisa de horário não é apenas uma questão de conveniência, mas um elemento crucial que impacta diretamente segurança, solução de problemas, gerenciamento de logs e a precisão de processos automatizados.
Este artigo explicou de forma abrangente os fundamentos do NTP (Network Time Protocol), o mecanismo de sincronização de horário usando ntpd, métodos de instalação, personalização de configuração, verificação de operação e até comparações com outras ferramentas.
Conselho para os Leitores
A escolha de qual ferramenta de sincronização de horário adotar no Ubuntu depende do propósito do sistema, da configuração e dos requisitos de disponibilidade.
Entretanto, o princípio de que “operar de forma estável sem horário preciso é impossível” vale para todos os ambientes.
- Para uso em servidores e quando o gerenciamento de logs é importante → Configure adequadamente
ntpdouchrony. - Para uso simples em um único PC →
systemd-timesyncdoferece uma implementação fácil.
A precisão da sincronização de horário pode passar despercebida nas operações diárias, mas sem dúvida servirá como um ponto de referência valioso durante a solução de problemas.
Incentivamos você a usar este artigo como um guia para configurar o mecanismo de sincronização de horário ideal para o seu ambiente Ubuntu.


