próximo acima anterior sumário índice
Próximo: C3.1 Iniciando o named Acima: C. COMO FAZER - Anterior: C2. Introdução.   Sumário   Índice


C3. Um Servidor de Nomes Somente Para Cache.

Uma primeira aproximação à configuração do DNS, que pode ser muito útil para usuários que utilizam linhas discadas.

Um servidor de nomes somente para cache deve ser capaz de encontrar as respostas às pesquisas de nomes e endereços e deve ainda guardar as respostas, para a próxima em que sejam necessárias. Isto diminuirá o tempo de espera significativamente, especialmente quando se tem uma conexão lenta.

Inicialmente é necessário ter-se um arquivo /etc/named.conf, o qual será lido quando o servidor de nomes for inicializado. Por enquanto ele pode conter simplesmente:


// Configuração  do arquivo para um servidor de nomes 
// somente para cache


opções {
        directory "/var/named";

        // Não comentar isto pode ajudar caso se tenha um firewall presente
        // e as coisas não estejam funcionando:

        // endereço de pesquisa: porta 53;
};

zone "." {
        type hint;
        file "rott.hints ";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "pz/127.0.0";
};

A linha `directory' indica onde os arquivos devem estar localizado. Todos os arquivos subseqüentes serão relativos a este. Assim pz é um diretório sob /var/named, ou seja estará localizado em /var/named/pz. /var/named é o diretório definido pelo Padrão de Sistemas de Arquivos Linux.

O arquivo denominado /var/named/root.hints deve conter:


.                       6D IN NS        G.ROOT-SERVERS.NET.
.                       6D IN NS        J.ROOT-SERVERS.NET.
.                       6D IN NS        K.ROOT-SERVERS.NET.
.                       6D IN NS        L.ROOT-SERVERS.NET.
.                       6D IN NS        M.ROOT-SERVERS.NET.
.                       6D IN NS        A.ROOT-SERVERS.NET.
.                       6D IN NS        H.ROOT-SERVERS.NET.
.                       6D IN NS        B.ROOT-SERVERS.NET.
.                       6D IN NS        C.ROOT-SERVERS.NET.
.                       6D IN NS        D.ROOT-SERVERS.NET.
.                       6D IN NS        E.ROOT-SERVERS.NET.
.                       6D IN NS        I.ROOT-SERVERS.NET.
.                       6D IN NS        F.ROOT-SERVERS.NET.

G.ROOT-SERVERS.NET.     5w6d16h IN A    192.112.36.4
J.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.10
K.ROOT-SERVERS.NET.     5w6d16h IN A    193.0.14.129
L.ROOT-SERVERS.NET.     5w6d16h IN A    198.32.64.12
M.ROOT-SERVERS.NET.     5w6d16h IN A    202.12.27.33
A.ROOT-SERVERS.NET.     5w6d16h IN A    198.41.0.4
H.ROOT-SERVERS.NET.     5w6d16h IN A    128.63.2.53
B.ROOT-SERVERS.NET.     5w6d16h IN A    128.9.0.107
C.ROOT-SERVERS.NET.     5w6d16h IN A    192.33.4.12
D.ROOT-SERVERS.NET.     5w6d16h IN A    128.8.10.90
E.ROOT-SERVERS.NET.     5w6d16h IN A    192.203.230.10
I.ROOT-SERVERS.NET.     5w6d16h IN A    192.36.148.17
F.ROOT-SERVERS.NET.     5w6d16h IN A    192.5.5.241

Este arquivo descreve o nome dos servidores raiz no mundo. Este conteúdo pode mudar com o passar do tempo e tem que ser atualizado permanentemente. Veja a [*] (seção de manutenção) para saber como mantê-lo atualizado.

A próxima seção em named.conf é a zona. Explicaremos o seu uso num capítulo adiante. Por hora somente façamos deste um arquivo chamado 127.0.0 no subdiretório pz:


@               IN      SOA     ns.linux.bogus.hostmaster.linux.bogus. (
                                1     ; Serial
                                8H      ; Atualização
                                2H    ; Tentativas
                                1W      ; Expiração
                                1D)     ; TTL mínimo
                NS      ns.linux.bogus.
1               PTR     localhost

Em seguida, será necessário um arquivo /etc/resolv.conf com o seguinte conteúdo:


search subdomínio.seu\_domínio.edu.br seu\_domínio.edu.br
nome\_do\_servidor 127.0.0.1

A linha `search' especifica que o domínio deve ser pesquisado para qualquer nome de máquina com a qual se queira conectar. A linha `nameserver' especifica o endereço do servidor de nomes. Neste caso, a própria máquina, uma vez que é nela que o programa named é executado (já que 127.0.0.1 foi informado, não importando se a máquina tem também outro endereço). Caso se queira indicar vários servidores de nomes, deve-se criar uma linha `nameserver' para cada um deles. (Nota: O programa named nunca lê este arquivo, e sim o resolvedor que utilizar o named).

Vamos ilustrar um pouco mais a função deste arquivo: caso um cliente tente procurar por itamaraca, então itamaraca.subdomínio.seu_domínio.edu.br será a primeira tentativa, então será tentado itamaraca.seu_domínio.edu.br e finalmente somente itamaraca. Se um cliente tentar procurar metalab.unc.edu, metalab.unc.edu.subdomínio.seu_domínio.edu.br será tentado inicialmente (sim, não faz muito sentido, mas é o jeito que ele funciona), então metalab.unc.edu.seu_domínio.edu.br, e finalmente metalab.unc.edu. Caso se queira colocar muitos domínios na linha search, isso pode provocar uma sobrecarga nos tempos de pesquisa.

O exemplo presume que a máquina pertence ao domínio subdomínio.seu_domínio.edu.br, sendo provavelmente o servidor de nomes nome_da_máquina.subdomínio.seu_domínio.edu.br. A linha de busca não deve conter o TLD (Domínio Raiz `edu.br' neste caso). Caso seja necessário conectar-se com freqüência a máquinas de outros domínios, deve-se acrescentar aqueles domínios à linha de busca, como por exemplo:


search subdomínio.seu_domínio.edu.br seu_domínio.edu.br outro_domínio.com.br

e assim por diante. Obviamente deve-se utilizar nomes reais de domínios. Os aqui colocados servem somente como exemplos. Por favor atente para a falta de pontos no final dos nomes dos domínios.

A seguir, dependendo da versão da biblioteca libc, tanto pode ser necessário atualizar o /etc/nsswitch.conf ou o /etc/host.conf. Caso se tenha o nsswitch.conf este será utilizado, caso contrário , atualizaremos o host.conf.

/etc/nsswitch.conf

Este é um arquivo longo que especifica onde podem ser obtidos diferentes tipos de dados, de que arquivos e de qual base de dados. Usualmente contém comentários úteis no topo, que podem ser lidos agora. Depois disso, deve ser encontrada uma linha que comece com `hosts:', onde se pode ler


hosts:      files dns

caso não haja nenhuma linha iniciada com `hosts:' então deve ser incluída a linha acima. Ela indica que os programas devem primeiramente pesquisar o arquivo /etc/hosts, e após então verificar o DNS de acordo com o configurado no arquivo resolv.conf.

/etc/host.conf

Provavelmente contém várias linhas, uma delas deve começar com order e deve ter o seguinte aspecto:


order hosts, bind

caso não haja nenhuma linha `order' , uma deve ser criada. Ela indica que a resolução de nomes de máquinas deve pesquisar inicialmente no arquivo /etc/hosts, e após pesquisar junto ao servidor de nomes (definido em resolv.conf como 127.0.0.1). Estes dois últimos arquivos estão documentados na página de manual on-line do utilitário resolver(8) (para acessá-la execute man 8 resolv) na maioria das distribuições Linux. Aquela página do manual é clara e em nossa opinião, todos, especialmente os administradores de DNS, devem lê-la. Faça-o agora, caso você seja daqueles que diz para si mesmo ``Eu vou ler mais tarde'' e nunca o faz.




próximo acima anterior sumário índice
Próximo: C3.1 Iniciando o named Acima: C. COMO FAZER - Anterior: C2. Introdução.   Sumário   Índice
www.conectiva.com