Dicas sobre a execução do próprio Bind9 resolver?

3

Estou tentando configurar meu próprio servidor DNS, tanto para aprendizado quanto para privacidade. Eu instalei o Bind9 e tentei seguir alguns tutoriais online, assim como o Linux Administration Handbook, mas ainda parece não funcionar. Eu configurei o named.conf para escutar no localhost e configurá-lo para ser recursivo. Eu então configurei o resolv.conf para ter apenas um servidor de nomes que é 127.0.0.1.

Eu então tentei usá-lo na minha área de trabalho e tentei dig nyc.gov, como um site que eu nunca tinha ido antes, eu tenho a seguinte ressonância

 > dig nyc.gov

; <<>> DiG 9.7.0-P1 <<>> nyc.gov
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 54429
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;nyc.gov.           IN  A

;; Query time: 14 msec
;; SERVER: 97.107.138.191#53(97.107.138.191)
;; WHEN: Sun Aug  1 02:07:09 2010
;; MSG SIZE  rcvd: 25

Parece que ele precisa ser recursivo, embora eu tenha configurado o Bind para ser, e sim, eu reiniciei o daemon.

Todas as dicas serão bem-vindas ou quaisquer outros tutoriais sobre o assunto. Eu quero principalmente um servidor DNS alternativo para meus colegas e eu. Obrigado.

    
por Recursion 01.08.2010 / 08:34

3 respostas

2

Se sua ligação estiver ouvindo apenas localhost , você não poderá usá-la de outra máquina. Aqui está um bom artigo sobre o aprendizado de DNS / BIND: FTO: Ch18: Configurando o DNS

    
por 01.08.2010 / 08:42
3

Você tem servidores para encaminhar solicitações para?

Em algum lugar da sua configuração, você deve ter essas linhas como essas, o que permite que o seu servidor passe solicitações que não conhece para servidores que possam saber as respostas:

options {

   // ... various config options ...

   forwarders {
       8.8.8.8;
       8.8.4.4;
   };

   recursion yes;

   // ... various config options ...

}

Substitua 8.8.8.8 e 8.8.4.4 pelos servidores DNS locais do seu provedor (usei o Google como exemplo).

Eu também normalmente limito quais hosts podem usar a recursão, o que você pode realizar com allow-recursion . Se você quer apenas permitir todos os hosts, você pode usar allow-recursion { "any"; };

    
por 01.08.2010 / 09:42
2

Você precisa ativar a recursão para clientes:

allow-recursion { address_match_list };

allow-recursion define uma lista de correspondência que define os endereços IP que podem emitir consultas recursivas ao servidor. Se a resposta à consulta já existir no cache, ela será retornada independentemente dessa declaração. Se não for especificado, todos os hosts poderão fazer consultas recursivas. Esta declaração pode ser usada em uma visão ou em uma cláusula de opções globais.

Se você quiser verificar o que está acontecendo com uma consulta, a melhor maneira de fazer isso é:

dig +trace google.com

...

google.com.             172800  IN      NS      ns1.google.com.
google.com.             172800  IN      NS      ns2.google.com.
google.com.             172800  IN      NS      ns3.google.com.
google.com.             172800  IN      NS      ns4.google.com.
;; Received 164 bytes from 192.42.93.30#53(g.gtld-servers.net) in 181 ms

google.com.             300     IN      A       74.125.87.147
google.com.             300     IN      A       74.125.87.105
google.com.             300     IN      A       74.125.87.106
google.com.             300     IN      A       74.125.87.103
google.com.             300     IN      A       74.125.87.104
google.com.             300     IN      A       74.125.87.99
;; Received 124 bytes from 216.239.38.10#53(ns4.google.com) in 106 ms

Espero que ajude.

    
por 01.08.2010 / 09:56

Tags