Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Entendendo os Arquivos de Configuração do Bind

Tabela de conteúdo

Objetivos

O objetivo desse texto é explicar como funciona o DNS e elucidar ao leitor o que vem a ser cada variável e cada arquivo utilizado na configuração de um servidor de nomes com o BIND

Entendendo o DNS

O DNS (Domain Name System) é um serviço que liga os HOSTS (nomes) aos IPS (endereços), mostrando a quem o consultar, qual o IP correspondente ao HOST desejado. Para isso, ele utiliza uma estrutura hierárquica de responsabilidades, tendo a zona "." (ponto, mas fala-se raiz) como principal, seguida dos domínios de mais alto nivel (com , edu , br , gov...), que vão se ramificando, e formando a estrutura de nomes de domínios como conhecemos atualmente.

- www.OpenBSD.org.
| - |
| | - OpenBSD. - - docs.OpenBSD.org.
| | |
- org. - - Linux. - dek.linux.org.
|
"." -- - com.
| |
- br. - - - Opensolutions.com.br.
| |
- .com.br. - - Underlinux.com.br.

Podemos perceber por meio desse diagrama como funciona a estrutura de nomes na internet e também que, quanto "maior" o nível do domínio, mais a direita ele está no nome:

daniel.opensolutions.com.br.
|      |             |   |
|      |             |   | Raiz, onde começa.
|      |             |
|      |             | Domínio de nível mais alto
|      |
|      | Subdomínio do nivel mais alto .br
|
| Subdomínio do domínio .com.br. que é subdomínio do br.

Para quem não percebeu, a estrutura de nomes de domínios é muito parecida com a estrutura dos arquivos do UNIX, onde o "/" é o raiz e contém todos os diretórios, e que estes vão se ramificando e formando todos os subdiretórios do sistema UNIX (Linux, etc... :))

Outra característica do DNS, é que as informações sobre os nomes são distribuidas, ou seja, cada servidor de nomes sabe onde encontrar os seus subdomínios e os servidores "."(raiz). Por exemplo: Os servidores de nomes responsáveis pelo "." (aqueles que ficam no arquivo named.ca ou root.hints) sabem onde ficam os domínios de nível mais alto (.com, .br, .edu, .org) e se uma solicitação chegar até um deles perguntando onde fica www.opensolutions.com.br", ele vai responder dizendo que o .br fica no IP X, que será acessado e responderá que a zona responsável pelo domínio .com.br fica no IP Y, que também será acessado e dirá qual o IP do OpenSolutions.com.br.

Entendendo os arquivos de configuração

A Configuração do BIND depende de vários arquivos, podendo variar de acordo com a quantidade de domínios existentes na máquina. O primeiro arquivo, do qual vamos falar, é o das configurações principais do BIND, o /etc/named.conf, e depois falaremos de todos os outros separadamente.


===/etc/named.conf=== (ou named.boot - Bind 4).

#Ele é um arquivo simples, que indica ao named onde os arquivos
#estão localizados, e depois fala sobre cada zona e sobre o
#arquivo de cache
#Linhas comentadas começam com "#"

options {
directory "/var/named";
};
#Diz onde estão os arquivos das zonas

zone "opensolutions.com.br" in {
#Registra a existência da zona OpenSolutions.com.br
#Opção "in" define essa zona como da classe internet

type master;
#Diz que esse servidor de nomes é MAster para essa zona, podendo ser slave (escravo) também

file "open.db";
};
#Fala qual o arquivo dessa zona e encerra a configuração da mesma

zone "0.0.10.in-addr.arpa" in {
type master;
file "10.0.0.db";
}
#Registra a existencia do mapeamento dos IPs aos Nomes na rede 10.0.0.0.

zone "." in {
type hint;
file "cache.db";
#Especifica em qual arquivo se encontra as informações sobre os servidores RAIZ (onde encontrá-los)

===zone.db=== (open.db)

#Esse arquivo mapeia os nomes do host para os endereços (IP)

$TTL 3H
#Tempo de vida para as informações em cache.

@ IN SOA intra.opensolutions. daniel.swx.intra.opensolutions. (
#Indica a autoridade (SOA) dessa zona para esse servidor de nomes 
#e depois indica o email do administrador da zona (1o ponto por @)

1 ; serial
#O número serial diz a ultima vez que o servidor de
#nomes foi atualizado (esse número deve ser aumentado a cada
#atualização)

3h ; refresh
#intervalo de renovação com que um servidor "escravo" deve
#verificar se os dados para essa zona foram atualizados

15 ; retry
#Intervalo no qual um servidor escravo deve tentar se conectar ao
#principal se este estiver inatingivel

1w ; expire
#tempo em que um servidor escravo deve parar de responder por
#uma determinada zona, se o principal nao estiver sendo contactado.

12h ; default_ttl
)
#O tempo de cache negativo se aplica as respostas negativas dos
#servidores de nomes autorizados.

@ IN NS swx.intra.opensolutions.
#Indica o servidor de nome autorizado nessa zona.

@ IN MX 1 swx.intra.opensolutions.
#indica o roteamento de email para esse domínio, e o valor "1"
#mostra a preferencia dos Mail eXchangers.

enigma.intra.opensolutions. IN A 10.0.0.2
#mapeia um nome para um IP (A nome a endereço)

lala.intra.opensolutions. IN CNAME enigma.intra.opensolutions.
#nome alternativo para enigma.intra.opensolutions


===IP.db=== (10.0.0.db)

#Esse arquivo mapeia o IP para o nome do host.

$TTL 3h
@ IN SOA swx.intra.opensolutions. daniel.swx.intra.opensolutions. (
14 ; Serial
3600 ; Refresh
900 ; Retry
3600000 ; Expire
3600 ) ; Minimum
@ IN NS swx.intra.opensolutions.
#Igual ao arquivo anterior

1 IN PTR swx.intra.opensolutions.
#Faz o mapeamento dos IPs aos nomes (PTR). Ele
#indica que o ip 10.0.0.1 corresponde a swx.intra.opensolutions

db.cache

#Esse arquivo deve ser baixado na internet e ele
#nos dirá onde encontrar os servidores de nomes
#raiz.

; formerly NS.INTERNIC.NET
;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
#Existem ao todo 13 servidores raiz mas, eles podem mudar. 
#Por isso, mantenha sempre esse arquivo atualizado.

Conclusão

Espero que essse artigo sirva para que voces entendam um pouco melhor o funcionamento do DNS/BIND.

Caso tenha alguma duvida, sugestão ou crítica, mailme:



Daniel B. Cid daniel@underlinux.com.br

Professor de Linux/Programação, Administrador de Sistemas/Redes, Consultor na área de Segurança e formando em Física.

OpenSolutions Consultoria e Soluções Digitais

http://www.opensolutions.com.br
Horários baseados na GMT -3. Agora são 2:22.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.