Configurando um servidor de DNS

Esse artigo explica o conceito de DNS, seu surgimento, como funcionam as consultas entre os servidores, como configurar um cliente e um servidor de nomes.

[ Hits: 326.123 ]

Por: tiago de castro dima em 24/07/2003


Servidores DNS



Agora vamos ver como preparar um servidor dns, uma máquina que é capaz de responder por domínios. Dois diretórios são muito importantes nesse trabalho:
  • /etc
  • /var/named
Dentro de /etc temos o arquivo named.conf. Dentro de /var/named temos os arquivos correspondentes a cada domínio pelo qual nosso servidor é responsável. Abaixo temos um exemplo de /etc/named.conf. Observe onde aparece o termo "zone". Cada vez que encontrá-lo significa que ali existe a indicação de um domínio.

Note também o início do arquivo onde aparece "directory /var/named", etc. Essa é a parte do arquivo em que dizemos ao BIND em qual diretório os arquivos dos domínios devem ser procurados. Então a coisa funciona assim:
  1. crio uma nova zona para um domínio novo qualquer
  2. crio em /var/named o arquivo referente a essa zona (domínio)
Vamos criar uma zona para meudominio.com.br, basta imitar ou copiar e alterar uma zona já existente.

options {
     directory "/var/named";
};

zone "." {
     type hint;
     file "named.ca";
};

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

zone "localhost" {
     type master;
     file "localhost.zone";
};

zone "meudominio.com.br" {
     type master;
     file "meudominio.com.br.zone";
};

OK, não foi difícil. Uma outra coisa que devemos prestar atenção é na diretiva type. Na zona que criamos, estabelecemos como "master". Isto significa que o nosso servidor é o servidor primário dessa zona. Se fôssemos o servidor secundário, trocaríamos "master" por "slave". Vamos ver isso depois. Salve o named.conf e vá para o diretório /var/named e copie o arquivo "named.local" para "meudomínio.com.br". Use o comando:

# cp named.local meudominio.com.br

Vamos agora editar esse arquivo e deixá-lo OK, mas antes vamos ver alguns detalhes do mesmo.

No início do arquivo temos uma informação TTL (time to live) 3600 (Ex.: $TTL 86400). Essa diretiva indica a quantidade de tempo que as informações desse domínio são válidas para outros servidores. Calma, vamos entender melhor. Quando um outro DNS recebe a informação sobre esse domínio, a mesma ficará no cache dessa máquina durante 3600 segundos (ou uma hora). Com essa informação em cache, a próxima vez que alguém perguntar por esse domínio, a consulta não precisa ser feita ao DNS responsável (ao menos durante aquela 1hora em que a informação está no cache). Se houver uma outra consulta após essa 1 hora, aí sim, haverá uma nova consulta ao DNS responsável.

Vamos ver sobre as outras informações:
  • 2003072401 ;Serial
  • 28800 ;Refresh
  • 14400 ;Retry
  • 3600000 ;Expire
  • 86400 ;Minimum
SERIAL: é uma versão do arquivo. Toda vez que houver uma alteração no arquivo do domínio, precisamos alterar esse número para que o servidor secundário saiba e possa copiar essa nova versão. No exemplo acima temos: 2003072401. Analisando da direita para esquerda, podemos dizer que temos a versão 01 de um arquivo criado em 24/07/2003. Não existe uma regra fixa pra essa informação, mas você deve criá-la de uma forma que possa interpretá-la depois.

REFRESH: indica o tempo, em segundos, em que o servidor secundário deve fazer uma consulta ao primário para saber sobre os domínios do mesmo. É nessa hora que a informação serial é importante, pois, caso o serial de algum domínio tem sido alterado, então o servidor secundário realiza uma nova cópia do mesmo. No exemplo acima o refresh deve ser feito em 28800 segundos, ou seja, de 8 em 8 horas.

RETRY: se por algum motivo, na hora em que o servidor secundário fizer o "refresh" no primário, e o mesmo não responder, então ele tentará uma nova consulta no tempo estabelecido em "retry".

EXPIRE: é o tempo máximo que o servidor secundário pode ficar sem consultar o primário. Após esse tempo, a informação sobre o domínio será expirada.

Vamos agora para as outras informações.

; definição do servidor DNS
@      IN      NS      localhost.

; definição do servidor de e-mail
@      IN      MX      mail.meudominio.com.br

; definição dos hosts
localhost      IN      A      127.0.0.1
www            IN      A      127.0.0.1
mail           IN      A      200.198.71.220
ftp            IN      A      127.0.0.1

Informações iniciadas com ";" são consideradas comentários.

A linha:

@      IN      NS      localhost.


informa quem é o servidor de nomes (NS) para "meudomínio.com.br (representado pelo símbolo @)".

A linha:

