Configuração de Fuso Horário e Sincronização NTP no Ubuntu 20.04 com timesyncd

Este artigo descreve como configurar o fuso horário e sincronizar o tempo em servidores Ubuntu 20.04. O ambiente inclui um usuário não-root com privilégios sudo e um firewall ativado.

Comandos Básicos de Tempo

Para verificar a hora do sistema no Ubuntu 20.04, utilize o comando date. Qualqeur usuário pode executar este comando para consultar data e hora:

Normalmente, os servidores utilizam o tempo UTC (Tempo Universal Coordenado) como padrão.

date
Qui Ago 5 15:55:20 UTC 2021

O tempo UTC, também conhecido como Tempo Universal Coordenado, refere-se ao tempo na linha de longitude zero. O tempo UTC pode não refletir o horário do seu fuso horário atual, mas se seus serviços abrangem múltiplos fusos horários, o uso do tempo UTC previne confusões.

A linha de 0° longitude é variável, qualquer meridiano pode ser o meridiano de 0° em um determinado momento
0° longitude = meridiano de Greenwich

Para alterar o fuso horário, podemos utilizar o comando timedatectl.

Primeiro, execute o seguinte comando para gerar a lista de fusos horários disponíveis:

# Listar fusos horários disponíveis
timedatectl list-timezones

A lista de fusos horários será exibida na tela. Você pode usar SPACE para avançar páginas e b para voltar. Após encontrar o fuso horário correto, anote-o e digite q para sair da lista.

Em seguida, use o comando timedatectl set-timezone para definir o fuso horário, substituindo a parte destacada abaixo pelo fuso horário local encontrado na lista:

# Definir fuso horário de São Paulo
sudo timedatectl set-timezone America/Sao_Paulo

Historicamente, a sincronização de tempo em redes era gerida pelo "ntpd", que se conectava a outros servidores NTP para fornecer atualizações contínuas e precisas de tempo.

No entanto, no Ubuntu 20.04, o sistema padrão utiliza timesyncd em vez de ntpd. O timesyncd também se conecta a servidores de tempo, mas é mais leve e tem melhor integração com o systemd do Ubuntu.

Você pode verificar o status do timesyncd executando diretamente o comando timedatectl.

# Verificar status NTP
timedatectl status ou timedatectl
               Hora local: Sex 2023-01-06 14:41:01 BRST
           Tempo universal: Sex 2023-01-06 06:41:01 UTC
                 Tempo RTC: Sex 2023-01-06 06:41:01
                Fuso horário: America/Sao_Paulo (BRST, -0300)
Relógio do sistema sincronizado: sim
              Serviço NTP: ativo
          RTC no TZ local: não

A mensagem "Relógio do sistema sincronizado: sim" indica que a sincronização de tempo está funcionando coretamente, enquanto "Serviço NTP: ativo" mostra que o timesyncd está em execução.

Se a saída indicar que o serviço NTP não está ativo, você pode ativá-lo com o seguinte comando:

sudo timedatectl set-ntp on

Em seguida, execute novamente timedatectl para confirmar o status da sincronização de tempo.

*Caminho de configuração do servidor NTP: /etc/systemd/timesyncd.conf

Formato:

# Veja timesyncd.conf(5) para detalhes.

[Time]
NTP=time-servidor-exemplo.com

Alternando para ntpd

Na maioria dos casos, o timesyncd é suficiente. No entanto, em algumas situações específicas, o programa timesyncd pode enfrentar interferências. Nessas circunstâncias, você pode usar ntpd.

Primeiro, precisamos desativar o timesyncd para evitar conflitos entre os dois serviços:

sudo timedatectl set-ntp no

Verifique se a sincronização de tempo foi desativada:

timedatectl

Verifique se a saída mostra "Serviço NTP: inativo". Isso significa que o timesyncd foi parado.

Agora, execute apt update para atualizar o índice de pacotes local:

sudo apt update

Em seguida, execute apt install ntp para instalar o pacote ntp:

sudo apt install ntp

Após a enstalação, o ntpd iniciará automaticamente. Você pode verificar seu status de operação normal com:

ntpq -p

Saída
           remoto           refid      st t quando polling reach   atraso   desvio  flutuacao
==============================================================================
 0.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 1.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 2.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 3.ubuntu.pool.n .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000
+t1.time.bf1.yah 129.6.15.28      2 u   16   64    1   61.766  -20.068   1.964
+puppet.kenyonra 80.72.67.48      3 u   16   64    1    2.622  -18.407   2.407
*ntp3.sua.org   .GPS.            1 u   15   64    1   50.303  -17.499   2.708
+time.cloudflare 10.4.1.175       3 u   15   64    1    1.488  -18.295   2.670
+mis.wci.com     216.218.254.202  2 u   15   64    1   21.527  -18.377   2.414
+ipv4.ntp1.rbaum 69.89.207.99     2 u   12   64    1   49.741  -17.897   3.417
+time.cloudflare 10.4.1.175       3 u   15   64    1    1.039  -16.692   3.378
+108.61.73.243   129.6.15.29      2 u   14   64    1   70.060  -16.993   3.363
+ny-time.gofile. 129.6.15.28      2 u   21   64    1   75.349  -18.333   2.763
 golem.canonical 17.253.34.123    2 u   28   64    1  134.482  -21.655   0.000
 ntp3.junkemailf 216.218.254.202  2 u   19   64    1    2.632  -16.330   4.387
 clock.xmission. .XMIS.           1 u   18   64    1   24.927  -16.712   3.415
 alphyn.canonica 142.3.100.2      2 u   26   64    1   73.612  -19.371   0.000
 strongbad.voice 192.5.41.209     2 u   17   64    1   70.766  -18.159   3.481
 chilipepper.can 17.253.34.123    2 u   25   64    1  134.982  -19.848   0.000
 pugot.canonical 145.238.203.14   2 u   28   64    1  135.694  -21.075   0.000

O ntpq é uma ferramenta de consulta para o ntpd. O parâmetro -p solicita informações sobre os servidores NTP aos quais o ntpd está conectado.

Tags: Ubuntu 20.04 fuso horário NTP timesyncd systemd

Publicado em 6-13 00:06 por Thomas