Pular para o conteúdo

BIND 9 - Configuração no Debian e derivados

Dica publicada em Linux / Configuração
André Canhadas andrecanhadas
Hits: 37.300 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalando o Cinnamon no Debian Wheezy

Bloquear Facebook e Youtube por HTTPS

Personalizando o logo no squid3

Compiz no Debian com XFCE4, LXDE, Gnome2 ou MATE (Squeeze e Wheezy)

Instalador automático do Java JRE Oracle

Solução do atalho "Destinatário do E-mail" no Thunar - Xubuntu 12.10

Desativar TurboCache no Linux

Configurando DVD-ROM no KUbuntu 7.04

O que fazer após instalar Fedora 34

Debian Etch 4.0 - Grub gráfico - configuração

#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 ???
#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

Entre na sua conta para comentar.