@      IN      MX      mail.meudominio.com.br


informa quem é o servidor de e-mail (MX) para "meudomínio.com.br (representado pelo símbolo @)".

Por fim temos a definição dos hosts, ou seja, os endereços IP das máquinas que respondem por determinados serviços como: www, ftp, mail, etc.

localhost      IN      A      127.0.0.1
www            IN      A      127.0.0.1
mail           IN      A      200.198.71.220
ftp            IN      A      127.0.0.1


Observe por exemplo na linha iniciada em "mail". Essa linha resolve a indicação MX (mail exchanger) feita acima. Na indicação MX, dissemos que o servidor de e-mail desse domínio é o "mail.meudominio.com.br". Quando fazemos isso, devemos dizer quem e a máquina "mail" (que no nosso caso e a 200.198.71.220). Observe também que indicamos qual o IP para o serviço WWW, ou seja, quando alguém buscar por "www.meudominio.com.br", então, conforme a nossa configuração, o servidor será o 127.0.0.1, assim como para o serviço FTP.

Para testarmos esse domínio é preciso reiniciarmos o serviço NAMED. Para fazer isso vamos para o diretório onde estão os principais serviços do nosso sistema. O diretório é o /etc/rc.d/init.d. Dentro do diretório digite:

# ./named status

Esse comando nos dirá se o serviço está sendo executado ou parado. Se estiver sendo executado, então você pode usar ./named restart para parar e iniciar o serviço imediatamente. Se estiver parado, então use ./named start. Para testarmos o nosso domínio podemos fazer alguns testes usando o comando ping.

$ ping www.meudominio.com.br
$ ping mail.meudominio.com.br
$ ping ftp.mwudominio.com.br


Esperamos ter clareado um pouco a idéia de DNS nesse artigo. Aproveitamos também para pedir a sua colaboração para deixar esse artigo mais completo, pois sabemos que há muitas outras coisas a serem aqui acrescentadas e isso fará com que o site (www.useredhat.com.br) armazene uma quantidade grande e importante de informações que cada vez mais usuários poderão utilizar.

Página anterior    

Páginas do artigo
   1. O que é DNS?
   2. Como funcionam as consultas DNS?
   3. Clientes DNS
   4. Servidores DNS
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Configurando GUI no Ubuntu WSL (Windows Subsystem for Linux)

Servidor VPN PPTP com autenticação de usuários no Active Directory

Instalação e configuração do Kickstart em modo gráfico

Como instalar o Compiz no Zenwalk e no Slackware de forma fácil

Configuração de Indentação no Vim - Tabs e Espaços

  
Comentários
[1] Comentário enviado por ThiegoXar em 14/08/2003 - 18:15h

Legal este artigo mas presiva ser um pouco mais esplicativo, assim como vc disse no começo, DNS e um assunto serio, os nomes de arquivos passam em branco e causa grande duvidas em nos leigos, falta a mostra dos arquivos finais, complicado... Mas e isso ai, Valeu.

[2] Comentário enviado por gustavo_marcon em 30/08/2003 - 11:22h

eu configurei estes arquivos mas o dns só funciona se eu inserir uma linha referente ao domínio dentro do arquivo /etc/hosts.

Acho que meu micro procura primeiro neste arquivo e se não encontrar nem tenta procurar no DNS.

Sabe como posso reverter isso?

[3] Comentário enviado por lamss em 22/02/2004 - 16:22h

Essa materia começou bem, MAS, como tudo que é bom dura pouco no final deixou a desejar... por exemplo o que tem nos arquivos:

file "named.ca";
file "0.0.127.in-addr.arpa.zone";
file "localhost.zone";
file "meudominio.com.br.zone";

Vou ficar a procura de outro tutorial mais explicativo...
Valeu a tentativa... quem sabe no proximo...

[4] Comentário enviado por vmarv em 27/04/2004 - 20:44h

Essa Configuração serve para um servidor DNS em um IP Dinamico, como o Velox? Gostaria como muito de aprender sobre isto.

[5] Comentário enviado por keoki em 30/06/2004 - 08:50h

Como foi dito começou bem, mais podia ter ficado melhor .... faltou bastante coisa.

[6] Comentário enviado por guitarloko em 03/11/2004 - 12:18h

legal a dica... soh o final não ficou muito claro, mas valeu mesmo assim!!

um abraço!

[7] Comentário enviado por dowglaz em 26/04/2006 - 01:27h

Calma galera...
Descobri como achar estes arquivos, que, por sinal, eu também não havia achado. É só baixar e instalar o BIND. O autor do artigo esqueceu de mencionar este detalhezinho.
http://www.isc.org/index.pl?/sw/bind/

[8] Comentário enviado por HeltonBarbosa em 01/09/2006 - 11:26h

