Capítulo 22. Sincronização de horário com NTP

Sumário

22.1. Configurando um cliente NTP com o YaST
22.2. Configurando manualmente o ntp na rede
22.3. Sincronização de horário dinâmica em tempo de execução
22.4. Configurando um relógio de referência local

Resumo

O mecanismo NTP (network time protocol) é um protocolo para sincronizar o horário do sistema na rede. Primeiro, uma máquina pode obter o horário de um servidor, que é uma fonte de horário confiável. Segundo, a máquina pode agir como uma fonte de horário para outros computadores na rede. O objetivo é duplo: manter o tempo absoluto e a sincronização do horário do sistema de todas as máquinas na rede.

Manter um horário exato do sistema é importante em várias situações. O relógio interno do hardware (BIOS) nem sempre atende aos requisitos dos aplicativos, como bancos de dados ou clusters. A correção manual do horário do sistema levaria a problemas severos pois, por exemplo, um pulo inverso pode causar o mau funcionamento de aplicativos críticos. Em uma rede, geralmente é necessário sincronizar o horário do sistema de todas as máquinas, porém, o ajuste manual do horário não é um bom método. O NTP dispõe de um mecanismo para resolver esses problemas. O serviço NTP ajusta continuamente o horário do sistema com a ajuda de servidores de horário confiáveis na rede. Ele habilita também o gerenciamento de relógios de referência local como relógios controlados pelo rádio.

[Note]

Para habilitar a sincronização de horário por meio do diretório ativo, siga as instruções no Procedimento “Joining an AD Domain” (↑Security Guide (Guia de Segurança)).

22.1. Configurando um cliente NTP com o YaST

O daemon do NTP (ntpd) que acompanha o pacote ntp vem predefinido para usar o relógio do computador como a referência de horário. O uso do relógio (BIOS), porém, apenas funciona como fallback para os casos em que não há nenhuma fonte de horário disponível para melhor precisão. O YaST facilita a configuração de um cliente NTP.

22.1.1. Configuração Básica

A configuração do cliente NTP do YaST (Serviços de Rede+Configuração NTP) consiste em guias. Defina o modo de iniciar do ntpd e o servidor para consulta na guia Configurações Gerais.

Apenas Manualmente

Selecione Apenas Manualmente para configurar tudo sozinho.

Agora e ao Inicializar

Selecione Agora e ao Inicializar para iniciar o ntpd automaticamente quando o sistema for inicializado. Em seguida, configure o servidor conforme descrito na Seção 22.1.2, “Mudando a configuração básica”

22.1.2. Mudando a configuração básica

Os servidores e outras fontes de horário para a consulta do cliente estão listados na guia Configurações Gerais. Modifique esta lista conforme necessário com Adicionar, Editar e Apagar. Exibir Registro fornece a possibilidade de exibir os arquivos de registro do seu cliente.

Clique em Adicionar para adicionar uma nova fonte de informação de horário. Na caixa de diálogo seguinte, selecione o tipo de fonte com a qual a sincronização de horário deve ser realizada. As seguintes opções estão disponíveis:

Figura 22.1. YaST: Servidor NTP

YaST: Servidor NTP

Servidor

