O servidor DNS autoritativo de um domínio deve permitir que a recursividade permita registros CNAME apontando para outros domínios?

5

Então eu tenho um domínio registrado no Dreamhost, que aparentemente não faz buscas recursivas, e um aplicativo no Heroku. Os aplicativos Heroku são sempre configurados para usar um registro CNAME em proxy.heroku.com .

Então:

Authoritative DNS:  ns1.dreamhost.com (for foo.com)

CNAME record:       app.foo.com -> proxy.heroku.com

Resolves to:        Set of A records for EC2 IPs

Foi-me dito por algumas pessoas que tentaram se conectar ao aplicativo por trás de um servidor DNS do Windows Server 2003 que trata o SERVFAIL de maneira diferente e não pode resolver o DNS. Estou tentando entender se isso é realmente um problema de configuração do meu lado ou deles, principalmente, pelo título:

O servidor DNS autoritativo de um domínio deve ser recursivo para permitir registros CNAME apontando para outros domínios?

    
por scotchi 10.02.2010 / 07:12

4 respostas

6

Não, você não precisa recorrer a servidores DNS autoritativos. Dependendo de quem você pergunta, até mesmo é considerado uma boa prática que (se possível) o seu servidor autoritativo não seja recursivo, pois é uma linha de defesa contra alguns ataques DoS. (O documento da Cisco é aqui , por exemplo)

Um exemplo do meu domínio está abaixo (o servidor está executando o Bind 9 e não é recursivo).

; <<>> DiG 9.5.1-P3 <<>> mail.<snip> @<my authoritative master>
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1216
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;mail.<snip>.       IN  A

;; ANSWER SECTION:
mail.<snip>.        86400   IN  CNAME   ghs.google.com.
ghs.google.com.     158151  IN  CNAME   ghs.l.google.com.
ghs.l.google.com.   33    IN  A       74.125.47.121

;; AUTHORITY SECTION:
google.com.     153556  IN  NS  ns4.google.com.
google.com.     153556  IN  NS  ns2.google.com.
google.com.     153556  IN  NS  ns3.google.com.
google.com.     153556  IN  NS  ns1.google.com.

;; ADDITIONAL SECTION:
ns1.google.com.     169823  IN  A   216.239.32.10
ns2.google.com.     169823  IN  A   216.239.34.10
ns3.google.com.     169823  IN  A   216.239.36.10
ns4.google.com.     169823  IN  A   216.239.38.10

Soa mais como uma configuração incorreta do DNS no DNS do Windows 2003 do que qualquer outra coisa.

    
por 10.02.2010 / 08:12
3

Os servidores autoritativos devem NÃO ser configurados para oferecer serviço recursivo. Nem mesmo para contornar um possível bug da Microsoft.

Eu não posso citar o capítulo e o verso no momento (se eu achar que atualizarei). No entanto, essa é a "melhor prática comum" aceita para a operação de servidores DNS.

Se algum resolvedor na sua cadeia de pesquisa estiver retornando SERVFAIL , isso simplesmente indica uma configuração incorreta em algum lugar ou que você está fazendo a pergunta errada (ou a pergunta certa com as flags erradas).

No seu caso, os servidores dreamhost.com retornam SERVFAIL se você solicitar uma resposta recursiva (que por acaso é o que nslookup faz por padrão). Eles têm todo o direito de fazer isso, são servidores autoritativos, não recursivos.

No meu sistema, se eu usar dig e especificamente desabilitar a recursão, obtenho:

% dig +norecurse @ns1.dreamhost.com mail.scotchi.net.

; <<>> DiG 9.6.0-APPLE-P2 <<>> +norec @ns1.dreamhost.com mail.scotchi.net.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54426
;; flags: qr aa; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 13

;; QUESTION SECTION:
;mail.scotchi.net.  IN A

;; ANSWER SECTION:
mail.scotchi.net. 14400 IN CNAME ghs.google.com.
    
por 10.02.2010 / 10:39
2

O Dreamhost usa powerdns (ugh), tão ruim quanto .. mas os resolvedores recursivos do Windows realmente são ruins.

A pergunta é: por que as caixas de DNS do Windows nos sites dos seus clientes estão recebendo o SERVFAIL? Eles não deveriam ser.

E o pôster acima está correto - se você é autoritário em um domínio, você pode tê-lo cname, A, fail, o nome dele, em qualquer domínio / ip (você não precisa saber a cola para o outro domínio).

Talvez seja isso - que os resolvedores de DNS que solicitaram seu registro A (e tenham um cname) continuassem pensando que também saberiam a cola do heroku.com.

Você poderia analisar os servidores de nomes listados para a consulta original para ver o que está acontecendo, mas em um cenário de "pior cenário" você poderia apenas exibir registros 'A' ... seria apenas um P-I-T-A.

Se você quiser publicar um domínio de falha do mundo real, é legal; você também pode PM ou AIM nerdNG: p (adoro encontrar problemas de causa raiz com dns. Ir fig)

    
por 10.02.2010 / 08:54
0

Eu tenho procurado por perguntas "semelhantes" para o meu próprio servidor aqui e parece haver alguns pontos semelhantes (por exemplo, servidores DNS Windows2003 e resposta SERVFAIL)

Se alguém tiver algum link para o "bug potencial da Microsoft" acima, eles se importariam em postar detalhes.

Muito apreciado.

    
por 24.02.2010 / 21:13