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.
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.
[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.
[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...
[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;
};
};
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";
[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]
[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á!