Configure a system to use time services:

Um aspeto fundamental a garantir num servidor é que o mesmo seja capaz de obter e manter um registo, o mais exato possível, das horas, sendo que apesar de parecer uma ação simples, é bem mais complicada do que o parece.

Nesta secção vamos apenas observar como é que um sistema RHEL controla e gere o protocolo NTP, sendo que este protocolo é bem mais complexo e tem muita mais história e aplicações do que aquelas aqui descritas, contudo iremos apenas abordar os essenciais para garantir que um sistema consegue sincronizar-se com um servidor NTP de forma a manter-se atualizado o horário do mesmo.

NTP é o protocolo que garante a sincronização horária num rede, onde um ou mais servidores mestre, vão facultando as horas ás maquinas clientes. Note-se que isto é baseado num sistema hierárquico sendo que os próprios clientes podem ser outros servidores que estão a facultar as horas a outras máquinas e assim sucessivamente. Num sistema RHEL7 existem 2 pacotes principalmente usados para gerir o protocolo NTP, sendo esses os seguintes:

  • NTP- Este é o pacote clássico que foi principalmente usado em instalações do RHEL6 e RHEL5. Este pacote pode ser usado como cliente ou servidor.

  • Chrony- Esta é a nova solução desenvolvida e mais capaz de lidar com máquinas portáteis e máquinas com limitações de banda de larga, isto pois este pacote é capaz de garantir a sincronização horária de forma mais rápida. Note-se que este pacote é maioritariamente usado para máquinas cliente.

A seguir iremos abordar individualmente como lidar com ambas as soluções descritas acima, contudo existem pré-requisitos que têm de ser garantidos em ambos os casos, nomeadamente garantir uma hora local definida corretamente. Para agirmos em conformidade podemos fazer o seguinte:

# timedatectl set-timezone [Time-Zone]

Caso não se saiba ao certo qual é a TimeZone a ser usada pode ser consultado a lista completa através do seguinte comando:

# timedatectl list-timezones

NTP

Para usarmos a solução NTP, temos de primeiro garantir que está instalada no nosso sistema e, caso não esteja, devemos instalar a mesma:

# yum -y install ntp

Após a instalação devemos inicializar o daemon:

# systemctl enable ntpd
# systemctl start ntpd

De seguida é necessário editar o ficheiro de configuração (/etc/ntp.conf) de forma a identificar quais os servidores a que nos vamos ligar de forma a sincronizarem o horário da nossa máquina. Para isso basta criar uma nova linha no ficheiro com a seguinte sintaxe:

server [IP]

Após configurações podemos obter algumas informações sobre o que está a decorrer no sistema em relação ao processo de sincronização, com o recurso ao seguinte comando:

# ntpq -p

Ou , de forma alternativa, podemos obter apenas as informações básicas:

# ntpstat

Finalmente caso seja pretendido apenas efetuar uma sincronização rápida com algum determinado servidor podemos agir do seguinte modo:

# systemctl stop ntpd

# ntpdate pool.ntp.org
     5 Jul 10:36:58 ntpdate[2190]: adjust time server 95.81.173.74 offset -0.005354 sec

# systemctl start ntpd

Chrony

Para funcionarmos com o chrony temos de agir de forma semelhante com o ntp, salvo algumas exceções. Temos primeiramente de instalar e ativar o daemon:

# yum -y install chrony

# systemctl enable chronyd
# systemctl start chronyd

De seguida, temos de dar a indicação de que server é que queremos nos sincronizar, para isso devemos adicionar uma linha com a mesma sintaxe definida no ntp, contudo desta vez no ficheiro do chrony (/etc/chrony.conf):

server [IP]

Para conseguirmos obter alguns dados sobre a referência principal do tempo definida no ficheiro usamos o seguinte comando:

# chronyc tracking

Contudo caso queiramos obter informações sobre todas as nossas fontes usamos:

# chronyc sources -v

Finalmente caso queiramos fazer uma sincronização rápida com um determinado servidor, podemos usar o comando tal como referido com o ntp, contudo não temos de garantir primeiro que o daemon está inativo:

# ntpdate pool.ntp.org
    5 Jul 10:31:06 ntpdate[2135]: step time server 193.55.167.1 offset 121873.493146 sec

Last updated

Was this helpful?