BIND 9 - Configuração no Debian e derivados

Publicado por André Canhadas em 28/08/2012

[ Hits: 35.916 ]

 


BIND 9 - Configuração no Debian e derivados



Depois de ver, esta semana, umas duas dúvidas sobre como configurar o BIND 9 no Debian, e a galera dizendo que os tutoriais disponíveis na Internet não funcionam, resolvi criar esta dica sobre instalação e configuração de um servidor DNS básico.

Primeiro passo: instalar o BIND 9

# aptitude install bind9

Ou:

# apt-get install bind9 bind9utils

Segundo passo: configurando o BIND 9

No exemplo, vou usar o Vim, mas pode usar outro, como o Nano se preferir.

O hostname de meu server é: testes.andrecanhadas.com.br

# vim /etc/bind/named.conf

Adicione as linhas alteradas para seu domínio, e o reverso de acordo com sua rede.

No caso da minha: 10.0.0

Server: 127.0.0.1
Address: 127.0.0.1#53

Name: andrecanhadas.com.br
Address: 31.170.160.89


# nslookup testes.andrecanhadas.com.br

A saída, será algo como isto:
Server: 127.0.0.1
Address: 127.0.0.1#53

Name: testes.andrecanhadas.com.br
Address: 127.0.0.1


# dig andrecanhadas.com.br

A saída, será algo como isto:
; <<>> DiG 9.8.1-P1 <<>> andrecanhadas.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9354
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;andrecanhadas.com.br. IN A

;; ANSWER SECTION:
andrecanhadas.com.br. 2592000 IN A 31.170.160.89

;; AUTHORITY SECTION:
andrecanhadas.com.br. 2592000 IN NS testes.andrecanhadas.com.br.

;; ADDITIONAL SECTION:
testes.andrecanhadas.com.br. 2592000 IN A 127.0.0.1

;; Query time: 13 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Aug 25 19:45:51 2012
;; MSG SIZE rcvd: 91


# dig testes.andrecanhadas.com.br

A saída, será algo como isto:
; <<>> DiG 9.8.1-P1 <<>> testes.andrecanhadas.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14265
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;testes.andrecanhadas.com.br. IN A

;; ANSWER SECTION:
testes.andrecanhadas.com.br. 2592000 IN A 127.0.0.1

;; AUTHORITY SECTION:
andrecanhadas.com.br. 2592000 IN NS testes.andrecanhadas.com.br.

;; Query time: 24 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Aug 25 19:46:37 2012
;; MSG SIZE rcvd: 75


Se tiver uma conexão (IP fixo) com a porta 53 aberta, pode testar usando a ferramenta do "registro.br":
* No caso de timeout, verifique o seu firewall ou, se está habilitado o DMZ, ou o forward da porta 53 no roteador.

Previamente postado em: Configurando o Bind9 no Debian « www.andrecanhadas.com.br

Outras dicas deste autor

Instalador automático do Java JRE Oracle

Personalizando o logo no squid3

Sons simultâneos no Debian Squeeze

Bloquear TeamViewer e LogMeIn

Bloquear Facebook e Youtube por HTTPS

Leitura recomendada

Configurando IP estático com rede cabeada no Arch Linux

Til (~) no modo console do Slackware

Instalando codecs para vários formatos no Ubuntu Linux

Portage com GIT no Gentoo

Desabilitando ipv6 no grub2

  

Comentários
[1] Comentário enviado por srmm em 18/10/2012 - 18:42h

No seu caso vc registrou o Dominio ou nao, ou precisa pq no meu fiz diferente e deu erro





1º assim

# vim /etc/bind/named.conf.local


view "externa" {
match-clients { !192.168.107.0/24; !127.0.0.1; any; };
recursion yes;
zone "neguinhocachorrinhodownloads.com.br" {
type master;
file "db.neguinhocachorrinhodownloads.externa";
};

};



view "interna" {
match-clients { 192.168.107.0/24; 127.0.0.1; };
recursion yes;
zone "neguinhocachorrinhodownloads.com.br" {
type master;
file "db.neguinhocachorrinhodownloads.interna";
};

};



# vim /var/cache/bind/db.neguinhocachorrinhodownloads.externa

$TTL 86400 ; default para todos os registros sem TTL
@ IN SOA ns1.neguinhocachorrinhodownloads.com.br. root.neguinhocachorrinhodownloads.com.br. (
2011073101; serial
8h ; refresh
1h ; retry
3d ; expire
3h); negative caching ttl
;
@ IN NS ns1.neguinhocachorrinhodownloads.com.br.
@ IN MX 10 mail.neguinhocachorrinhodownloads.com.br.
@ IN A 192.168.107.1
ns1 IN A 192.168.107.1
www IN A 192.168.107.1
ftp IN CNAME www
mail IN A 192.168.107.1
smtp IN CNAME mail
webmail IN CNAME mail
pop IN CNAME mail
imap IN CNAME mail
ldap IN CNAME ns1