Na lista suspensa Selecionar (veja a Figura 22.1, “YaST: Servidor NTP”, determine se vai configurar a sincronização de horário usando um servidor de horário da sua rede local (Servidor NTP Local) ou um servidor de horário baseado na Internet que gerencia seu fuso horário (Servidor NTP Público). Para um servidor de horário local, clique em Busca para iniciar uma consulta SLP por servidores de horário disponíveis na sua rede. Selecione o servidor de horário mais adequado a partir da lista de resultados de pesquisa e saia da caixa de diálogo com OK. Para um servidor de horário público, selecione o país (fuso horário) e um servidor adequado da lista sob Servidor NTP Público, em seguida, saia da caixa de diálogo com OK. Na caixa de diálogo principal, teste a disponibilidade do servidor selecionado com Testar. Opções permite que você especifique opções adicionais para o ntpd.

Com o uso de Opções de Controle de Acesso, você pode restringir as ações que o computador remoto pode desempenhar com o daemon em execução no seu computador. Esse campo apenas será habilitado após marcar Restringir Serviço NTP Apenas aos Servidores Configurados na guia Configurações de Segurança (veja a Figura 22.2, “Configuração NTP Avançada: Configurações de Segurança”). As opções correspondem às cláusulas restrict em /etc/ntp.conf. Por exemplo, nomodify notrap noquery não permite que o servidor modifique as configurações de NTP do seu computador e use o recurso de detecção (um recurso de registro de eventos remotos) do seu daemon NTP. O uso dessas restrições é recomendado para os servidores fora de controle (por exemplo, na Internet).

Consulte /usr/share/doc/packages/ntp-doc (parte do pacote ntp-doc) para obter informações detalhadas.

Peer

Um peer é uma máquina com a qual é estabelecido um relacionamento simétrico: ele atua como servidor de horário e como cliente. Para usar um peer na mesma rede em vez de um servidor, digite o endereço do sistema. O restante da caixa de diálogo é igual à caixa de diálogo Servidor.

Relógio controlado pelo rádio

Para usar um relógio controlado pelo rádio no seu sistema para a sincronização de horário, insira o tipo de relógio, o número da unidade, o nome do dispositivo e outras opções nesta caixa de diálogo. Clique em Calibração do Driver para ajustar o driver. Informações detalhadas sobre a operação de um rádio relógio local estão disponíveis em /usr/share/doc/packages/ntp-doc/html/refclock.htm.

Transmissão de saída

Consultas e informações sobre horário também podem ser transmitidas na rede. Nesta caixa de diálogo, insira o endereço ao qual estas transmissões devem ser enviadas. Não ative a transmissão a menos que você tenha uma fonte de horário confiável como um relógio controlado por rádio.

Transmissão de entrada

Se você deseja que o seu cliente receba suas informações através de transmissão, insira o endereço do qual os respectivos pacotes devem ser aceitos nestes campos.

Figura 22.2. Configuração NTP Avançada: Configurações de Segurança

Configuração NTP Avançada: Configurações de Segurança

Na guia Configurações de Segurança (veja a Figura 22.2, “Configuração NTP Avançada: Configurações de Segurança”), determine se o ntpd deve ser iniciado em um chroot jail. Por padrão, a opção Executar Daemon NTP em Chroot Jail está ativada. Isso aumenta a segurança caso ocorra um ataque em ntpd, pois evita que o invasor comprometa todo o sistema.

Restringir Serviço NTP Apenas aos Servidores Configurados aumenta a segurança do seu sistema ao não permitir que os computadores remotos vejam e modifiquem as configurações de NTP do seu computador e que usem o recurso de detecção para o registro de eventos remotos. Uma vez habilitadas, essas restrições se aplicam a todos os computadores remotos, a menos que você anule as opções de controle de acesso para computadores individuais na lista de fontes de horário na guia Configurações Gerais. Para todos os outros computadores remotos, só é permitida a consulta de horário local.

Habilite Abrir Porta no Firewall se o SuSEfirewall2 estiver ativo (ele fica ativo por padrão). Se você manter a porta fechada, não será possível estabelecer uma conexão com o servidor de horário.

22.2. Configurando manualmente o ntp na rede

A forma mais fácil de usar um servidor de horário na rede é definir parâmetros de servidor. Por exemplo, se um servidor de horário denominado ntp.example.com for alcançável a partir da rede, inclua seu nome no arquivo /etc/ntp.conf adicionando a seguinte linha:

server ntp.example.com

Para adicionar mais servidores de horário, insira linhas adicionais com a palavra-chave server. Após a inicialização do ntpd com o comando rcntp start, leva aproximadamente uma hora para que o horário fique estabilizado e o arquivo de descompasso para a correção do relógio do computador local seja criado. Com o arquivo de descompasso, o erro sistemático do relógio do hardware pode ser computado assim que o computador for ligado. A correção é usada imediatamente, resultando em uma estabilidade maior do horário do sistema.

Há duas maneiras possíveis de usar o mecanismo NTP como cliente: primeiro, o cliente pode consultar o horário a partir de um servidor conhecido em intervalos regulares. Com vários clientes, esta abordagem pode causar uma carga alta no servidor. Segundo, o cliente pode esperar por transmissões de NTP enviadas por servidores de horário de transmissão na rede. Esta abordagem tem a desvantagem de que a qualidade do servidor é desconhecida e um servidor transmitindo a informação errada pode causar problemas graves.

Se o horário for obtido através de uma transmissão, você não precisará do nome do servidor. Neste caso, insira a linha broadcastclient no arquivo de configuração /etc/ntp.conf. Para usar um ou mais servidores de horário conhecidos exclusivamente, insira seus nomes na linha iniciando com servers.

22.3. Sincronização de horário dinâmica em tempo de execução

Se o sistema for inicializado sem conexão de rede, o ntpd será iniciado, mas não poderá resolver os nomes DNS dos servidores de horário definidos no arquivo de configuração. Isso pode ocorrer se você usar o Gerenciador de Rede com uma WLAN criptografada.

Se desejar que o ntpd resolva os nomes DNS em tempo de execução, é preciso definir a opção dynamic. Em seguida, quando a rede é estabelecida algum tempo após o boot, o ntpd pesquisa os nomes novamente e consegue alcançar os servidores de horário para obter o horário.

Edite manualmente o /etc/ntp.conf e adicione dynamic a uma ou mais entradas server:

server ntp.example.com dynamic

Ou use o YaST e proceda da seguinte maneira:

  1. No YaST, clique em Serviços de Rede+Configuração NTP.

  2. Selecione o servidor que deseja configurar. Em seguida, clique em Editar.

  3. Ative o campo Opções e adicione dynamic. Separe-o por um espaço, se já houver outras opções digitadas.

  4. Clique em OK para fechar a caixa de diálogo de edição. Repita a etapa anterior para mudar todos os servidores conforme desejado.

  5. Por fim, clique em OK para gravar as configurações.

22.4. Configurando um relógio de referência local

O pacote de software ntp contém drivers para conectar relógios de referência local. Uma lista de relógios suportados está disponível no pacote ntp-doc no arquivo /usr/share/doc/packages/ntp-doc/html/refclock.htm. Cada driver está associado a um número. No ntp, a configuração real ocorre através de pseudo-endereços IP. Os relógios são inseridos no arquivo /etc/ntp.conf como se existissem na rede. Para este propósito, endereços IP especiais são atribuídos a eles no formato 127.127.t.u. Aqui, t representa o tipo de relógio e determina o driver a ser usado e u representa a unidade, que determina a interface usada.

Normalmente, os drivers individuais têm parâmetros especiais que descrevem detalhes de configuração. O arquivo /usr/share/doc/packages/ntp-doc/drivers/driverNN.html (onde NN é o número do driver) fornece informações sobre o tipo específico de relógio. Por exemplo, o relógio type 8 (relógio controlado por rádio na interface serial) exige um modo adicional que especifica o relógio de forma mais precisa. O módulo de recebimento Conrad DCF77, por exemplo, tem o modo 5. Para usar este relógio como referência preferida, especifique a palavra-chave prefer. A linha do servidor completa para um módulo de recebimento Conrad DCF77 seria:

server 127.127.8.0 mode 5 prefer

Outros relógios seguem o mesmo padrão. Seguindo a instalação do pacote ntp-doc, a documentação do ntp está disponível no diretório /usr/share/doc/packages/ntp-doc. O arquivo /usr/share/doc/packages/ntp-doc/refclock.html fornece links para as páginas que descrevem os parâmetros do driver.