Como Configurar o ntpd no Ubuntu: Sincronização de Tempo Confiável para Sistemas Estáveis

1. Introdução: Por Que a Sincronização de Tempo é Importante

Problemas Causados pelo Desvio do Tempo do Sistema

Em sistemas Linux, como o Ubuntu, manter o tempo do sistema preciso é de importância crítica. À primeira vista, uma pequena discrepância no relógio pode parecer trivial, mas em operações de servidor e ambientes de aplicação, mesmo um desvio de tempo mínimo pode levar a problemas sérios.

Por exemplo, os seguintes problemas podem ocorrer:

  • Perda de consistência de logs Se os carimbos de data/hora em logs do sistema ou de aplicações estiverem desalinhados, torna-se difícil identificar a causa raiz de incidentes.
  • Falhas em tarefas cron Tarefas agendadas, como backups ou jobs em lote, podem não executar no momento correto, causando comportamento inesperado.
  • Falhas em certificados SSL e autenticação de segurança Comunicações HTTPS e autenticação SSH dependem de um tempo do sistema preciso. Se o relógio estiver incorreto, certificados podem ser julgados como “expirados” ou “ainda não válidos”, resultando em erros de conexão.

Esses problemas se tornam especialmente graves quando múltiplos servidores precisam ser sincronizados em uma rede.

O Papel e a Importância do NTP

Para prevenir tais problemas, utiliza-se o NTP (Network Time Protocol). O NTP se comunica com servidores de tempo pela internet ou uma rede local e corrige automaticamente o relógio do sistema.

No Ubuntu, várias ferramentas relacionadas ao NTP estão disponíveis, incluindo ntpd, chrony e systemd-timesyncd. Neste artigo, focamos no ntpd (Network Time Protocol daemon) e explicamos em detalhes como instalá-lo e usá-lo no Ubuntu.

Para servidores que executam continuamente por longos períodos ou sistemas onde a consistência de logs é essencial, o ntpd é altamente valorizado por sua estabilidade.

Na próxima seção, começamos explicando o que é o ntpd, seu papel principal e as opções disponíveis no Ubuntu.

2. O Que É o ntpd? Seu Papel e Alternativas no Ubuntu

Visão Geral e Recursos do ntpd

O ntpd (Network Time Protocol Daemon) é um serviço em segundo plano que mantém o tempo do sistema preciso usando NTP. Ele se comunica periodicamente com servidores NTP na internet ou rede local e ajusta automaticamente o relógio do sistema.

Uma característica chave do ntpd é sua capacidade de realizar “sincronização suave”, corrigindo gradualmente o desvio de tempo em vez de fazer mudanças abruptas. Esse design previne impactos negativos em sistemas e aplicações em execução.

O ntpd também suporta recursos avançados do NTP, como comunicação simétrica e autenticação, tornando-o adequado para ambientes empresariais.

Ferramentas de Sincronização de Tempo Disponíveis no Ubuntu

O Ubuntu oferece várias opções para sincronização de tempo:

  • ntpd (pacote ntp) Amplamente usado em operações de longo prazo e ambientes que exigem configuração detalhada. Oferece alta flexibilidade e estabilidade e pode sincronizar com precisão servidores NTP públicos.
  • chrony Uma alternativa moderna ao ntpd com alta precisão e sincronização inicial muito rápida. Funciona bem em sistemas de baixa especificação e máquinas virtuais, e muitas distribuições agora o usam por padrão.
  • systemd-timesyncd Um serviço leve de sincronização de tempo ativado por padrão no Ubuntu 20.04 e posterior. É simples e conveniente, mas limitado em funcionalidade e não adequado para configurações avançadas ou execução de um servidor NTP local.

Por Que Escolher o ntpd?

A principal razão para escolher o ntpd no Ubuntu é sua confiabilidade e estabilidade. Ele é especialmente adequado nos seguintes cenários:

  • Servidores que executam continuamente por longos períodos onde a precisão de tempo é crítica
  • Ambientes que exigem a construção de um servidor NTP local em uma rede
  • Casos de uso empresariais que requerem autenticação e controle fino

Como o ntpd tem um histórico operacional longo e ampla compatibilidade, oferece tranquilidade durante a implantação.

3. Instalação e Configuração Inicial do ntpd no Ubuntu

Instalando o ntpd

Para usar o ntpd no Ubuntu, você deve primeiro instalar o pacote ntp. Isso pode ser feito facilmente com os seguintes comandos:

.“` sudo apt update sudo apt install ntp

Esta instalação instala o `ntpd` e seus arquivos relacionados. Dependendo da sua versão do Ubuntu, `chrony` ou `systemd-timesyncd` podem estar habilitados por padrão. Nesses casos, recomenda‑se **desativá‑los ou removê‑los antecipadamente**.

sudo systemctl stop systemd-timesyncd sudo systemctl disable systemd-timesyncd

### Habilitando o Serviço e Verificando a Inicialização



Após a instalação, habilite o serviço ntpd e verifique se ele está em execução:

sudo systemctl enable ntp sudo systemctl start ntp sudo systemctl status ntp

Se o status mostrar `active (running)`, o ntpd está operando corretamente.



### Verificando e Editando o Arquivo de Configuração Inicial



A configuração do ntpd está definida em `/etc/ntp.conf`. Por padrão, vários servidores NTP (geralmente da rede pool.ntp.org) são configurados.



Primeiro, revise o arquivo de configuração:

cat /etc/ntp.conf

Se quiser especificar servidores localizados no Japão, você pode editar a configuração da seguinte forma:

server ntp.nict.jp iburst

A opção `iburst` melhora a velocidade de sincronização durante a conexão inicial e é recomendada.



Após fazer as alterações, reinicie o ntpd para aplicá‑las:

sudo systemctl restart ntp

### Verificando a Sincronização Automática de Horário



O ntpd sincroniza o horário automaticamente após a inicialização. Para verificar o funcionamento correto, use o comando a seguir:

ntpq -p

Este comando exibe uma lista de servidores NTP conectados, juntamente com atraso, deslocamento e outras informações detalhadas.



## 4. Configurando e Personalizando Servidores NTP



### Selecionando Servidores NTP Recomendados



Um dos aspectos mais importantes ao configurar o ntpd é escolher quais servidores NTP serão usados para sincronização. Ao conectar‑se à internet, especificar servidores NTP confiáveis e geograficamente próximos — como servidores domésticos — pode proporcionar uma sincronização de horário mais estável e precisa.



Servidores NTP representativos no Japão incluem:



* `ntp.nict.jp` (Instituto Nacional de Tecnologia da Informação e Comunicações)
* `ntp.jst.mfeed.ad.jp` (JST / Mfeed)
* `ntp.ring.gr.jp` (Internet Multi Feed)



Esses servidores são operados com base em relógios atômicos de alta precisão e podem ser usados para fins pessoais sem necessidade de registro especial.



Você pode configurar a sincronização com esses servidores adicionando as seguintes linhas ao `/etc/ntp.conf`:

server ntp.nict.jp iburst server ntp.jst.mfeed.ad.jp iburst server ntp.ring.gr.jp iburst

### Opções de Configuração Detalhadas no ntp.conf



O arquivo `/etc/ntp.conf` permite um controle mais refinado além de simplesmente especificar servidores NTP. Abaixo estão algumas diretivas comumente usadas.



* **restrict directive**  Controla quais clientes são permitidos ou restritos de acessar o serviço NTP. Por razões de segurança, o acesso desnecessário deve ser limitado. Exemplo: permitindo acesso a partir de uma rede local.

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

* **driftfile**  Especifica o arquivo usado para registrar o desvio do relógio do sistema. Na maioria dos casos, a configuração padrão é suficiente.

driftfile /var/lib/ntp/ntp.drift






### Construindo um Servidor NTP Local Dentro de uma Rede



Usando o ntpd no Ubuntu, você também pode operar o sistema como um **servidor NTP local que distribui horário para outros dispositivos em uma rede interna**. Essa configuração é útil em ambientes sem acesso à internet ou onde a gestão consistente de horário entre múltiplos sistemas é necessária.



Um procedimento de configuração exemplo é o seguinte:



1. Adicione uma regra `restrict` ao `/etc/ntp.conf` para permitir acesso local: `restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap`
2. Configure os PCs clientes para referenciar o servidor NTP local: `server 192.168.0.10 iburst # IP local do servidor NTP`
3. Permita a porta NTP no servidor (autorize a porta UDP 123 no firewall): `sudo ufw allow 123/udp`



Se a comunicação for bloqueada, a sincronização de horário falhará, e o comando ntpq não mostrará conexão com o servidor.

## 5. Verificando a Operação e Solucionando Problemas do ntpd



### Verificando o Status do Serviço



Para confirmar se o ntpd está em execução corretamente, use o seguinte comando:

sudo systemctl status ntp

