você está aqui: Home  → Colunistas  →  Sysadmin

Servidores Caching-Only

Por Rubens Queiroz de Almeida

1. Introdução

Data de Publicação: 08 de Março de 2007

Iniciaremos nossa explicação da configuração de servidores DNS através do modelo mais simples de todos, os servidores caching-only.

Todos os tipos de servidores DNS, além das funções para as quais foram projetados (mestres, secundários, etc.) fazem também o armazenamento local (cache) das informações que obtêm consultando outros servidores DNS.

Um servidor caching-only, em resposta à solicitação de um cliente, encaminha uma consulta a servidores DNS na Internet e, uma vez obtida a resposta, armazena estas informações localmente. Da próxima vez em que a mesma informação for solicitada, a resposta será fornecida diretamente a partir da consulta local ao cache de informações. As informações no cache serão reutilizadas até que o seu prazo de validade (TTL - Time to Live), se expire. Servidores caching-only não fornecem informação oficial sobre domínios. Tudo o que sabem é resultado de suas consultas e de sua operação diária. Se o processo for encerrado, todo o cache é descartado e começamos do zero novamente.

As informações que um servidor caching-only obtém via Internet, através dos servidores oficiais dos domínios, serão rotuladas como oficiais (authoritative). Caso contrário, se forem obtidas a partir do cache local, são rotuladas como não oficiais (non-authoritativem).

Servidores caching-only podem ser empregados em qualquer tipo de situação em que consultas freqüentes a servidores DNS são feitas. Um exemplo típico é um servidor de correio eletrônico de alto volume. Para cada mensagem eletrônica enviada podem ser feitas diversas consultas a servidores DNS. Manter esta informação armazenada localmente pode representar grandes ganhos em desempenho.

2. Arquivo named.conf: configuração principal

Passaremos agora a ilustrar a configuração de um servidor DNS caching-only. Os arquivos de exemplo empregados foram baseados nos modelos distribuídos juntamente com o pacote bind9 de um sistema Debian GNU/Linux.

Como em qualquer tipo de configuração DNS, todo o trabalho começa no arquivo /etc/named.conf, que define as opções de funcionamento do servidor e quais são e onde se encontram os arquivos utilizados.

Configurar um servidor caching-only é bastante simples. Basta carregar o endereço dos servidores raiz e a configuração da interface loopback.

O arquivo named.conf de um servidor caching-only tem a forma:

  options {
            directory "/etc/bind";
  };
  zone "." {
            type hint;
            file "/etc/bind/db.root";
  };
  zone "127.in-addr.arpa" {
            type master;
            file "/etc/bind/db.127";
  };
  zone "localhost" {
            type master;
            file "/etc/bind/db.local";
  };

A diretiva directory /etc/bind é empregada para indicar o diretório a partir de onde serão lidos todos os arquivos de configuração.

3. Arquivo db.root: servidores raiz

A diretiva zone "." indica o arquivo que contém a lista dos servidores raiz. Esta é a primeira informação a ser carregada no cache do servidor e é muito importante que esteja sempre atualizada.

A diretiva type hint lista os servidores raiz da Internet. Literalmente a palavra hint indica que esta informação é uma dica, uma informação básica para que se possa começar a trabalhar. Este arquivo é lido apenas uma vez, quando se ativa o servidor de nomes. Esta informação é carregada em memória, no cache, e sempre consultada a partir daí. Obviamente, sem conhecer os servidores raiz, nada funciona. Na estrutura de informações distribuídas do DNS, para obter uma informação desconhecida sempre se sobe ao topo da hierarquia para então se descer até o ponto onde a informação se encontra. Embora a lista dos servidores raiz se altere com pouca frequência, qualquer incorreção nestas informações fará com que erros estranhos, ou mesmo um colapso total, possam ocorrer. Como estas situações são raras, certamente erros deste tipo serão de difícil detecção. Um shell script simples pode cuidar deste problema de forma simples e transparente. Finalmente, para encerrar esta primeira definição de zona, temos a diretiva file db.root que indica o nome do arquivo a partir de onde a lista dos servidores raiz deverá ser lida.

A lista de servidores raiz pode ser obtida de diversas formas. Esta informação, uma vez obtida, será guardada no arquivo db.root, no diretório /etc/bind.

4. Arquivo db.127: mapa reverso interface loopback

Logo a seguir, com a diretiva zone "127-in-addr.arpa", temos a definição do mapa reverso da interface loopback. Para esta zona o servidor caching-only é oficial (mestre) e isto é indicado pela diretiva type master. A informação encontra-se no arquivo db.local. também no diretório /etc/bind.

  ;
  ; BIND data file for local loopback interface
  ;
  $TTL    604800
  @       IN      SOA     localhost. root.localhost. (
                      1         ; Serial
                 604800         ; Refresh
                  86400         ; Retry
                2419200         ; Expire
                 604800 )       ; Negative Cache TTL
  ;
  @       IN      NS      localhost.
  @       IN      A       127.0.0.1

5. Arquivo db.localhost: mapa direto interface loopback

A próxima diretiva zone ?localhost? também se refere à interface loopback, para resolução direta. As informações da zona localhost encontra-se no arquivo db.local, listado a seguir:

  ;
  ; BIND data file for local loopback interface
  ;
  $TTL    604800
  @       IN      SOA     localhost. root.localhost. (
                   1         ; Serial
              604800         ; Refresh
               86400         ; Retry
             2419200         ; Expire
              604800 )       ; Negative Cache TTL
  ;
  @       IN      NS      localhost.
  @       IN      A       127.0.0.1

É bom lembrar que o nome de todos os arquivos que declaramos em named.conf são de livre escolha do administrador de redes. Os nomes usados ao longo deste livro são, de certa forma, um tipo de padrão não escrito, talvez por serem empregados na maioria dos documentos que descrevem o serviço DNS. Mas não se esqueça, a escolha é sua. Decida-se pelo que melhor lhe agradar e que seja mais significativo para você e para sua equipe.

Até este ponto esta configuração é comum a todos servidores DNS. A boa notícia é que, para um servidor caching-only, podemos parar por aqui mesmo. Nada pode ser mais simples. É só colocar para funcionar.

 

 

Veja a relação completa dos artigos desta coluna