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

Por: Leonardo Langhi em 26/08/2008


Preparação do servidor



A boa implantação de um servidor começa em sua especificação, por isso é fundamental que escolha a distribuição Linux que mais lhe agrade em termos de usabilidade e segurança. No meu caso utilizo o Linux Fedora Core 8, que será o exemplo para os arquivos de configurações, além do Bind versão 9.5. Naturalmente os mesmos arquivos podem ser utilizados para outras distribuições, com ressalva a pequenas diferenças, principalmente em sistemas Debian Like (Debian, Ubuntu, Kurumin etc).

A seguir serão descritos os passos para a instalação do servidor DDNS, sendo:
  • Instale o Fedora Core 8 em seu servidor (não abordarei a instalação do sistema base neste artigo);
  • Instale os pacotes necessários para o Bind. No terminal, acesse como root (use o "sudo" ou "su - root") e instale os pacotes utilizando o YUM, lembrando que terá que ter acesso à internet ou repositório local configurado.

# yum -y install bind- utils
# yum -y install bind-libs
# yum -y install bind
# yum -y install bind-chroot


Caso o seu servidor não tenha acesso pela internet ou o proxy bloqueie a navegação HTTP (bem pensado na segurança do servidor), procure no diretório RPMS do DVD-Rom do Fedora estes pacotes e os copie para pasta /root. No terminal digite:

# cd ~
# rpm -ivh bind-utils*.rpm
# rpm -ivh bind_libs*.rpm
# rpm -ivh bind*.rpm
# rpm -ivh bind-chroot*.rpm


Lembre-se que sera necessário digitar o nome complete do arquivo RPM.

Teste a instalação do Bind utilizando o comando:

# service named status

Caso retorne serviço desconhecido, verifique no diretório /etc/init.d outro nome que possa ter sido dado ao serviço do Bind. Caso seja dado qualquer status, o serviço está instalado. Pare então o serviço do Bind usando:

# service bind stop

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

Criando um servidor de impressão para residências e pequenas empresas com Linux

Bind – Servidor DNS no OpenSOLARIS

Um olhar sobre o Portage-tools - Parte I

Customizando e atualizando o Slax

eDonkey para Linux

  
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