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.
IMPORTANTE: Ambos os pacotes indicados acima usam os seus próprios daemons (ntpd
e chronyd
), sendo que em nenhuma altura ambos devem estar ligados em simultâneo devido a problemas de incompatibilidade.
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?