No inicio estava tudo beleza, mas foi chegando no final e começou a complicar. Vou continuar procurando por mais artigos que explique detalhadamente como configurar um servidor DNS. Mas, valeu, pelo menos vc fez algo...

[9] Comentário enviado por carlos.geane em 10/11/2006 - 15:07h

Parabéns pelo artigo, está excelente e muito bem explicado, me ajudou muito, parabéns.

[10] Comentário enviado por deirane21 em 15/12/2006 - 13:24h

marcos medeiros 15/12/06

e quando não encontra-se o arquivos named,dominiox.data,dominiox.rev no diretorio var?

[11] Comentário enviado por fba em 24/04/2007 - 11:17h

para complementar as explicações sobre os arquivos de configuração creio que http://www.linuxbsd.com.br/portal/?q=node/47 possa ajudar

[12] Comentário enviado por danielpinguim em 14/05/2007 - 10:14h

ficou legal kra

mas axo q na hora de testar
o nslookup eh melhor

[13] Comentário enviado por rafaiusko em 17/08/2007 - 15:16h

Em si é um bom artigo, porém não comenta nada sobre ocorrer algum erro no final da configuração...

Valeu a intenção!

[14] Comentário enviado por OSiriX em 18/08/2008 - 01:14h

POxa Eu achei otima a introduçao !!
e a configuraçao do Bind .. muito resumida facil de enteder ..
parabens !!!!

[15] Comentário enviado por Tifudi em 30/12/2008 - 10:50h

O artigo é bom!!! mas se fosse ele que tivesse escrito! O mesmo artigo foi escrito no site http://www.marceloeiras.com.br/linux/tutorial/dns/dns.htm Por isso que ele não explicou melhor no final, pq ai vc percebe que a pessoa não tem conhecimento nenhum de Linux somente copiou de outro site. Assim até minha mãe!!!!!

[16] Comentário enviado por hbobenicio em 06/01/2009 - 00:13h

Cara... excelente artigo! Muito bom mesmo!
Eu que sou bem leigo no assunto, com suas explicações didáticas e simplificadas, pude finalmente entender o que é um DNS e como ele funciona. A parte da configuração do servidor poderia ter sido um pouco mais trabalhada, mas o começo e até a configuração do cliente ficaram muito bons mesmo!!!

Parabéns, e continue com os ótimos artigos! A comunidade agradece.

[17] Comentário enviado por antoniojbs em 18/11/2009 - 11:54h

parabéns pelo tuto tiago vai me ajudar muito estou abrindo uma empresa em pernambuco onde vou trabalhar claro com muito linux e principalmente na parte de servidores

[18] Comentário enviado por fernandoamador em 14/12/2009 - 20:36h

Gostei do artigo. Parabéns

[19] Comentário enviado por micerqueira em 01/02/2010 - 18:57h

pq no registrobr da essa resposta?
DNS desconhecido

alguem da uma força?

[20] Comentário enviado por tecnoplace em 22/06/2010 - 22:09h

gente preciso de instalar o zimbra aqui, mas o meu calcanhar de aquiles é o dns. me ajudem a configurar um dns que eu possa propagar meu dominio na net, pois nao conheco muito de configuracao de dns. tem 5 meses que to lutando com isso. e nao consigo acertar.

[21] Comentário enviado por mlegidio em 17/08/2010 - 18:06h

Conforme o named.conf, o comando cp named.local meudominio.com.br deveria ser cp named.local meudominio.com.br.zone. Pois, no linha file o named procura um arquivo chamado meudominio.com.br.zone e não meudominio.com.br

para testar dominios criados, deveria ter adicionado esse servidor DNS em seu /etc/resolv.conf e utilizar os comandos nslookup ou dig

[22] Comentário enviado por giuzao em 04/01/2011 - 14:55h

Muito bom artigo!
Parabéns!

[23] Comentário enviado por rodrigocontrib em 14/06/2012 - 11:15h

To tentando instalar essa parada mas to esbarrando num lance!
Não to conseguindo encontrar uma pa de arquivos no etc.
Para começar o /etc/named e o /var/named nao tem, instalo via apt-get isntall bind9 bem vi que o artigo é antigo, mas hoje em 2012 debian 6 tenho os repositorios :

deb http://ftp.us.debian.org/debian squeeze main
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

Se alguem puder me ajudar desde já eu agradeço!!!


[24] Comentário enviado por hudsonsilvasilva em 05/10/2012 - 22:12h

Alguem pode me ajudar ?
estou com um problema no meu WHM do meu Servidor que eu não consigo apontar meu domínio para meu servidor
alguem ai sabe o que deve ser ?

[25] Comentário enviado por ferinha em 24/02/2013 - 11:50h

Parabéns, saint666, artigo muito importante e com uma forma clara de se entender. Obrigado!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts