Serviços de Rede: 04 - Servidor NTP (Configuração, Conexão e Sincronização)

A maioria das distribuições Linux fornece pré-instalado o cliente do Network Time Protocol (NTP) que é usado para manter o horário e data locais sincronizados. A ideia é que com o servidor NTP qualquer site na Internet pode sincronizar e garantir a mesma hora, exata. Isso é muito importante, visto que as operações realizadas entre o site e o cliente precisam ser registradas com o horário e data corretas. Caso contrário, o servidor DHCP estará impossibilitado de prover IPs corretamente a nós, arquivos serem sincronizados com os servidores de arquivos, e afins.

Como as distribuições do Linux que são direcionadas para funcionar como estações de trabalho para o usuário final (Ubuntu, Linux Mint) admitem que o usuário terá uma conexão com a Internet, por padrão terão o cliente NTP instalado para evitar problemas de conexão com sites e serviços online, garantindo que o computador conectará à um servidor NTP disponível na Internet. Instalando o servidor NTP, não será necessário acessar servidores externos à rede local, pois um dos computadores da rede interna será utilizado para tal.

Por questões de segurança a porta 123, utilizada pelo NTP, é bloqueada, e paraconfigurar o servidor será necessário liberá-la no computador em que ele for executado.

Em instalações mínimas das distribuições será necessário habilitá-lo e iniciá-lo. O nome do pacote é ntp e no caso do CentOS será necessário habilitar e iniciar o daemon. 

No CentOS, os dois comandos abaixo terão que ser executados:

# systemctl enable ntpd
# systemctl start ntpd

Em parte das distribuições o arquivo /etc/ntp.conf será criado uma vez que o pacote for instalado, que terá uma configuração padrão que irá definir o cliente NTP ao servidor NTP. Para checar com qual máquina a sincronização está ocorrendo é só executar o comando:

ntpq -p

Visualizando Servidores Conectados


Visualizando Servidores NTP - retirado de Mastering Linux Administration, p.154. 

Em primeiro lugar, é necessário checar o que esses números indicam.

A primeira coluna (remote) indica uma lista de servidores NTP aos quais o servidor está conectado.

A segunda coluna (refid), são os IPs dos servidores aos quais se está conectado.

A terceira coluna (st) refere ao stratum do servidor, que é o número que faz referência à camada que naquele momento o servidor estava. Geralmente, quanto menor o número, melhor; já que indica que o servidor está razoavelmente próximo da fonte que está provendo o tempo. Cada servidor abaixo tem um stratum aumentado; o que significa que menor nem sempre é melhor.

A quarta coluna (t) refere-se ao tempo. Ele pode ser unicast, broadcast, multicast ou manycast. Nesse exemplo é unicast pois está indicado com u.

A quinta coluna (when) refere a quanto tempo atrás o servidor foi pesquisado. No exemplo da imagem, cada servidor foi pesquisado  28, 24, 21 e 61 segundos atrás, respectivamente. Isso também pode ser listado em horas ou dias como bem se quiser.

A sexta coluna (poll) refere-se à frequência de pesquisa, que é configurada nesse exemplo a cada 64 segundos.

A sétima coluna (reach) é um número octal, que contém o resultado da soma das oito atualizações mais recentes do NTP. Se todas as oitos forem bem sucedidas, ele será 377, que é o valor mais alto tangível, que significa que o NTP apenas recebeu 1 (sucesso) como retorno dos outros servidores.

A oitava coluna (delay) faz referência ao atraso (em milissegundos) ao servidor NTP.

A nona coluna (offset) corresponde à diferença entre o relógio local e o relógio do servidor.

A décima coluna (jitter) faz referência à latência da rede local até o servidor daquela linha.

Outras configurações adicionais precisam ser configuradas primeiro. Primeiramente, o arquivo de configuração /etc/ntp.conf. Esse arquivo é localizado no mesmo local nas diversas distribuições. Se checar ela visualizará algo semelhante a isso:

server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

Nesse exemplo, um servidor com o CentOS instalado está identificando quatro servidores ao qual pode ser sincronizado. Servidores NTP bem configurados são úteis com propósito geral, mas é adequado sincronizar com servidores NTP oficiais. Para fazer isso é só checar o seguinte site:

http://www.pool.ntp.org

Para a região do Brasil (América do Sul) basta acessar:

https://www.ntppool.org/zone/south-america

E ele retorna a seguinte lista:


server 0.south-america.pool.ntp.org
server 1.south-america.pool.ntp.org
server 2.south-america.pool.ntp.org
server 3.south-america.pool.ntp.org
Uma vez eles sendo configurados não será necessária mais nenhuma mudança.

No CentOS, é encontrada uma linha na configuração do NTP similar à essa abaixo:

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

No Debian e Fedora:

#restrict 192.168.123.0 mask 255.255.255.0 notrust

Remova o comentário (#) e caso notrust esteja lá, também, mantendo a linha similar a essa representada abaixo:

restrict 10.10.96.0 mask 255.255.252.0 nomodify notrap

Com essa configuração, o acesso aos clientes locais está sendo restrito e também assegurando que ele não poderão modificar a configuração do servidor NTP (somente ler ela). O systemd possui um sistemas de logs com o journalctl, mas é útil ter um arquivo de texto para examinar em caso de problemas. É só adicionar a seguinte linha, em algum ponto do início do arquivo de configuração:

logfile /var/log/ntp.log

Se ocorrer algum problema, é só checar o arquivo de configuração.

O próximo passo, se estiver usando o CentOS é habilitar o tráfego do servidor NTP pelo firewall, executando as linhas de comando abaixo:

firewall-cmd --add-service=ntp –permanent
firewall-cmd --reload

Terminada essas configurações, reinicie o servidor NTP, com o root.

Então é necessário executar o comando systemctl restart ntpd no Fedora (e CentOS) , ou systemctl restart ntp no Debian.

Após issso, o servidor NTP está configurado. Nos clientes é necessário configurá-los para sincronizar com o IP do computador que posui o servidor NTP. Se o IP for 10.10.99.133, o comando será:

server 10.10.99.133

Após reiniciar o NTP, é necessário esperar um pouco para os sistemas sincronizarem. Em muitos casos, 30 minutos, para então a checagem com o comando ntpq -p se mostrar efetiva.

Esse é o último tutorial da seção de Serviços de Rede. Na próxima seção será demonstrado como hospedar conteúdo com o Apache, para avançar clique aqui.

Comentários

Postagens mais visitadas