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
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:
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.
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
Postar um comentário