Jason forneceu o mecanismo de DNS que funciona em torno do problema que você descreveu, mas ainda não analisamos por que as coisas são feitas dessa maneira.
Digamos que eu possua example.com
e contratei parte do conteúdo do meu site para uma empresa de entrega de conteúdo chamada Contoso . A plataforma deles exige que nós delegemos sub.example.com
a seus servidores de nomes para que eles possam controlar quais respostas serão retornadas.
; SOA and MX omitted from this example
$ORIGIN example.com.
@ IN NS ns1
@ IN NS ns2
; delegate sub.example.com to Contoso's nameservers
sub IN NS ns1.cdn.contoso.com.
sub IN NS ns2.cdn.contoso.com.
; this is ours, not Contoso's
www IN A 198.51.100.1
Como você observou, não especificamos os endereços IP dos servidores de nomes da Contoso. Todos os nossos servidores sabem é dizer à internet "nós não gerenciamos sub.example.com
, pergunte ao Contoso" . Isso é muito importante porque:
- Não somos proprietários da Contoso.com.
- Não podemos esperar que a Contoso coordene uma alteração de seus IPs de servidor de nomes com todos os seus clientes. Isso é exatamente o que teria que acontecer se nosso servidor estivesse fornecendo esses IPs.
Até aí tudo bem. Passa um ano e, sem o conhecimento de nós, a Contoso está alterando os endereços IP de seus servidores de nomes CDN. Como o DNS funciona da maneira como funciona, tudo o que eles precisam fazer é atualizar os registros A
que retornam para ns1.cdn
e ns2.cdn.contoso.com.
.
Isso nos leva a um ponto importante: os registros de cola descritos por Jason existem para lidar com cenários de "galinha e ovo" no DNS, como google.com
dizendo ao mundo que seus servidores de nomes são ns1.google.com
e ns2.google.com
. Você deve nunca criar registros de cola apontando para a infraestrutura que você não possui, a menos que eles existam para resolver um problema como este:
@ IN NS ns1
@ IN NS ns2
; delegate sub.example.com to ns1 and ns2.sub.example.com
sub IN NS ns1.sub
sub IN NS ns2.sub
; provide the IP addresses of ns1 and ns2 so that nameservers
; on the internet can find them.
;
; these IP addresses are owned by Contoso, not us, and they must
; coordinate changes to these IPs with us
ns1.sub IN A 203.0.113.10
ns1.sub IN A 203.1.113.10
Isso evita o cenário "ovo e galinha", mas também faz com que a Contoso coordene todas as mudanças de IP desses servidores de nomes conosco. Isso é muito propenso a riscos e indesejável.