# vim /var/cache/bind/db.neguinhocachorrinhodownloads.interna

$TTL 86400 ; default para todos os registros sem TTL
@ IN SOA ns1.neguinhocachorrinhodownloads.com.br. root.neguinhocachorrinhodownloads.com.br. (
2011073101; serial
8h ; refresh
1h ; retry
3d ; expire
3h); negative caching ttl
;
@ IN NS ns1.neguinhocachorrinhodownloads.com.br.
@ IN MX 10 mail.neguinhocachorrinhodownloads.com.br.
@ IN A 192.168.107.3
ns1 IN A 192.168.107.3
www IN A 192.168.107.3
ftp IN CNAME www
mail IN A 192.168.107.3
smtp IN CNAME mail
webmail IN CNAME mail
pop IN CNAME mail
imap IN CNAME mail
ldap IN CNAME ns1

firewall IN A 192.168.107.1
datacenter IN A 192.168.107.159
dmz IN A 192.168.107.3
storage IN A 192.168.107.4
squeeze IN A 192.168.107.10
winxp IN A 192.168.107.20
win7 IN A 192.168.107.30





# named-checkzone neguinhocachorrinhodownloads.com.br. /var/cache/bind/db.neguinhocachorrinhodownloads.interna

zone neguinhocachorrinhodownloads.com.br/IN: loaded serial 2011073101
OK




# named-checkzone neguinhocachorrinhodownloads.com.br. /var/cache/bind/db.neguinhocachorrinhodownloads.externa

zone neguinhocachorrinhodownloads.com.br/IN: loaded serial 2011073101
OK



# dig -t soa neguinhocachorrinhodownloads.com.br

; <<>> DiG 9.7.3 <<>> -t soa neguinhocachorrinhodownloads.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 12513
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;neguinhocachorrinhodownloads.com.br. IN SOA

;; AUTHORITY SECTION:
com.br. 900 IN SOA a.dns.br. hostmaster.registro.br. 2012101816 1800 900 604800 900

;; Query time: 43 msec
;; SERVER: 200.204.0.10#53(200.204.0.10)
;; WHEN: Thu Oct 18 01:09:46 2012
;; MSG SIZE rcvd: 115


Se tem como me ajudar,eu nao registrei nada, de dominio

[2] Comentário enviado por andrecanhadas em 18/10/2012 - 23:09h

Caro morais moreira:
1 - qual o DNS que esta setado em /etc/resolv.conf (nslookup neguinhocachorrinhodownloads.com.br)
2 - Porque a zona interna e externa se os endereços são os mesmo(todos IP internos)?
3- Criou zona reversa?
4 - Meu domínio é registrado sim mas funcionaria independentemente, basta que as maquinas da sua rede usem o seu IP do bind como dns setado nas placas de rede.
5 - Se precisa de acesso externo precisa registrar o domínio sim pois sera consultado o registro BR e as querys serão encaminhadas para seu IP externo na porta 53 UDP (se estiver cadastrado para o dominio usar seu bind9 como Autoridade do domínio )

De uma lida de como funcionam os views:
http://www.vivaolinux.com.br/artigo/Recurso-de-Views-no-Bind

[3] Comentário enviado por srmm em 18/10/2012 - 23:40h


[2] Comentário enviado por andrecanhadas em 18/10/2012 - 23:09h:

Caro morais moreira:
1 - qual o DNS que esta setado em /etc/resolv.conf (nslookup neguinhocachorrinhodownloads.com.br)
2 - Porque a zona interna e externa se os endereços são os mesmo(todos IP internos)?
3- Criou zona reversa?
4 - Meu domínio é registrado sim mas funcionaria independentemente, basta que as maquinas da sua rede usem o seu IP do bind como dns setado nas placas de rede.
5 - Se precisa de acesso externo precisa registrar o domínio sim pois sera consultado o registro BR e as querys serão encaminhadas para seu IP externo na porta 53 UDP (se estiver cadastrado para o dominio usar seu bind9 como Autoridade do domínio )

De uma lida de como funcionam os views:
http://www.vivaolinux.com.br/artigo/Recurso-de-Views-no-Bind




Mais precisa ter ip fixo, ou nao,

Pq aqui em casa ip normal fica trocando toda vez que eu desligo o modem, e ligo ai muda, modem dsl-500b e uso o roteador para wi-fi é o certo ou nao, ou tira oroteador, edeixa só o modem


[4] Comentário enviado por andrecanhadas em 18/10/2012 - 23:44h


[3] Comentário enviado por morais moreira em 18/10/2012 - 23:40h:


[2] Comentário enviado por andrecanhadas em 18/10/2012 - 23:09h:

