Dig retorna "status: RECUSED" para consultas externas?


14

Não consigo entender por que meu DNS não está funcionando corretamente, se eu executar o dig do servidor de nomes, ele funcionará corretamente:

# dig ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> ungl.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24585
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; ANSWER SECTION:
ungl.org.               38400   IN      A       188.165.34.72

;; AUTHORITY SECTION:
ungl.org.               38400   IN      NS      ns.kimsufi.com.
ungl.org.               38400   IN      NS      r29901.ovh.net.

;; ADDITIONAL SECTION:
ns.kimsufi.com.         85529   IN      A       213.186.33.199

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Mar 13 01:04:06 2010
;; MSG SIZE  rcvd: 114

mas quando o executo de outro servidor no mesmo datacenter, recebo:

# dig @87.98.167.208 ungl.org

; <<>> DiG 9.5.1-P2.1 <<>> @87.98.167.208 ungl.org
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 18787
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;ungl.org.                      IN      A

;; Query time: 1 msec
;; SERVER: 87.98.167.208#53(87.98.167.208)
;; WHEN: Sat Mar 13 01:01:35 2010
;; MSG SIZE  rcvd: 26

meu arquivo de zona para este domínio é

$ttl 38400
ungl.org.       IN  SOA r29901.ovh.net. mikey.aol.com. (
                201003121
                10800
                3600
                604800
                38400 )
ungl.org.       IN  NS  r29901.ovh.net.
ungl.org.       IN  NS  ns.kimsufi.com.
ungl.org.       IN  A   188.165.34.72
localhost.      IN  A   127.0.0.1
www             IN  A   188.165.34.72

e o named.conf.options é o padrão:

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

    // If there is a firewall between you and nameservers you want
    // to talk to, you may need to fix the firewall to allow multiple
    // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

    // If your ISP provided one or more IP addresses for stable 
    // nameservers, you probably want to use them as forwarders.  
    // Uncomment the following block, and insert the addresses replacing 
    // the all-0's placeholder.

    // forwarders {
    //  0.0.0.0;
    // };

    auth-nxdomain no;    # conform to RFC1035
    listen-on-v6 { ::1; };
    listen-on { 127.0.0.1; };
    allow-recursion { 127.0.0.1; };
};

named.conf.local:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
// include "/etc/bind/zones.rfc1918";

zone "eugl.eu" {
         type master;
         file "/etc/bind/eugl.eu";
         notify no;
};


zone "ungl.org" {
         type master;
         file "/etc/bind/ungl.org";
         notify no;
};

O servidor está executando o Ubuntu 9.10 e o Bind 9, se alguém puder esclarecer isso para mim, ficaria muito feliz!

obrigado


Como é a seção "opções" da configuração de ligação no servidor que não está se comportando? Por padrão, no ubuntu, acredito que esteja tudo em /etc/bind/named.conf.options #
Cory J

Atualizei a pergunta, ainda não mudei nada nas opções

1
Que tal a definição de zona em named.conf.local?
ktower

Adicionado ao post principal

Respostas:


18

embora eu esteja desenterrando um encadeamento antigo, estou fazendo isso porque esse é um dos resultados mais relevantes ao fazer uma pesquisa no google por "status da consulta recusado".

No meu caso particular, descobri que precisava incluir allow-query { any; };em cada definição de zona no named.conf.


Você é meu anjo salvador! Muito obrigado
codezombie

5

De relance, parece-me que não está configurado para ouvir o resto do mundo devido a isso listen-on { 127.0.0.1; };. Você precisará adicionar o endereço IP apropriado lá.


Eu mudei isso para o endereço IP de internet do servidor (188.165.34.72) e recarregado ligamento mas ainda estou recebendo a mesma mensagem recusou

1
Existe um firewall local nessa máquina? Pode ser necessário abrir as portas (53 TCP e UDP).
John Gardeniers 13/03/10

A URL parece estar funcionando agora, mas ainda mostra o mesmo status recusado do meu outro servidor.

4

Eu faço a mesma coisa, mas coloquei a opção allow-query em named.conf.options


1

NOERROR quando não é acompanhado por um registro de recurso (RR) significa que não existe tal registro; portanto, quando você obtém uma resposta NOERROR e nenhum 'registro' ao definir "versão" como "nenhum", está funcionando conforme o esperado.

Há também uma allow-querydeclaração de configuração com o BIND9, no entanto, acho que o padrão é permitir consultas de qualquer lugar.


1

Eu tive exatamente o mesmo problema (cavar status NOERROR localmente, cavar status REFUSED de fora) e a solução estava alterando os clientes de correspondência de "localhost" (que é o padrão para a instalação de ligação) para "any" (mais tarde descubra qual é o IP exato do meu provedor de nomes de domínio e restrinja-o a esse IP específico por razões de segurança). Além disso, mudei o nome da exibição de local_something para o padrão. O nome realmente não importa.

view default {
        match-clients      { any; };
        match-destinations { any; };
        include "/etc/named.rfc1912.zones";
};

Esse foi realmente o problema com esse negócio de "status de escavação recusado". Logo após alterar o parâmetro match-clients, minhas consultas dig@12.34.56.78 mydomain.com começaram a ser resolvidas com o status NOERROR, e o provedor de nomes de domínio (godaddy) imediatamente colocou em cache o registro do servidor de nomes. Como meus arquivos de zona já estavam configurados corretamente, o nome de domínio tornou-se instantaneamente visível na internet.

Eu estava batendo minha cabeça contra a parede por um bom tempo para resolver este, no entanto.


1
Você poderia esclarecer qual arquivo em qual computador você modificou?
Alexey

1

Eu tive que inserir uma referência explícita para a rede que desejava permitir recursão. A especificação de "any" não ajudou. Por padrão (Umbutu Server 15), não havia entrada para isso no /etc/bind/named.conf.optionsarquivo.

recursion yes;  << needed to add this but did not resolve greater prob
allow-recursion { any; }; << this did not work
allow-recursion { 10.1.0.0/16; }; << this did the trick

0

Tem certeza de que está enviando as consultas para o lugar certo?

Seu servidor em 188.165.34.72 ( r29901.ovh.net) está executando o BIND 9.5.1-P2.1 - ele responde a uma consulta dig @ip version.bind ch txtconforme o esperado com essa sequência de respostas.

No entanto, o endereço IP que você citou acima retorna um NOTIMPLerro, mesmo que não haja nada no seu arquivo de configuração entre os *.bindpseudo-registros e o BIND requer configuração explícita para desativá-los.


NOTIMPL não está implementado? Por que ter recursos que não são implementados ativados por padrão?

Se for BIND, existe uma opção chamada "version" que diz para enviar um valor especificado pelo usuário para essa consulta ou "none" para desativar o recurso. Se a opção não for especificada, ela retornará o número da versão real. Você não citou essa opção, o que me faz suspeitar que você não está falando com o servidor certo. Veja isc.org/software/bind/documentation/arm95
Alnitak

Eu verifiquei mais - na minha caixa do MacOSX com o bind 9.6.0, a definição de "version" para "none" retorna NOERRORe não o NOTIMPLerro que estou vendo nesse IP.
Alnitak

0

Porque você permite a recursão apenas da sua máquina local.

Se você deseja permitir adicionar o endereço IP apropriado e precisar alterar o valor de escuta em qualquer adaptador da sua máquina local ou colocar o endereço IP da interface da máquina local:

listen-on { any;} or x.x.x.x;
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.