DNS – Criando Zonas no BIND


Continuando nosso assunto sobre DNS, vou mostrar no artigo de hoje sobre como criar domínios (zonas) no BIND e colocar nossos domínios para funcionar.
Criaremos dois domínios e as máquinas que fazem parte dessas zonas.

Primeiro devemos instalar os pacotes necessários para o funcionamento do serviço, o nome do pacote é bind tanto em distribuições baseadas em Debian quanto em Red Hat.
As diferenças entre as distribuições está na localização dos arquivos, as variáveis e comandos são os mesmos. As diferenças são as seguintes:
Red Hat:
Script de inicialização: /etc/init.d/named
Arquivos de Configuração: /etc/named.conf (Opções e domínios) /etc/named.rfc1912.zones (zonas padrão)
Diretório de database de zonas: /var/named
Debian:
Script de inicialização: /etc/init.d/bind9
Arquivos de Configuração: /etc/bind/named.conf.options (opções) /etc/bind/named.conf.local (domínios) /etc/named.conf.default.zones (zonas padrão)
Diretório de database de zonas: /var/cache/bind
Os domínios (direto e reverso) devem ser criados no arquivo /etc/named.conf (Red Hat) ou /etc/bind/named.conf.local (Debian), e as máquinas de cada domínio devem ser criadas nos arquivos de database de cada distribuição. Nos arquivos com nome named os caracteres de // são os comentários, nos arquivos db. o caracter de ; é o comentário.
No DNS master edite o arquivo named correspondente, usando como exemplo os domínios empresa.net e exemplo.net (domínios que existem, mas aqui serão usados como exemplo) e sendo nossa rede externa 172.16.1.10 a 172.16.1.20(eu sei que é um endereço inválido mas usaremos para exemplo), com o seguinte conteúdo ao final:

Onde:
zone – é o nome do domínio que será criado neste servidor
type – tipo de servidor DNS (master ou slave)
file – arquivo de database desta zona
allow-transfer – diretiva que permite transferência do arquivo de zona para o servidor slave.
As zonas diretas devem ser criadas uma para cada domínio, mas como a zona reversa é baseada na rede onde os hosts existem, assim sendo, podemos ter uma única zona reversa em nosso DNS atendendo a vários domínios, desde que os hosts destes domínios estejam na mesma rede.
Para checar se não houve erro na configuração usaremos o comando named-checkconf:
root@debian# named-checkconf /etc/named.conf
ou
root@debian# named-checkconf /etc/bind/named.conf
Com os arquivos named devidamente configurados, devemos criar agora o database de cada zona e da reversa.
Criaremos nos respectivos diretórios de database os arquivos com os seguintes conteúdos:

db.empresa.net

db.exemplo.net
db.172.16.1
 
Assim teremos um arquivo para cada domínio direto e um arquivo para todos os reversos.
Vamos testar os arquivos com o seguinte comando (estando no diretório onde os arquivos foram criados):
root@debian# named-checkzone empresa.net db.empresa.net
root@debian# named-checkzone exemplo.net db.empresa.net
root@debian# named-checkzone 1.16.172.in-addr.arpa db.172.16.1
Se não houver nenhum erro, basta iniciar o serviço:
Em Red Hat:
root@debian# /etc/init.d/named restart
Em Debian:
root@debian# /etc/init.d/bind9 restart
Monitore por erros no log do sistema /var/log/syslog (Debian) ou /var/log/messages (Red Hat).
No slave faremos a seguinte configuração no arquivo named correspondente:

Assim ao reiniciar o serviço o slave irá procurar o master (172.16.1.10) e irá fazer download (porta 53 TCP) dos arquivos db. existentes no master e se manterá sincronizado, verificando a cada ciclo de tempo (refresh) se houve atualizações nos arquivos no master.
Espero ter ajudado e no próximo post colocaremos uma zona interna respondendo apenas para rede local e faremos otimizações do DNS.
Não esqueçam de votar no TopBlog, de assinar nosso Portal e de recomendar para mais profissionais de TI.

Share

    Comments

    1. Avatar for Vagner Fonseca Bruno Cruz ( Belém Pará) : 27 de outubro de 2011 at 1:14 pm

      Desse jeito ficarei especialista em Linux !! rsrsrsrsrs

    2. Amem!!!
      Vagner… tava realmente precisando dessa dica cara… preciso incluir um registro no Bind e estava desesperado pois ainda nao tinha ideia de como fazer…
      Cara… obrigado… vou testar e digo o que rolou….

    3. Vagner blz, acho qye só um detalhe que para teste local, acrescente no arquivo /etc/resolv.conf, na primeira linha, –> nameserver 127.0.0.1.
      reinicie, e ping http://www.empresa.net
      valeu

    4. Vagner, poderia me ajudar, estou tentando instalar o Bind atual 9.8.1 pelo source, porem não estou conseguindo, teria como fazer um tuto desse passo tbém, ou saberia informa onde acho um pacote .deb dessa versão., eu uso Debian Squeeze

    5. Ola vagner, muito bom esse tutorial, obrigado por compartilhar seu grande conhecimento, porem tenho uma duvida, no arquivo db do dominio na linha abaixo
      @ IN SOA ns1.exemplo.net. dns-admin.exemplo.net.
      onde esta ns1.exemplo.net creio eu que ns1 seria o nome do host ok?
      agora esse dns-admin no final da linha eu nao entendi, poderia me tirar essa duvida?
      Obrigado.

      • Rodrigo,
        Respondendo pelo Vagner. ns1.exemplo.net é o servidor de nome primário e com autoridade sobre essa zona (exemplo.net) e dns-admin.exemplo.net é o email do administrador dessa zona, o formato utilizado pelo Bind pode confundir um pouco, portanto para enviar email para o administrador envie para [email protected].
        Espero ter esclarecido suas dúvidas.
        Abraços

        • valeu cara!!!! resposta muito rapida!
          so mais uma coisa, en alguns servidores de dns nesse campo dns-admin.exemplo.net utilizei root.ns1.exemplo.net, e nao vi diferenças , resumindo isso serve apenas para quando alguem consultar o dominio ja vai saber o email do ADMIN?
          abs

    6. Olá Amigos,
      A zona reversa vai com o ip privado ou o ip publico?

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.