Caro morais moreira:
1 - qual o DNS que esta setado em /etc/resolv.conf (nslookup neguinhocachorrinhodownloads.com.br)
2 - Porque a zona interna e externa se os endereços são os mesmo(todos IP internos)?
3- Criou zona reversa?
4 - Meu domínio é registrado sim mas funcionaria independentemente, basta que as maquinas da sua rede usem o seu IP do bind como dns setado nas placas de rede.
5 - Se precisa de acesso externo precisa registrar o domínio sim pois sera consultado o registro BR e as querys serão encaminhadas para seu IP externo na porta 53 UDP (se estiver cadastrado para o dominio usar seu bind9 como Autoridade do domínio )

De uma lida de como funcionam os views:
http://www.vivaolinux.com.br/artigo/Recurso-de-Views-no-Bind



Mais precisa ter ip fixo, ou nao,

Pq aqui em casa ip normal fica trocando toda vez que eu desligo o modem, e ligo ai muda, modem dsl-500b e uso o roteador para wi-fi é o certo ou nao, ou tira oroteador, edeixa só o modem



Sim precisa ser IP fixo tanto se for em uma rede interna como se for numa rede externa

[5] Comentário enviado por srmm em 18/10/2012 - 23:58h


[4] Comentário enviado por andrecanhadas em 18/10/2012 - 23:44h:


[3] Comentário enviado por morais moreira em 18/10/2012 - 23:40h:


[2] Comentário enviado por andrecanhadas em 18/10/2012 - 23:09h:

Caro morais moreira:
1 - qual o DNS que esta setado em /etc/resolv.conf (nslookup neguinhocachorrinhodownloads.com.br)
2 - Porque a zona interna e externa se os endereços são os mesmo(todos IP internos)?
3- Criou zona reversa?
4 - Meu domínio é registrado sim mas funcionaria independentemente, basta que as maquinas da sua rede usem o seu IP do bind como dns setado nas placas de rede.
5 - Se precisa de acesso externo precisa registrar o domínio sim pois sera consultado o registro BR e as querys serão encaminhadas para seu IP externo na porta 53 UDP (se estiver cadastrado para o dominio usar seu bind9 como Autoridade do domínio )

De uma lida de como funcionam os views:
http://www.vivaolinux.com.br/artigo/Recurso-de-Views-no-Bind



Mais precisa ter ip fixo, ou nao,

Pq aqui em casa ip normal fica trocando toda vez que eu desligo o modem, e ligo ai muda, modem dsl-500b e uso o roteador para wi-fi é o certo ou nao, ou tira oroteador, edeixa só o modem



Sim precisa ser IP fixo tanto se for em uma rede interna como se for numa rede externa



Pra eu ter ip fixo tenho que entrar em contato com a operado, a minha é speedy banda larga, ou tem como eu fazer sem ser ter o ip fixo


[6] Comentário enviado por andrecanhadas em 19/10/2012 - 00:07h

Se vai usar esse dns para acesso externo precisa sim e isso é com a operadora de banda larga que geralmente cobra muito mais por uma conexão banda larga com IP fixo.
Usando uma banda larga residencial (sem IP fixo) as portas de 20 a 1024 são bloqueadas para acesso externo o que torna impossível um servidor dns.

Registrando seu dominio (http://registro.br/) pode usar o dns deles para resolver externamente vai sair por uma média de R$ 35,00 por ano muito mais viável que pagar uma banda larga IP fixo, com isso basta configura o seu bind da maneira como passei na dica e deixar ele somente para resolver nomes na sua rede interna.

[7] Comentário enviado por srmm em 19/10/2012 - 00:22h

am entendi, eu comprei um dominio ontem, e to esperando a confirmaçao, comprei na UOLHOST ai eles vao liberar as portas que vc citou a cima ai eu posso configiralos

[8] Comentário enviado por srmm em 19/10/2012 - 00:27h

Entao aqui o Nameserver da operadora vivo speedy é

nameserver 200.204.0.10
nameserver 200.204.0.138

Ai no dominio que eu registrei eles dao outro nameserver


[9] Comentário enviado por srmm em 21/10/2012 - 12:14h

Opa, por gentileza, vc poderia me ajudar, comprei o dominio mais ai, como configurar, a foto esta nesse link aqui, se vc poder me ajudar

http://i47.tinypic.com/2v96l2u.png

[10] Comentário enviado por andrecanhadas em 21/10/2012 - 16:53h


[9] Comentário enviado por morais moreira em 21/10/2012 - 12:14h:

Opa, por gentileza, vc poderia me ajudar, comprei o dominio mais ai, como configurar, a foto esta nesse link aqui, se vc poder me ajudar

http://i47.tinypic.com/2v96l2u.png

O que quer configurar afinal?

[11] Comentário enviado por srmm em 21/10/2012 - 18:55h

Isso aqui

Gerenciar Dns

Dominio: Meu dominio

Tipo: A

Entrada: www.meudominio

Valor: qual valor devo botar

[12] Comentário enviado por error13 em 30/07/2013 - 13:14h

Pessoal ... to com uma duvida cruel eu instalei o dnsutils porem ele me da uma erro no dig por ex, me retorna esse erro " -bash: dig: comando não encontrado " o que eu faco ???

[13] Comentário enviado por error13 em 30/07/2013 - 13:27h

galera, quando eu o uso o DIG ele nao funciona mais o dnsutils ja esta instalado, o que eu faco?? o comando me retorna esse erro "-bash: dig: comando não encontrado"

[14] Comentário enviado por andrecanhadas em 30/07/2013 - 14:06h


[13] Comentário enviado por error13 em 30/07/2013 - 13:27h:

galera, quando eu o uso o DIG ele nao funciona mais o dnsutils ja esta instalado, o que eu faco?? o comando me retorna esse erro "-bash: dig: comando não encontrado"


Instalou o bind9utils?

Se instalou use o comando #sudo (sudo dig dominio.com.br)

[15] Comentário enviado por error13 em 30/07/2013 - 14:09h

olha só

root@server-:~# dpkg -l bind9utils
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Nome Versão Arquitectura Descrição
+++-==============-============-============-=================================
ii bind9utils 1:9.8.4.dfsg i386 Utilities for BIND

e olha agora pra usar o comando dig

root@server-:~# dig -t soa meudom.com.br
-bash: dig: comando não encontrado

a logica é ta instalado tem que funcionar... pois é!!! alguma sugestão ???

[16] Comentário enviado por andrecanhadas em 14/10/2013 - 22:12h

Bom quem tiver problemas com o Debian Wheezy devido aos pacotes não estarem mais no repositórios:
http://www.andrecanhadas.com.br/?p=506

[17] Comentário enviado por btgf em 21/03/2014 - 22:07h

Comigo funcionou internamente.
Quando coloco meu ip fixo ja com as portas liberadas, no resgistro.br diz: dominio desconhecido

[18] Comentário enviado por andrecanhadas em 22/03/2014 - 01:15h


[17] Comentário enviado por btgf em 21/03/2014 - 22:07h:

Comigo funcionou internamente.
Quando coloco meu ip fixo ja com as portas liberadas, no resgistro.br diz: dominio desconhecido


Adicione a linha no named.conf na zona do seu dominio ( allow-query { any; }; ) Ex::

zone "andrecanhadas.com.br" {
allow-query { any; };
type master;
file "/etc/bind/db.andrecanhadas.com.br";
};

E abra a porta 53 UDP no firewall:

iptables -A INPUT -p udp --dport 53 -j ACCEPT

Pra que quiser ver mais exemplos de acesso externo:
http://www.andrecanhadas.com.br/?p=506




[19] Comentário enviado por guilhermetech02 em 19/06/2014 - 02:10h

Olá, agradeço pela ótima dica, ficou super bacana seu trabalho. Mas estou enfrentando um problema.
Eu fiz a configuração conforme seu tutorial, e fiz o teste apenas com a eth1 (redelocal) ativa, todos os testes deram OK. Mas quando ativo a eth0 (internet) e faço os testes, não aparece o ip local, que é o do servidor.
É como se buscar externamente... quando digito host 192.168.1.211 (ip do servidor) dá um retorno: Host 211.1.168.192.in-addr.arpa. not found: 3 NX (DOMAIN)
quando dou o comando host 192.168.1.211 somente com a eth1 ativa, dá o retorno: Host 211.1.168.192.in-addr.arpa domain name pointer "nomedodominio"

[20] Comentário enviado por andrecanhadas em 20/06/2014 - 20:29h


[19] Comentário enviado por guilhermetech02 em 19/06/2014 - 02:10h:

Olá, agradeço pela ótima dica, ficou super bacana seu trabalho. Mas estou enfrentando um problema.
Eu fiz a configuração conforme seu tutorial, e fiz o teste apenas com a eth1 (redelocal) ativa, todos os testes deram OK. Mas quando ativo a eth0 (internet) e faço os testes, não aparece o ip local, que é o do servidor.
É como se buscar externamente... quando digito host 192.168.1.211 (ip do servidor) dá um retorno: Host 211.1.168.192.in-addr.arpa. not found: 3 NX (DOMAIN)
quando dou o comando host 192.168.1.211 somente com a eth1 ativa, dá o retorno: Host 211.1.168.192.in-addr.arpa domain name pointer "nomedodominio"


No named.conf.options adicione a linha acima do listen v6:

listen-on { any; };

Reinicie o bind e veja se funciona (service bind9 restart)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts