Não consigo resolver o domínio, mas pode cavar

1

Eu tenho um bug interessante no meu servidor de nomes mestre. Estou executando o Fedora Linux, com o bind 9.3.4. O servidor está planejado para ser substituído, já que é bem antigo, mas eu tenho que fazer isso funcionar enquanto isso. O problema é que o meu servidor de nomes não pode resolver digbypines.ca. Os servidores de nomes oficiais para digbypines.ca são 204.15.193.162 e 204.15.193.163. Meu servidor de nomes está em 24.222.7.12.

Um erro de firewall (em que as conexões de DNS de saída eram SNATted para a porta 53) tornava impossível entrar em contato com os servidores de nomes para digbypines.ca. Então, se eu fosse para ssh no meu servidor de nomes em 24.222.7.12 e execute

dig @204.15.193.162 digbypines.ca 

gostaria de receber

;; connection timed out; no servers could be reached

Se eu tentasse telnet para 204.15.193.162 na porta 53, eu também teria um tempo limite. Sendo esse o caso, eu removi a regra de firewall SNAT, e agora os comandos acima funcionam como esperado. Mas aqui está a parte interessante.

Por alguma razão, não consigo convencer o bind a falar com os servidores de nomes do digbypine! Mesmo depois de consertar o SNATting, não funcionará.

A execução de 'dig + trace digbypines.ca' mostra que obterei os registros NS, mas se recusa a resolvê-los:

dig +trace digbypines.ca

; <<>> DiG 9.3.4-P1 <<>> +trace digbypines.ca ;; global options: printcmd . 516709 IN NS
i.root-servers.net. . 516709 IN NS
j.root-servers.net. . 516709 IN NS
k.root-servers.net. . 516709 IN NS
l.root-servers.net. . 516709 IN NS
m.root-servers.net. . 516709 IN NS
a.root-servers.net. . 516709 IN NS
b.root-servers.net. . 516709 IN NS
c.root-servers.net. . 516709 IN NS
d.root-servers.net. . 516709 IN NS
e.root-servers.net. . 516709 IN NS
f.root-servers.net. . 516709 IN NS
g.root-servers.net. . 516709 IN NS
h.root-servers.net. ;; Received 408 bytes from 192.168.0.12#53(192.168.0.12) in 1 ms

ca. 172800 IN NS l.ca-servers.ca. ca.
172800 IN NS sns-pb.isc.org. ca. 172800 IN NS m.ca-servers.ca. ca. 172800 IN
NS c.ca-servers.ca. ca. 172800 IN NS
a.ca-servers.ca. ca. 172800 IN NS
j.ca-servers.ca. ca. 172800 IN NS
f.ca-servers.ca. ca. 172800 IN NS
k.ca-servers.ca. ca. 172800 IN NS
z.ca-servers.ca. ca. 172800 IN NS
e.ca-servers.ca. ;; Received 430 bytes from 192.36.148.17#53(i.root-servers.net) in 120 ms

digbypines.ca. 86400 IN NS ns2.extremehosting.ca. digbypines.ca. 86400 IN NS ns1.extremehosting.ca. ;; Received 114 bytes from 156.154.101.4#53(l.ca-servers.ca) in 31 ms

dig: couldn't get address for 'ns2.extremehosting.ca': failure

Estou um pouco preso. Liguei para o grupo de suporte deles e eles me garantiram que meus IPs não estão bloqueados. Eu realmente não tenho certeza de como eu posso cavar em seus servidores de nomes na linha de comando, ainda não consigo conduzir a mesma operação através de bind.

Eu também tentei reiniciar o bind, a rede e a execução do 'rndc flush'. Sem amor.

Eu posso resolver digbypines.ca e, de fato, ns2.extremehosting.ca e ns1.extremehosting.ca de casa, então não tenho certeza do que está acontecendo.

Eu também posso executar dig @204.15.193.163 ns2.extremehosting.ca com sucesso a partir da linha de comando do meu servidor de nomes.

    
por Keith 31.08.2011 / 22:29

2 respostas

3

Bem, resolvi. Acontece que o administrador de sistema antes de mim forçou todas as consultas de saída para a porta 53. Os servidores de nome do extremehosting.ca parecem bloquear conexões de entrada na porta 53, que se originam na porta 53, e como tal eu não consegui me comunicar com elas.

Ao remover essas linhas do named.conf:

query-source    port 53;
query-source-v6 port 53;

e confirmando que o firewall não causaria mais problemas, a resolução de nomes funcionará novamente.

Além disso, encontrei este artigo que ajuda a determinar a origem do seu resolvedor de nome comportamento -port para ser extremamente útil. O efeito colateral de resolver esse problema de DNS é que eu também pluguei uma possível vulnerabilidade de envenenamento de cache de nomes.

Obrigado a todos que comentaram.

    
por 23.09.2011 / 15:42
0

Hmm, o que acontece quando você usa o nslookup para conversar com seus servidores? IE:

$ nslookup
>server 204.15.193.162
Default server: 204.15.193.162
Address: 204.15.193.162#53
> www.digbypines.ca
Server:     204.15.193.162
Address:    204.15.193.162#53

www.digbypines.ca   canonical name = digbypines.ca.
Name:   digbypines.ca
Address: 204.15.193.162
> 

Isso deve informar se é um problema de BIND ou de firewall.

    
por 19.09.2011 / 18:45