BIND 9 - Configuração no Debian e derivados

Publicado por André Canhadas em 28/08/2012

[ Hits: 36.342 ]

 


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

Zimbra - erro de certificado no Outlook

Personalizando o logo no squid3

Sons simultâneos no Debian Squeeze

Instalador automático do Java JRE Oracle

Bloquear TeamViewer e LogMeIn

Leitura recomendada

Configurando teclado em notebook Lenovo T400

Habilitando SSLv3 em servidores Linux (Red Hat)

Banner no SSH

Como criar repositório local com RHEL7

GRUB na instalação do Slackware

  

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