Configurando Servidor de Nomes - DNS (Debian)

O artigo tem como objetivo ensinar como montar um servidor DNS. Mesmo para quem não tem um host válido o servidor de nome pode ser bem útil, principalmente se você quer testar várias páginas ou separar seu micro em ambiente.

[ Hits: 245.980 ]

Por: Geraldo José Ferreira Chagas Júnior em 06/03/2008 | Blog: http://prginfo.blogspot.com


Configurando um servidor DNS



O servidor DNS é um sistema potencialmente complexo, configurado por uma série de arquivos surpreendentemente confiáveis. Esses arquivos são formados por um arquivo de boot e vários arquivos de dados de zona, onde cada arquivo de zona é apontado por um registro de zona no arquivo de boot.

Com os exemplos essa explicação ficará mais clara.

No Debian, com o bind instalado, o arquivo de boot DNS é o /etc/bind/named.conf.

Comentários neste arquivo podem ser feitos de três formas:

/* estilo c */
// estilo c++
# estilo shell

Outras declarações seguem o formato:

Keyword {statement; statement; ...; statement;};

Tudo neste arquivo é delimitado por chaves, espaço e ponto-e-vírgula. Logo, espaçamento múltiplos, tab, quebra de linha não afetam a configuração.

Inclua no arquivo o apontamento da zona que corresponde ao seu domínio, informando em qual arquivo ele deve procurar a configuração de zona quando o seu domínio for digitado.

zone "dominio.casa" { # domínio da rede que deseja incluir no DNS
   type master;
   file "/etc/bind/dominio.casa.zone";   # arquivo que conterá as informações para tradução do nome
};

Agora inclua o apontamento para o IP reverso. Neste caso, qualquer endereço ip na sub-rede especificada será tratada pelo arquivo apontado por ele.

zone "1.168.192.in-addr.arpa" {      # endereço da sub-rede
        type master;
        file "/etc/bind/named.198.168.1";    # arquivo de configuração que tratará o IP
};

Os arquivos de zona, no nosso caso estarão na diretório /etc/bind/. Os arquivos de zona são apontados pela declaração zone do arquivo de boot.

A primeira coisa a entender sobre os arquivos de zona é que sua sintaxe é totalmente diferente do arquivo de boot named.conf.

Há 10 registros possíveis:
  • SOA - inicialização de autoridade
  • NS - nome do servidor
  • A - registro de endereço
  • PTR - registro de ponteiro
  • MX - intercâmbio de carreio
  • CNAME - nome canônico
  • RP e TXT - as entradas de documento
  • HINFO - informações sobre os host
  • NULL - registro de recurso nulo sem formato de dados

Supondo que o endereço de sua sub-rede seja 192.168.1 e que o servidor é 192.168.1.1, o computador 1 é 192.168.1.2 e o computador 3 192.168.1.3.

Crie o primeiro arquivo o /etc/bind/dominio.casa.zone e adicione o seguinte código:

$TTL    604800
@        IN SOA dominio.casa. root.dominio.casa. (  # indica para qual domínio o SOA é obrigatório
                200007201       ; serial (d. adams)   # Serial que mostra aso DNS secundários como realizar transferência de zona
                28800           ; refresh       # indica o tempo em segundos de intervalo para o servidor DNS secundário consultar o primário para saber se houve alteração
                14400           ; retry      # tempo em segundo para conexão com o servidor primário caso a tentativa no tempo de refresh falhe
                3600000         ; expiry  # tempo de descarte das informações no cache
                84400 )         ; minimum  # indica quanto tempo os dados devem ser guardados no cache antes que expire a validade
;

www             IN A    192.168.1.1
www2            IN A    192.168.1.1
www3            IN A    192.168.1.1
serv            IN A    192.168.1.1
comp1           IN A    192.168.1.2
comp2           IN A    192.168.1.3

@               IN MX 10 dominio.casa.c
@               IN NS    dominio.casa.
@               IN A    192.168.1.1

Neste caso o endereço www.dominio.casa, www2.dominio.casa, www3.dominio.casa e serv.dominio.casa se referem ao mesmo IP ao 192.168.1.1.

O host comp1.dominio.casa se refere ao IP 192.168.1.2 e comp2.dominio.casa te levará ao micro com IP 192.168.1.3.

No caso do IP reverso, crie o arquivo /etc/bind/named.198.168.1 com as seguintes linhas:

$TTL    604800
@       IN      SOA     dominio.casa. root.dominio.casa.  (
                        2000072001 ; Serial
                        28800      ; Refresh
                        14400      ; Retry
                        3600000    ; Expire
                        86400 )    ; Minimum

@       IN      NS      dominio.casa.
10      IN      PTR     dominio.casa.

Os dados no arquivo de IP reverso tem o mesmo significado do arquivo anterior.

Página anterior    

Páginas do artigo
   1. Introdução
   2. O DNS
   3. Instalando o servidor DNS
   4. Terminologia DNS
   5. Configurando um servidor DNS
Outros artigos deste autor

Instalando e configurando o aMule (Debian)

X Window, Controladores de Janelas e Ambientes Desktop

Montando um ambiente utilizando Tomcat + Java + MySQL (Debian)

Inicialização e interrupção do sistema (Debian)

Vírus de computador e criação de um vírus em C/C++ (parte 1 - básico)

Leitura recomendada

ISPConfig 3.1 - Instalação no Debian 9

Iniciando no Linux com o Ubuntu Gutsy

Instalando o driver de placas Nvidia no Fedora 11 Leonidas

MUGPIS 14.1

Resolvendo problemas na rede do Slackware

  
Comentários
[1] Comentário enviado por joseslei em 06/03/2008 - 12:52h

Gostei desse artigo,
estou inciando na area de administração de redes linux e esse artigo me ajudou muito.

[2] Comentário enviado por JhoniVieceli em 06/03/2008 - 17:45h

opa valeu bom artigo

[3] Comentário enviado por exercitobr em 06/03/2008 - 18:53h

Parabéns, bem explicado.

[4] Comentário enviado por kabalido em 07/03/2008 - 14:19h

Cara, melhor artigo que já li sobre DNS. Show de bola. Já vou add aos meus favoritos. Heheheh!!
Parabéns!
Vlw

[5] Comentário enviado por Reideer em 11/03/2008 - 22:37h

Muito bom o artigo, conseguiu resumir boa parte das minhas duvidas e encurtou minha pesquisa.
Será que você poderia me esclarecer porque a maioria dos manuais aconselha a engaiolar o bind? Li em alguns artigos que era por segurança, visto que o bind tem muitos funções, porém ainda não consegui entender a real necessidade disto. Se fosse como eles dize, então seria necessario engaiolar o apache tambem?

[6] Comentário enviado por gjr_rj em 14/03/2008 - 19:10h

Obrigado pelo comentário, fico feliz em poder ajudar já que muito do que aprendi se deve a pessoas que simplesmente disponibilizaram seu conhecimento sem nada pedir. Espero desta forma estar retribuindo.

Vamos ao que interessa.

Acontece que através do bind é possível manipular bastante arquivos do sistema, muitas vezes como root, tamanho a sua quantidade de funcionalidades. Isso torna seu sistema mais vulnerável. Engaiolá-lo seria uma forma segura de limitar sua área de atuação, impedindo que arquivos possam ser manipulados sem nossa permissão.

Você tem razão com relação ao apache, e o ideal é engaiolá-lo também para deixar seu sistema mais seguro, principalmente se o servidor estiver aberto a internet. Porém o apache permite menos possibilidade de atuação.

De uma olhada no link
http://www.unixwiz.net/techtips/bind9-chroot.html#intro

para entender melhor

[7] Comentário enviado por clayton.ricardo em 30/04/2008 - 12:00h

Parabéns pelo artigo.

Já está em meu Favoritos!

[8] Comentário enviado por l-x em 20/08/2008 - 16:38h

muito bom"""""

[9] Comentário enviado por energumino em 03/03/2009 - 17:27h

Muito legal....mas me tira uma dúvida, eu gostaria de implementar um servidor de DNS, pra testes e tal! no caso eu implementando este servidor em minha rede de casa (Adsl normalzinho...tudo simples) e colocar ele como DNS das maquinas clientes elas navegariam na internet??resolveriam nomes externos a minha rede?...to começando a mexer com DNS..valew!

[10] Comentário enviado por gjr_rj em 05/03/2009 - 18:06h

Sim, irá funcionar não só para a sua rede mas como também para nomes externos.

[11] Comentário enviado por luanyata em 14/01/2010 - 13:39h

no caso eu utilizo apenas uma maquina com a internet banda larga com um determinado IP...

IP 189.6.2.4 (exemplo)

nos arquivos de configuração /etc/bind/dominio.casa.zone e no /etc/bind/named.198.168.1 o q está relacionada a IP eu altero colocando o meu IP IP 189.6.2.4???

[12] Comentário enviado por henrique463 em 02/02/2011 - 23:43h

Excelente artigo!! Me ajudou muito. Obrigado.

[13] Comentário enviado por Drakh em 02/01/2012 - 15:01h

pesquisei com outros tutoriais e até mesmo com alguns livros mas neste aqui foi que realmente funcionou, até mesmo com DNS secundário separado!!!

Parabens mesmo!!

[14] Comentário enviado por crescermais em 06/02/2013 - 18:29h

amigo estou tentando configurar, mais estou com problemas no reverso. será que poderia me dar uma força?
Obrigado

[15] Comentário enviado por victorfelix em 29/04/2013 - 19:58h

otimo,
gostei de configurar

[16] Comentário enviado por blx32 em 28/01/2015 - 10:10h

Olá, maravilhoso foi o seu conteúdo e explicação.
Mas tenho uma duvida com relação a associar um domínio que comprei, a meu servidor em casa.
Att,Gabriel Moura


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts