Servidor DNS do Windows 2016: não está usando o encaminhador ao resolver recursivamente o CNAME na zona delegada?

2

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.

    
por rmc47 07.04.2017 / 13:55

1 resposta

0

Como parece que algumas pessoas estão atingindo isso, nossa solução alternativa:

Nós rodamos um pequeno Ubuntu VM rodando o ISC Bind. Isso atua como o resolvedor recursivo e é usado como servidor DNS por todos os PCs clientes. Que tem encaminhadores configurados para os servidores DNS do ISP para zonas "externas" e zonas escravas para o domínio do AD:

zone "internal.domain" { type forward; forward only; forwarders { domain.controller.ip; }; };

Dessa forma, o servidor DNS do Windows age apenas como um resolvedor autoritativo, e a resolução recursiva é tratada pelo Bind.

(Se você quer alta disponibilidade, você pode usar o VRRP ou similar para agrupar um par de resolvedores recursivos - nós executamos nosso primário em nossa infraestrutura de virtualização regular, e secundário em um Raspberry Pi, porque nós podemos ...)

    
por 23.04.2017 / 14:47