Atualmente estou hospedando um domínio example.com
. Neste domínio existem dois subdomínios dignos de nota, foo.example.com
e bar.example.com
. Os registros DNS para esses subdomínios são configurados da seguinte forma:
foo.example.com
tem um registro 'A' apontando para um determinado IP. Isso funciona como pretendido.bar.example.com
tem um registro 'NS' apontando parafoo.example.com
.
Pelo que entendi, bar.example.com
devo foo.example.com
, portanto, resolver para o mesmo endereço IP, sendo bar.example.com
resolvido via foo.example.com
, como é minha intenção. No entanto bar.example.com
, simplesmente não é acessível, retornando o seguinte do dns.google:
"Status": 2 /* SERVFAIL */
Precisamente como faço para corrigir isso? No momento, estou examinando o arquivo ZONE, mas fui informado de que minha configuração deve funcionar pela maioria dos guias on-line.
Caso seja relevante, o objetivo é explorar o tunelamento DNS.
Não, não é isso que os registros NS fazem. (Em vez disso, é isso que os registros CNAME fariam.)
Os registros NS delegam o tratamento da consulta DNS ao endereço IP de seu destino – a consulta nunca "é resolvida" para esse endereço IP; em vez disso, resulta em uma resposta de 'referência' que faz com que o resolvedor reenvie toda a consulta ao host em
foo.example.com
.Espera-se que esse host execute seu próprio servidor de nomes (BIND, etc.) com seu próprio arquivo de zona enraizado naquele subdomínio e se torne responsável por fornecer o resultado real. (Esses registros NS são exatamente o mesmo mecanismo pelo qual todo o seu domínio foi delegado ao seu servidor.)
É isso que permite que o "túnel DNS" funcione - como o servidor em questão tem total responsabilidade pela compreensão da consulta, não se limita apenas a fazer uma pesquisa no banco de dados; ele também pode aceitar consultas falsas com dados TCP/IP de alguma forma encapsulados nelas.
Você pode ver a resposta de referência provisória enviando a consulta diretamente ao servidor oficial do seu domínio – não haverá nada na seção 'Resposta'; em vez disso, terá uma seção 'Autoridade' não vazia (indicando que é uma referência para algum outro servidor) e o registro A será incluído apenas como uma dica na seção 'Adicional'.
A próxima etapa realizada pelo resolvedor seria então
dig bar.example.com @10.147.18.242
, e o que quer que fosse retornado seria (espero) a resposta final.(Opcionalmente,
+nordflag
envia a consulta com o sinalizador 'RD' não definido, ou seja, "recursão não desejada", para imitar com mais precisão o que um resolvedor faria; embora não seja necessário para obter o resultado acima, torna mais fácil notar certos erros de configuração transformando consultas mal direcionadas em falhas graves.)