DNS BIND para integração em domínios AD (com Windows Active Directory ou Samba)

Este artigo busca auxiliar os administradores de sistema Linux novatos ou veteranos que tem dificuldades para acertar as configurações do DNS Bind (como também tive muitas dificuldades neste sentido). O objetivo central é a integração do DNS com o ambiente AD, mas uma leitura mais centrada mostra que o artigo auxiliará mesmo em outras implementações, com poucas modificações.

[ Hits: 98.052 ]

Por: Leonardo Langhi em 26/08/2008


Escrevendo o arquivo de configuração named.conf



O Bind nas versões superiores a 8 funciona com a leitura do arquivo named.conf e sua utilização para configuração de todos seus serviços. Esta é a etapa mais importante na configuração de seu servidor, pois qualquer erro impedirá o Bind de iniciar.

Na distribuição Fedora Core 8 o arquivo de configuração do Bind está em /etc/named.conf e virá com opções padrões quais não precisaremos. Realize uma cópia de segurança e vamos iniciar um novo arquivo, utilizando:

# cp -p /etc/named.conf /root/named.conf.old
# echo > /etc/named.conf
# vi /etc/named.conf


A partir de agora iniciaremos a escrita do arquivo. Vamos iniciar criando uma ACL. Em termos bem reduzidos, ACL é um nome que substitui um IP (apelido), no caso do Bind. Escreveremos este nome para evitar redigitar um mesmo IP muitas vezes seguidas. Pegue a lista de máquinas feita antes e vamos à digitação:

//este é um comentário
//ACL que indica o AD
acl "pdc" { 192.168.1.21; };
acl "localhost" { 127.0.0.1; };

Note que dizemos ao bind que aquela linha indica uma acl, fornecemos o seu nome em string "pdc" e entre chaves colocamos o valor 192.168.1.21, encerrando a leitura com ";" dentro das chaves e ao fim da linha. Muitos erros acontecem por esquecimento destes ";".

A segunda etapa será configurar as opções do nosso servidor bind, faremos isto com:

options {
   listen-on port 53 { localhost; }; //Porta qual o DNS escutará na rede IP octal. Padrão 53
   listen-on-v6 port 53 { ::1; }; // Porta qual o DNS escutará na rede Ipv6. Padrão 53
   directory       "/var/named"; //Diretório raiz do programa
   dump-file       "/var/named/data/cache_dump.db"; //Arquivo de dump
   statistics-file "/var/named/data/named_stats.txt"; //arquivo de logs estatísticos
   memstatistics-file "/var/named/data/named_mem_stats.txt"; //arquivo de logs de memória
   allow-query     { localhost; }; //permitir query de localhost
   recursion yes; //permitir recursão
};

Caso sua distribuição tenha instalado o Bind em outro local, não esqueça de alterar o endereço dos arquivos. Não coloque os comentários ao fim da linha. Em algumas compilações, o Bind pode não aceitar comentários na mesma linha das configurações.

Vamos agora definir onde o Bind irá realizar os logs de suas operações com:

logging {
   channel default_debug {
      file "data/named.run";
      severity dynamic;
   };
};

Estas são configurações padrões e devem funcionar perfeitamente. Caso deseje alterar as opções de logs, faça-as aqui.

No próximo tópico abordaremos as definições de zonas do DNS.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Preparação do ambiente
   3. Preparação do servidor
   4. Escrevendo o arquivo de configuração named.conf
   5. Definições de zonas no DNS
   6. Arquivos de zona
   7. Arquivos de zona reversa
   8. Zonas necessárias para Active Directory
   9. Considerações finais
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Rodando um servidor de IRC (ircd)

Compiz - Janelas à 360 graus no Linux

Intel GVT-g: compartilhando a GPU Intel com convidados QEMU/KVM

Baixando arquivos do Megaupload e Rapidshare pelo terminal

Jabberd2 - Completo e sem mistérios

  
Comentários
[1] Comentário enviado por raphaelldf em 26/08/2008 - 11:36h

excelente de verdade! dificil enxergar esse funcionamento quando a gente poe a mão na massa. eu não tinha ideia que existia as zonas "_tcp", "_udp", "_sites" e "_msdcs".
uma sugestão aqui fica integrar o dhcp ao ddns, mas, parabens e grande abraço.

[2] Comentário enviado por andrecostall em 26/08/2008 - 14:30h

Cara esse foi o melhor artigo sobre BIND que ja li..
Parabéns mesmo.
Abraços

[3] Comentário enviado por davidsonpaulo em 26/08/2008 - 19:45h

Só uma correção: desde a versão 7 o Fedora não se chama mais Fedora Core, portanto não é Fedora Core 8, mas sim Fedora 8. :-)

Parabéns pelo artigo. Muito completo, claro, bem escrito e, principalmente, útil.

[4] Comentário enviado por vagnersobrinho em 26/08/2008 - 22:13h

Valeu meu caro!!!!
tava procurando um artigo desse
:D
abraços

[5] Comentário enviado por othelo em 27/08/2008 - 09:38h