Se for exibido `active (running)`, o ntpd está operando normalmente. Se o status for `inactive` ou `failed`, pode haver um erro de configuração ou um problema de dependência impedindo a inicialização.



Para logs detalhados, o comando a seguir é útil:

journalctl -u ntp

Ele permite que você revise o histórico de inicialização e as mensagens de erro do serviço ntpd em ordem cronológica.



### Verificando 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

============================================================================== *ntp.nict.jp .NICT. 1 u 25 64 377 1.123 -0.345 0.024

O significado de cada coluna é o seguinte:



* `remote` : Nome do servidor NTP conectado  
* `st` : Estrato do servidor (quanto menor, mais preciso; 1 indica referência a um relógio atômico)  
* `reach` : Registrador de alcançabilidade (histórico de 8 bits)  
* `delay` : Atraso de rede (ms)  
* `offset` : Desvio de tempo (ms)  
* `jitter` : Variação do desvio



Um servidor marcado com `*` está atualmente selecionado como fonte de sincronização.



### Erros Comuns e Como Corrigi‑los



A seguir, estão os problemas mais frequentes ao implantar o ntpd e suas respectivas soluções.



#### 1. **Nenhuma saída de `ntpq -p` / reach permanece 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 seja permitido.

sudo ufw allow 123/udp

#### 2. **`System clock not synchronized` é exibido**



* **Causa** : O ntpd não está em execução, ou outro serviço de sincronização (como o systemd-timesyncd) está em conflito  
* **Solução** : Desative 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 a resolução de nomes usando comandos como `ping ntp.nict.jp` e ajuste as configurações DNS, se necessário.



#### 4. **O horário está muito errado e não sincroniza**



* **Causa** : Por questões de segurança, o ntpd não corrige automaticamente desvios de tempo muito grandes  
* **Solução** : Corrija manualmente o horário inicial e, em seguida, reinicie o ntpd.

sudo ntpd -gq # Perform a one-time immediate synchronization sudo systemctl restart ntp

### Para Monitoramento Contínuo



Em ambientes de produção, recomenda‑se registrar periodicamente a saída de `ntpq -p` e configurar alertas para anomalias. Detectar sinais como ausência de logs ou um valor de `reach` constantemente travado em 0 permite a identificação precoce de falhas.



## 6. Comparando o ntpd com Outras Ferramentas de Sincronização de Tempo



### Principais Ferramentas de Sincronização de Tempo no Ubuntu



O Ubuntu oferece várias ferramentas para sincronização de tempo, cada uma com características distintas. Escolher a ferramenta certa depende dos requisitos do seu sistema e do caso de uso.



* **ntpd (pacote ntp)**
* **chrony**
* **systemd-timesyncd**



### Características do ntpd



* **Vantagens**
  * Estabilidade e confiabilidade comprovadas, respaldadas por um longo histórico de operação
  * Conjunto rico de recursos com opções de configuração granulares (servidores NTP locais, autenticação, modo simétrico)
  * Alta compatibilidade com servidores NTP públicos e ampla documentação de solução de problemas
* **Desvantagens**
  * A sincronização inicial após a inicialização pode ser lenta
  * Menos adaptável a ambientes modernos, como virtualização e redes altamente variáveis



### Características do chrony

.* **Vantagens**
* Sincronização inicial muito rápida, mesmo imediatamente após a inicialização
* Alta precisão em ambientes virtualizados ou com redes variáveis (laptops, VPNs)
* Aprendizado adaptativo melhora a precisão ao longo do tempo, às vezes superando o ntpd
* **Desvantagens**
* Configuração um pouco mais complexa quando usado como servidor NTP local
* Menos documentação e menos exemplos reais em comparação com o ntpd



### Características do systemd-timesyncd



* **Vantagens**
* Habilitado por padrão no Ubuntu 20.04 e posteriores, extremamente fácil de gerenciar
* Consumo mínimo de recursos com funcionalidade básica de sincronização
* Bem integrado ao systemd e adequado para configurações padrão do Ubuntu
* **Desvantagens**
* Recursos limitados; configuração avançada e operação como servidor NTP local não são suportadas
* Precisão e recursos de registro são básicos, tornando-o inadequado para sistemas de grande escala



### Tabela de Comparação


