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
Respostas:
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.fonte
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á.fonte
Eu faço a mesma coisa, mas coloquei a opção allow-query em named.conf.options
fonte
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-query
declaração de configuração com o BIND9, no entanto, acho que o padrão é permitir consultas de qualquer lugar.fonte
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.
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 [email protected] 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.
fonte
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.options
arquivo.fonte
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 consultadig @ip version.bind ch txt
conforme o esperado com essa sequência de respostas.No entanto, o endereço IP que você citou acima retorna um
NOTIMPL
erro, mesmo que não haja nada no seu arquivo de configuração entre os*.bind
pseudo-registros e o BIND requer configuração explícita para desativá-los.fonte
NOERROR
e não oNOTIMPL
erro que estou vendo nesse IP.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:
fonte