Eu não acho que estou ficando louco aqui ...
Nossos controladores de domínio do AD (Server 2016) são os servidores DNS de foo.example
. Dentro disso, temos uma delegação, r53.foo.example
, que aponta para os servidores de nomes dessa zona no Amazon Route 53.
Um dos registros na zona do Route 53 é um CNAME para um nome DNS público da instância do EC2, por exemplo
bar.r53.foo.example IN A ec2-1-2-3-4.us-west-1.compute.amazonaws.com.
O servidor DNS do Windows está configurado para usar os servidores DNS públicos do Google como encaminhadores, e as dicas de raiz estão desativadas. A recursão está ativada.
De um cliente, se eu consultar ec2-1-2-3-4.us-west-1.compute.amazonaws.com
, ele será resolvido corretamente. Em seguida, limpe todos os caches de DNS.
Se eu consultar agora bar.r53.foo.example
, o servidor DNS do Windows consultará o servidor DNS da zona delegada (devido à delegação) e obterá o resultado CNAME, mas esse servidor upstream não resolverá recursivamente o registro A.
O Windows envia uma consulta de registro A para o servidor de nomes da zona delegada - e não o NS para us-west-1.compute.amazonaws.com
, e recebe uma resposta RECUSADA.
Eu esperava que ele usasse os encaminhadores configurados (porque ec2-1-2-3-4.us-west-1.compute.amazonaws.com
não está em uma zona que hospeda autoritativamente nem uma zona delegada), ou para pelo menos resolver recursivamente usando o NS para %código%. Em vez disso, deixa os clientes sem uma resolução completa.
Se o registro us-west-1.compute.amazonaws.com
já estiver no cache do servidor, a consulta do cliente será resolvida completamente, mas obviamente isso não é garantido.
Isso cheira a um bug, mas talvez eu esteja perdendo alguma coisa?
Editar para adicionar: isso só é verdade no servidor DNS do Servidor 2016. A mesma configuração em 2012 R2 fornece o comportamento esperado.