Featurentpdchronysystemd-timesyncd
AccuracyHighVery HighModerate
Initial Sync SpeedSometimes SlowVery FastModerate
Local NTP ServerExcellentGood (More Complex)Not Supported
Configuration FlexibilityHighMediumLow
Virtual Environment SupportLimitedExcellentGood
Operational History & ResourcesExcellentGoodLimited
Recommended Use CasesServers, Organization-wide SyncVirtual Environments, LaptopsSingle PCs, Beginners
### Ferramentas Recomendadas por Caso de Uso * **Ambientes de servidor (especialmente sistemas sempre ligados)** → **ntpd** ou **chrony** para estabilidade e precisão. * **Ambientes em nuvem, máquinas virtuais, laptops** → **chrony** oferece a maior flexibilidade e precisão. * **PCs individuais com necessidades básicas de sincronização** → **systemd-timesyncd** é suficiente. ## 7. Perguntas Frequentes (FAQ) ### Q1. O ntpd é instalado por padrão no Ubuntu 22.04? **A1.** Não. No Ubuntu 22.04, o `ntpd` não é instalado por padrão. Em vez disso, o `systemd-timesyncd` está habilitado para sincronização básica de horário. Para usar o `ntpd`, você deve instalar explicitamente o pacote `ntp`.

sudo apt install ntp

Após a instalação, desabilitar o `systemd-timesyncd` ajuda a evitar conflitos.



### Q2. Por que o `ntpq -p` não exibe nenhum resultado?



**A2.**  
Várias causas são possíveis:



* **O serviço não está em execução** : Verifique com `sudo systemctl status ntp` e inicie-o se necessário
* **Nenhuma comunicação com servidores NTP** : Certifique‑se de que a porta UDP 123 não esteja bloqueada por um firewall
* **Erros de configuração** : Verifique se o `/etc/ntp.conf` não contém erros



Comece executando o seguinte comando para checar a operação básica:

ntpq -p

Se a saída estiver vazia ou `reach` permanecer `0`, a comunicação com servidores externos provavelmente está falhando.



### Q3. Devo escolher ntpd ou chrony?



**A3.**  
A escolha ideal depende do seu ambiente:



* **Servidores físicos de longa duração ou configurações de servidor NTP local** → `ntpd` é recomendado para estabilidade
* **Ambientes virtuais, laptops ou redes variáveis (Wi‑Fi)** → `chrony` oferece melhor precisão e sincronização mais rápida
* **Sincronização de horário simples** → `systemd-timesyncd` é suficiente



### Q4. O que o comando `ntpd -gq` faz?



**A4.**  
`ntpd -gq` realiza uma sincronização única com um servidor NTP e então termina.



* `-g` : Permite correção mesmo que o deslocamento de tempo seja grande
* `-q` : Sincroniza uma vez e sai (não roda como daemon)



Esse comando é útil quando o horário do sistema está significativamente incorreto e a operação normal do ntpd não o ajustará automaticamente.



### Q5. Há benefício em especificar múltiplos servidores NTP?



**A5.**  
Sim. Especificar vários servidores NTP melhora a redundância e a confiabilidade. Se um servidor ficar indisponível, o sistema pode continuar sincronizando com os demais.



Exemplo de configuração em `/etc/ntp.conf`:

server ntp.nict.jp iburst server ntp.jst.mfeed.ad.jp iburst server ntp.ring.gr.jp iburst “`

8. Conclusão: Melhorando a Confiabilidade do Sistema por Meio de Sincronização de Horário Estável

Revisitando o Valor do ntpd

Em sistemas Ubuntu, a sincronização precisa de horário não é apenas uma conveniência — ela impacta diretamente segurança, solução de problemas, gerenciamento de logs e a correção de processos automatizados.

Este artigo forneceu uma visão geral abrangente dos fundamentos do NTP, como a sincronização de tempo funciona com ntpd, etapas de instalação e configuração, opções de personalização, métodos de verificação e solução de problemas, e comparações com ferramentas alternativas.

Conselhos para Leitores

A escolha da ferramenta de sincronização de tempo no Ubuntu depende do propósito do sistema, arquitetura e requisitos de disponibilidade.
No entanto, o princípio permanece universal: sem tempo preciso, a operação estável do sistema é impossível.

  • Ambientes de servidor e sistemas intensivos em logs → Configure cuidadosamente ntpd ou chrony
  • Sistemas únicos com requisitos simples → Use systemd-timesyncd para configuração rápida

Embora problemas de sincronização de tempo sejam frequentemente não notados nas operações diárias, eles se tornam um diferenciador crítico ao solucionar incidentes.

Use este guia para construir uma configuração de sincronização de tempo que melhor se adapte ao seu ambiente Ubuntu.

年収訴求