Pesquisa de site

Como instalar e configurar servidor e cliente NTP no Debian


O Network Time Protocol (NTP) apresenta uma capacidade única para as empresas sincronizarem os relógios de todos os sistemas dentro da empresa. A sincronização de horário é importante por vários motivos, desde registros de data e hora do aplicativo até segurança e entradas de log adequadas.

Quando todos os sistemas de uma organização mantêm horários de relógio diferentes, torna-se muito difícil, do ponto de vista da solução de problemas, determinar quando e sob quais condições um determinado evento pode estar ocorrendo.

O NTP fornece uma maneira fácil de garantir que todos os sistemas manterão a hora correta, o que, por sua vez, pode simplificar bastante a carga sobre os administradores/suporte técnico.

NTP funciona com base na premissa de sincronização com relógios de referência, também conhecidos como servidores ‘estrato 0’. Todos os outros servidores NTP se tornam servidores de estratos de nível inferior com base na distância que estão de um servidor de referência.

O início da cadeia NTP é um servidor estrato 1 que está sempre conectado diretamente a um relógio de referência estrato 0. A partir daqui, os servidores de estratos de nível inferior são conectados por meio de uma conexão de rede a um servidor de níveis de estratos superiores.

Consulte o diagrama abaixo para um conceito mais claro.

Embora a configuração de um servidor estrato 0 ou estrato 1 possa ser feita, é caro fazê-lo e, como tal, este guia se concentrará na configuração de servidores de estratos inferiores.

A Tecmint possui uma configuração básica de host NTP no seguinte link:

  1. Como sincronizar a hora com o servidor NTP

A diferença deste guia é que, em vez de ter todos os hosts na rede consultando servidores NTP públicos, um (ou melhor prática, vários) servidores entrarão em contato com o sistema NTP público e, em seguida, fornecerão tempo para todos os hosts dentro do rede local.

Um servidor NTP interno geralmente é ideal para conservar a largura de banda da rede, bem como fornecer maior segurança por meio de restrições e criptografia de NTP. Para ver como isso difere do primeiro diagrama, consulte o segundo diagrama abaixo.

Passo 1: Instalação do Servidor NTP

1. O primeiro passo para configurar uma estrutura NTP interna é instalar o software do servidor NTP. O pacote de software no Debian chamado ‘NTP‘ atualmente contém todos os utilitários de servidor necessários para configurar uma hierarquia NTP. Tal como acontece com todos os tutoriais sobre configuração do sistema, o acesso Root ou sudo é assumido.

apt-get install ntp
dpkg --get-selections ntp          [Can be used to confirm NTP is installed]
dpkg -s ntp                        [Can also be used to confirm NTP is installed]

Etapa 1: Configuração do Servidor NTP

2. Depois que o NTP estiver instalado, é hora de configurar quais servidores de estrato superior consultar por tempo. O arquivo de configuração do NTP está armazenado em ‘/etc/ntp.conf’ e pode ser modificado com qualquer editor de texto. Este arquivo conterá os nomes de domínio totalmente qualificados dos servidores de nível superior, as restrições definidas para este servidor NTP e quaisquer outros parâmetros especiais para hosts que consultam este servidor NTP.

Para iniciar o processo de configuração, os servidores de nível superior precisam ser configurados. Por padrão, o Debian colocará o pool NTP do Debian no arquivo de configuração. Eles são adequados para a maioria dos propósitos, mas um administrador pode visitar o NIST para especificar determinados servidores ou para usar todos os servidores do NIST em um estilo round robin (método sugerido pelo NIST).

Para este tutorial, servidores específicos serão configurados. O arquivo de configuração é dividido em algumas seções principais e é configurado por padrão para IPv4 e IPv6 (se você deseja desabilitar o IPv6, isso será mencionado posteriormente). Para iniciar o processo de configuração, o arquivo de configuração deve ser aberto com um editor de texto.

nano /etc/ntp.conf

As primeiras seções (driftfile, statsdir e statistics) estão bem configuradas para os padrões. A próxima seção contém os servidores de nível superior através dos quais este servidor deve solicitar horário. A sintaxe para cada entrada do servidor é muito simples:

server <fully qualified domain name> <options>
server time.nist.gov iburst â     [sample entry]

Normalmente é uma boa ideia ter vários servidores de estratos superiores para escolher nesta lista. Este servidor consultará todos os servidores da lista para determinar qual deles é o mais confiável. Os servidores para este exemplo foram obtidos em: http://tf.nist.gov/tf-cgi/servers.cgi.

Etapa 3: Configuração de restrições NTP

3. A próxima etapa é configurar as restrições de NTP. Eles são usados para permitir ou não permitir que hosts interajam com o servidor NTP. O padrão para NTP é servir para qualquer pessoa, mas não permite configuração em conexões IPv4 e IPv6.

Atualmente, este servidor é usado apenas em uma rede IPv4, portanto o IPv6 foi desativado de duas maneiras. A primeira coisa feita para desabilitar o IPv6 no servidor NTP foi alterar os padrões que o daemon inicia. Isso foi feito alterando a linha em ‘/etc/default/ntp‘.

nano /etc/default/ntp
NTPD_OPTS='-4 -g' [Add the ' -4 ' to this line to tell NTPD to only listen to IPv4]

De volta ao arquivo de configuração principal (/etc/ntp.conf), o daemon NTP será configurado automaticamente para compartilhar tempo com todos os hosts IPv4/6, mas não permitirá configuração. Isso pode ser visto pelas duas linhas a seguir:

NTPD funciona de forma permitida, a menos que seja negada. Como o IPv6 foi desativado, a linha ‘restrict -6‘ pode ser removida ou comentada com um ‘ #

Isso altera o comportamento padrão do NTP para ignorar todas as mensagens. Isso pode parecer estranho, mas continue lendo, pois cláusulas de restrição serão usadas para ajustar o acesso a este servidor NTP para os hosts que precisam de acesso.

Agora o servidor precisa saber quem tem permissão para consultar o horário do servidor e o que mais eles podem fazer com o servidor NTP. Para este servidor, uma rede privada de 172.27.0.0/16 será usada para construir a estrofe restrita.

Esta linha informa ao servidor para permitir que qualquer host da rede 172.27.0.0/16 acesse o servidor por um tempo. Os parâmetros após a máscara ajudam a controlar o que qualquer um dos hosts desta rede pode fazer ao consultar o servidor. Vamos entender cada uma dessas opções restritas:

  1. Limitado: Indica que se um cliente abusar do controle de taxa de número de pacotes, os pacotes serão descartados pelo servidor. Se o pacote Kiss of Death estiver habilitado, ele será enviado de volta ao host abusivo. As taxas são configuráveis por um administrador, mas os padrões são assumidos aqui.
  2. KOD: Beijo da Morte. Se um host violar o limite de pacotes para o servidor, o servidor responderá com um pacote KoD ao host violador.
  3. Notrap: Recusa de mensagens de controle do modo 6. Essas mensagens de controle são usadas para programas de registro remoto.
  4. Nomodify: Impede consultas ntpq e ntpdc que modificariam a configuração do servidor, mas consultas informativas ainda são permitidas.
  5. Noquery: Esta opção evita que os hosts consultem o servidor em busca de informações. Por exemplo, sem esta opção, os hosts podem usar ntpdc ou ntpq para determinar de onde um determinado servidor de horário está obtendo sua hora ou outros servidores de horário ponto a ponto com os quais ele possa estar se comunicando.