Muito legal o artigo, tenho lido bastante sobre DNS e achei muito bem escrito e com facil entendimento!

Continue gerando material deste nivel... parabens

[6] Comentário enviado por removido em 27/08/2008 - 13:55h

leolanghi,
Excelente artigo, porém vale lembrar que a acl "localhost" já vem "embutida" nas versões mais recentes do bind e o daemon não sobe caso vc tente sobrescrever a mesma. O erro que é exibido é:

attempt to redefine builtin acl 'localhost'

Basta comentar ou remover a linha acl "localhost" para o serviço subir normalmente...

No mais, parabéns pelo artigo!!!

[7] Comentário enviado por andrecostall em 28/08/2008 - 15:17h

Cara precisava de uma ajuda sua..

Estou querendo criar um DNS para minha maquina tenho um IP fixo empresa valido do virtua.

172.16.1.40 é o ip da minha maquina
forwarders -> é o DNS1 e DNS2 do virtua

Olha só minha conf.

named.conf
==================================================
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
auth-nxdomain yes;
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
//query-source address * port 53;
//forward first;
forwarders { 201.x.x.x; 201.x.x.x; };
forward first;
allow-query { 127.0.0.1; 172.16.1.0/16; };
};

//
// a caching only nameserver config
//

// Arquivo de log das operacoes
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};


controls {
inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

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

zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};

zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};

zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};


zone "angacetur.com.br" IN {
type master;
file "db.angacetur.com.br";
allow-transfer { 172.16.1.40; };
};
include "/etc/rndc.key";

===================================================

db.angacetur.com.br
===================================================

$TTL 300; 5min

angacetur.com.br. IN SOA ns1.angacetur.com.br. root.ns1.angacetur.com.br. (
2008082802 ; Serial
3600 ; Refresh 1h
3600 ; Retry 1h
3600 ; Expire 1h
3600 ) ; Minimum 1h
; definicao do servidor DNS
angacetur.com.br. IN NS ns1.angacetur.com.br.

; definicao do server email
angacetur.com.br. IN MX 10 mail.angacetur.com.br.

; definicao dos hosts
ns1.angacetur.com.br. IN A 172.16.1.40
ns1 IN A 172.16.1.40
www IN A 172.16.1.40
mail IN A 172.16.1.40

=================================================

Quando vou no site registro.br para cadastrar o meu dns da o seguinte erro no log named.run:

client 200.160.2.3#57168: query 'ns1.angacetur.com.br/SOA/IN' denied

e no site da a seguinte mensagem.
msg: PESQUISA RECUSADA

O que deve estar acontecendo ?


abraços..

[8] Comentário enviado por leolanghi em 26/09/2008 - 22:29h

Respondido por email!!!

eram algumas configurações!!!


[9] Comentário enviado por elderbezerra em 27/09/2008 - 17:21h

Seguinte erro:

[email protected] ~]# service named start
Starting named:
Error in named configuration:
zone aacdft.fja.edu.br/IN: loaded serial 2008081900
zone 1.168.192.in-addr.arpa/IN: NS '1.168.192.in-addr.arpa' has no
address records (A or AAAA)
zone 1.168.192.in-addr.arpa/IN: loaded serial 2008092600
zone _msdcs.aacdft.fja.edu.br/IN: loaded serial 2008081900
_sites.aacdft.fja.edu.br.zone:10: _sites.aacdft.fja.edu.br: bad owner
name (check-names)
_sites.aacdft.fja.edu.br.zone:11: _sites.aacdft.fja.edu.br: bad owner
name (check-names)
zone _sites.aacdft.fja.edu.br/IN: loading from master file
_sites.aacdft.fja.edu.br.zone failed: bad owner name (check-names)
_default/_sites.aacdft.fja.edu.br/IN: bad owner name (check-names)
zone _tcp.aacdft.fja.edu.br/IN: loaded serial 2008081900
zone _udp.aacdft.fja.edu.br/IN: loaded serial 2008081900
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN:
NS '1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa'
has no address records (A or AAAA)
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN:
loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: NS '1.0.0.127.in-addr.arpa' has no
address records (A or AAAA)
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: NS '0.in-addr.arpa' has no address records (A or AAAA)
zone 0.in-addr.arpa/IN: loaded serial 0
[FAILED]

[10] Comentário enviado por elderbezerra em 27/09/2008 - 17:24h

Por favor, alguem poderia me ajudar nestes erros acima?
Obigado

[11] Comentário enviado por jsfernando em 20/05/2009 - 10:09h

Leonardo, qual a possibilidade de maquinas clientes windows, escrever automaticamente no bind do dns, colocando a relação dessas no allow-update? É necessário configurar um DHCP pra isso ou pode ser feito sózinho pelas clientes e o bind (DNS) ?

[12] Comentário enviado por renanmvc em 02/08/2012 - 16:21h

Poxa cara... está tudo legal, parabéns um ótimo trabalho!!
MAS eu queria toda essa configuração PARA O DEBIAN... tem como VC MI AJUDAR?
se puder agradeço desde já!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts