DNS Cache Interno [RESOLVIDO]

1. DNS Cache Interno [RESOLVIDO]

EduardoAlvarenga
ealvarenga_f

(usa Debian)

Enviado em 04/04/2014 - 18:54h

boa tarde pessoal,

seguinte, sempre configurei serviço DNS com o BIND, mas no resolv.conf, sempre inseri a linha abaixo:
domain dominio.local
nameserver ipaddressEthX
nameserver ipaddressDNSeXterno

Quero retirar o ipaddressDNSeXterno, para fazer o meu DNS resolver os nomes internos e quando precisar resolver outros nomes, procurar para o BIND, e através do allow-recursion ou forwarders, resolver nomes com ajudade de DNS externo; porém não estou conseguindo resolver nome externo, mas somente interno.
Se volto o ipaddressDNSeXterno, ele volta a resolver dominio externo novamente, mas não quero assim.

Segue minha configuração:

OS: Debian 7.4
Kernel: 3.2.54-2
Bind9: 9.8.4

Segue abaixo todos os arquivos de configuração utilizado

#cat /etc/resolv.conf
domain empresa.local
nameserver 10.1.1.8

# cat /etc/host.conf
order hosts,bind
multi on

# cat /etc/hosts
127.0.0.1 localhost
10.1.1.8 hostfw.empresa.local hostfw

# cat named.conf
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

# cat named.conf.options
options {
directory "/var/cache/bind";

auth-nxdomain no; # conform to RFC1035
//listen-on-v6 { any; };

listen-on {127.0.0.1; 10.1.1.8; }; //Responde nestes IPs
allow-recursion {200.255.255.73; 20.255.255.66; 8.8.8.8; }; //Repassa para outros DNS
allow-query {127.0.0.1; 10.1.1.0/24; }; //Rede que pode pesquisar neste DNS
forwarders {10.1.1.8; 8.8.8.8; 200.160.0.5; 200.255.243.234; 200.19.119.99; }; //DNS FAPESP
//fetch-glue no; // Indica tipo de transferencia de arquivos
dnssec-validation auto;

};

# cat named.conf.local
zone "empresa.local" IN {
type master;
file "/etc/bind/empresa.local.zone";
};

zone "1.1.10.in-addr.arpa" IN {
type master;
file "/etc/bind/empresa.local.rev";
};

# cat empresa.local.zone
$TTL 86400
@ IN SOA ns1.empresa.local. root.empresa.local. (
0404201401 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
@ IN NS ns1.empresa.local.
@ IN MX 5 mx.empresa.local.
ns1 IN A 10.1.1.8
www IN A 10.1.1.8

# cat transmino.local.rev
$TTL 86400
@ IN SOA ns1.empresa.local. root.empresa.local. (
0404201401; Serial
604800; Refresh
86400; Retry
2419200; Expire
86400 ); Negative Cache TTL
@ IN NS empresa.local.
8 IN PTR empresa.local.
8 IN PTR www.empresa.local.


Testes de configuração do DNS
# host -t ns empresa.local
empresa.local name server ns1.empresa.local.

# host -t mx empresa.local
empresa.local mail is handled by 5 mx.empresa.local.

# host www.empresa.local
www.empresa.local has address 10.1.1.8

# host 10.1.1.8
8.1.1.10.in-addr.arpa domain name pointer empresa.local.
8.1.1.10.in-addr.arpa domain name pointer www.empresa.local.

# named-checkzone empresa.local /etc/bind/empresa.local.zone
zone empresa.local/IN: empresa.local/MX 'mx.empresa.local' has no address records (A or AAAA)
zone empresa.local/IN: loaded serial 404201401
OK

# named-checkzone 1.1.10.in-addr.arpa /etc/bind/empresa.local.rev
zone 1.1.10.in-addr.arpa/IN: loaded serial 404201401
OK

Aparantemente as configuração DNS Zona e Zona Reversa estão configurados corretamente. Falta apenas fazer a consulta ser feita na sequencia HOSTS e depois para o BIND, e o BIND não conseguir resolver localmente, então o BIND repasse aos parâmetros dele, que são ALLOW-RECURSION ou FORWARDERS, para consultar os outros DNS autorizados. A não ser que não tem como assim, mas somente através do RESOLV.CONF tendo IPADDRESS de DNS PUBLICOS.

Qualquer dica e muito importante e será sempre bem vindo.


  


2. Re: DNS Cache Interno [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 05/04/2014 - 00:40h

O erro é que esta usando seu IP no forwarder e na primeira posição apenas remova ele e reinicie o bind:

forwarders {8.8.8.8; 200.160.0.5; 200.255.243.234; 200.19.119.99; };



3. Re: DNS Cache Interno [RESOLVIDO]

EduardoAlvarenga
ealvarenga_f

(usa Debian)

Enviado em 07/04/2014 - 11:00h

Caro colega,

Fiz conforme me indicou, ficou assim:

options {
directory "/var/cache/bind";

auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };

listen-on {127.0.0.1; 10.1.1.8; }; //Responde nestes IPs
allow-recursion {200.255.255.73; 200.255.255.66; }; //DNS EMBRATEL
allow-query {127.0.0.1; 10.1.1.0/24; }; //Rede que pode pesquisar neste DNS
forwarders {200.255.255.73; 200.255.255.66; }; //DNS EMBRATEL
//fetch-glue no; // Indica tipo de transferencia de arquivos
dnssec-validation auto;

};

Não deu certo conforme abaixo
# cat /etc/resolv.conf
domain transmino.local
nameserver 10.1.1.8

Ou

# cat /etc/resolv.conf
domain transmino.local
nameserver 127.0.0.1


Consegue resolver somente assim
# cat /etc/resolv.conf
domain transmino.local
nameserver 200.255.255.73

Ou qualquer outro DNS que esteja respondendo.
Fiz algumas mudança em allow-recursion e forwarders sem sucesso, acabei deixando assim.

Ainda, informe que meu Firewall esta tudo como ACCEPT, ou seja, sem configuração ainda.

Obs: sempre fiz o DNS resolver configurando o resolv.conf com DNS publico válido, mas agora não quero dessa forma para ter mais segurança e de fato ver o funcionamento correto do BIND9.

Aguardo mais contribuição e agradeço as que já vieram.





4. Re: DNS Cache Interno [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 07/04/2014 - 20:42h

Veja no Debian configuro desta forma:
http://www.andrecanhadas.com.br/?p=506


5. Re: DNS Cache Interno [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 08/04/2014 - 08:07h

Verifique se não tem nenhum erro de sintaxe no arquivo de configuração do Bind

É que o arquivo de configuração do Bind, se esquecer um ; já da problema...

Teste os comandos abaixo
#named-checkconf /etc/named.conf

Senão retornar nenhum erro no comando acima, então esta OK, mas verifique os comandos abaixo:

nslookup www.seudominio.com.br ns1.seudominio.com.br

nslookup www.seudominio.com.br

host www.seudominio.com.br

dig seudominio.com.br

dig NS seudominio.com.br

dig www.google.com.br +trace


Com os resultados dos comandos acima será possível saber o que pode estar de errado.

Poste os resultados!




6. Re: DNS Cache Interno [RESOLVIDO]

EduardoAlvarenga
ealvarenga_f

(usa Debian)

Enviado em 09/04/2014 - 13:15h

colega, segue os resultados abaixo de cada evento executado:

1 - Verifiquei sintaxe e retirei praticamente tudo tipo de comentário, deixei apenas o que posso utilizar ainda.
Retorno: Foi limpado o todos os arquivos de configuração, não deixei nenhuma linha de comentário. Tem comentário somente no final de algumas linhas com #
2 - #named-checkconf /etc/named.conf
Retorno: Sem nenhuma mensagem de erro

2 - nslookup www.seudominio.com.br ns1.seudominio.com.br
Retorno:
Server: ns1.seudominio.local
Address: 10.1.1.8#53

Name: www.seudominio.local
Address: 10.1.1.8

3 - nslookup www.seudominio.com.br
Retorno:
;; Got recursion not available from 127.0.0.1, trying next server
Server: 10.1.1.8
Address: 10.1.1.8#53

Name: www.seudominio.local
Address: 10.1.1.8


4 - host www.seudominio.com.br
Retorno:
;; Got recursion not available from 127.0.0.1, trying next server
Server: 10.1.1.8
Address: 10.1.1.8#53

Name: www.seudominio.local
Address: 10.1.1.8


5 - dig seudominio.com.br
Retorno:
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> seudominio.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29199
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;seudominio.local. IN A

;; AUTHORITY SECTION:
seudominio.local. 86400 IN SOA ns1.seudominio.local. root.seudominio.local. 404201401 604800 86400 2419200 86400

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Apr 9 08:51:07 2014
;; MSG SIZE rcvd: 78


6 - dig NS seudominio.com.br
Retorno:
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> NS seudominio.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39528
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;seudominio.local. IN NS

;; ANSWER SECTION:
seudominio.local. 86400 IN NS ns1.seudominio.local.

;; ADDITIONAL SECTION:
ns1.seudominio.local. 86400 IN A 10.1.1.8

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Apr 9 08:51:59 2014
;; MSG SIZE rcvd: 67

7 - dig www.google.com.br +trace
Retorno:
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> www.seudominio.local +trace
;; global options: +cmd
;; Received 17 bytes from 127.0.0.1#53(127.0.0.1) in 2 ms

root@fw002v1:/etc/bind# dig www.google.com.br +trace

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> www.google.com.br +trace
;; global options: +cmd
;; Received 17 bytes from 127.0.0.1#53(127.0.0.1) in 0 ms

Meu /etc/resolv.conf estava conforme abaixo nos testes acima:
# cat /etc/resolv.conf
domain seudominio.local
nameserver 127.0.0.1
nameserver 10.1.1.8


Mudei para conforme abaixo e rodei novamente o ultimo teste da lista.
# cat /etc/resolv.conf
domain seudominio.local
nameserver 10.1.1.8

Rodei o comando abaixo:
dig www.uol.com.br +trace

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> www.uol.com.br +trace
;; global options: +cmd
;; Received 17 bytes from 10.1.1.8#53(10.1.1.8) in 2 ms

Obs: caso precise, posso postar todos os arquivos novamente.

Agradeço aos colegas que estão me ajudando e acredito que vamos conseguir o resultado esperado.


7. Re: DNS Cache Interno [RESOLVIDO]

Ricardo Lino Olonca
ricardoolonca

(usa Debian)

Enviado em 09/04/2014 - 15:53h

No arquivo /etc/bind/named.conf, adicione o seguinte.

zone "." {
type hint;
file "/etc/bind/master/db.root";
};


Isso é padrão no Bind.O arquivo /etc/bind/master/db.root contém os servidores DNS raiz.

$ cat /etc/bind/master/db.root
fpasrv010:~# more /etc/bind/master/db.root
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2f::f
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4

Veja se isso funciona.



8. Re: DNS Cache Interno [RESOLVIDO]

EduardoAlvarenga
ealvarenga_f

(usa Debian)

Enviado em 10/04/2014 - 18:18h

Fiz a mudança e acontece a mesma coisa.

Olhando o LOG com registro do named, aparece o abaixo, estou pesquisando, mas não achei ainda o que pode ser.

LOG
Apr 10 14:13:40 fw002v1 named[31325]: client 10.1.1.8#34364: query (cache) 'www.embratel.com.br/A/IN' denied
Apr 10 14:13:40 fw002v1 named[31325]: client 10.1.1.8#47666: query (cache) 'www.embratel.com.br/A/IN' denied
Apr 10 14:13:40 fw002v1 named[31325]: client 10.1.1.8#40621: query (cache) 'www.embratel.com.br/A/IN' denied
Apr 10 14:13:40 fw002v1 named[31325]: client 10.1.1.8#33047: query (cache) 'www.embratel.com.br/A/IN' denied

Quando faço consulta de: www.seudominio.com.br, não apresenta nenhuma mensagem de erro, mas qualquer outro que ele precisa consultar externamente pelo BIND, ocorre o erro.

Qualquer novidade, posto resultado.


9. Re: DNS Cache Interno [RESOLVIDO]

EduardoAlvarenga
ealvarenga_f

(usa Debian)

Enviado em 11/04/2014 - 16:33h

Pessoal,

desativei a linha abaixo do named.conf.options e agora esta funcionando a pesquisa externa, mesmo no resolve tendo busca apenas para o próprio localhost.

ficou assim:
options {
directory "/var/cache/bind";
auth-nxdomain no; # conform to RFC1035
listen-on port 53 { 127.0.0.1; 10.1.1.8; }; # Responde nestes IPs
#allow-recursion { 200.255.255.73; 200.255.255.66; }; # Repassa para outros DNS Embratel
allow-query { 127.0.0.1; 10.1.1.0/24; }; # Rede que pode pesquisar neste DNS
forwarders { 200.255.255.73; 200.255.255.66; }; # DNS FAPESP
dnssec-validation auto;
};

Como não estava entendendo muito bem esse allow-recursion e estava achando que ele fazia a mesma coisa do forwarders, o comentei e deu certo.

agradeço o apoio de todos que nos ajudou em cada detalhe.

Att
Eduardo Alvarenga






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts