Pular para o conteúdo

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.
Geraldo José Ferreira Chagas Júnior gjr_rj
Hits: 248.325 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

Parte 5: 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.

   1. Introdução
   2. O DNS
   3. Instalando o servidor DNS
   4. Terminologia DNS
   5. Configurando um servidor DNS

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

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

Linvox - Sistema Linux voltado para deficientes visuais

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

Instalando e configurando o aMule (Debian)

Arquivos de configuração de rede - Parte I - /etc/hosts

Configurando o NRPE (Nagios Remote Plugin Executor) no Ubuntu Desktop 9.10/Server 8.04 com criptografia SSL

O dia em que o KDE me surpreendeu

OpenVPN + Bridge

Instalando Gentoo Linux através da sua distribuição

#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

Entre na sua conta para comentar.