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: 102.060 ]

Por: Leonardo Langhi em 26/08/2008


Definições de zonas no DNS



Ainda no named.conf, vamos determinar as zonas de trabalho deste servidor. A primeira zona será a raiz da internet, chamada de ".". Esta é a zona principal e todos os domínios partem dela.

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

Com esta tag informaremos ao Bind que a zona "." está configurada no arquivo "named.ca" e ele não responde a partir daí, ele é slave desta zona (parâmetro HINT). O HINT diz ao Bind quem são os servidores raízes da internet.

Agora vamos ensinar o Bind a responder pelo nosso domínio. Vou voltar ao exemplo do domínio langhi.com.br.

zone "langhi.com.br" IN {
   type master;
   file "langhi.com.br.zone";
   allow-update { pdc; };
};

Com esta tag informaremos ao Bind que a zona "langhi.com.br" está configurada no arquivo "langhi.com.br.zone" e ele responderá por este domínio (parâmetro MASTER) e permitiremos atualizações do servidor "pdc", apelido para 192.168.1.21 (isto é fundamental para o funcionamento do AD). Não se esqueça de apontar na FAPESP o IP do DNS de seu domínio, caso contrário seu DNS responderá na sua intranet porém não na internet.

Todo domínio precisa da resolução reversa, que nada mais é que achar o nome através do IP. Não esqueça que toda nova zona precisa de sua reversa configurada. Neste exemplo a configuração será:

zone "1.168.192.in-addr.arpa" IN {
   type master;
   file "1.168.192.in-addr.arpa.zone";
   allow-update { pdc; };
};

As definições aqui são as mesmas apontadas no exemplo acima. Para o funcionamento do AD, crie as seguintes subzonas:

// DOMÍNIOS NECESSÁRIOS PELO AD

zone "_msdcs.langhi.com.br" IN {
   type master;
   file "_msdcs.langhi.com.br.zone";
   allow-update { pdc; };
};

zone "_sites.langhi.com.br" IN {
   type master;
   file "_sites.langhi.com.br.zone";
   allow-update { pdc; };
};

zone "_tcp.langhi.com.br" IN {
   type master;
   file "_tcp.langhi.com.br.zone";
   allow-update {pdc; };
};

zone "_udp.langhi.com.br" IN {
   type master;
   file "_udp.langhi.com.br.zone";
   allow-update { pdc; };
};

include "/etc/named.rfc1912.zones";

Apenas adicione a linha "include /etc/named.rfc1912.zones" caso sua distribuição a tenha criado.

Pronto, nosso named.conf já está configurado. Agora precisaremos escrever cada um dos arquivos de zona qual citamos nele.

Resumo:
  • Type: master, slave, hint;
  • File: localização do arquivo de zona.

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

Por que mudar de sistema operacional pode ser um bom negócio?

AnyRemote - o poder em suas mãos!

NGINX Open Source com Balanceamento de Carga e Persistência de Sessão

SuSE Linux Enterprise Desktop 10 - O novo desktop Linux da Novell

Blender - Iniciante (parte 1)

  
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:

root@localhost ~]# 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts