Laboratório de Troubleshooting: Configure public and private DNS zones
Cenários de Diagnóstico
Cenário 1 — Causa Raiz
Uma equipe reporta que VMs recém-criadas na VNet-Prod não estão sendo registradas automaticamente na zona DNS privada srv.interno.azure. O ambiente foi configurado há três semanas e funcionava corretamente até dois dias atrás, quando um novo grupo de VMs foi adicionado.
O administrador verifica o estado atual da zona e da vinculação:
# Saída do comando: az network private-dns link vnet list
# --zone-name srv.interno.azure --resource-group rg-dns
Name VirtualNetwork RegistrationEnabled ProvisioningState
---------------- ---------------- --------------------- ---------------
link-prod VNet-Prod False Succeeded
link-dev VNet-Dev True Succeeded
Informações adicionais coletadas pela equipe:
- As VMs antigas da
VNet-Prodaparecem normalmente na zona - O NSG da subnet das novas VMs bloqueia a porta 53 UDP outbound
- As novas VMs recebem IP via DHCP sem problemas
- A
VNet-Devtem auto-registro ativo e funciona corretamente
Qual é a causa raiz da falha no registro automático das novas VMs?
A. O NSG está bloqueando as consultas DNS na porta 53 UDP, impedindo que a plataforma registre os nomes
B. O limite de registros automáticos por zona privada foi atingido com a adição do novo grupo de VMs
C. O auto-registro está desabilitado na vinculação da VNet-Prod, portanto nenhuma VM nova dessa VNet será registrada automaticamente
D. A zona srv.interno.azure está em estado de provisionamento incompleto, impedindo novos registros
Cenário 2 — Decisão de Ação
Um engenheiro de rede identificou que a resolução de nomes do domínio pagamentos.contoso.com está falhando para servidores on-premises. A causa já foi diagnosticada: o conditional forwarder no DNS on-premises aponta para 168.63.129.16, que não é acessível fora da rede do Azure. A zona DNS privada pagamentos.contoso.com existe no Azure e está corretamente vinculada à VNet de produção.
Contexto operacional:
- O ambiente on-premises é conectado ao Azure via ExpressRoute com peering privado ativo
- Um Azure DNS Private Resolver já está provisionado em uma subnet da VNet de produção, com um inbound endpoint no IP
10.10.5.4 - A janela de manutenção programada começa em 40 minutos
- Alterar registros no DNS on-premises requer aprovação de change request, que já foi emitida para esta janela
Qual é a ação correta a tomar agora?
A. Criar um registro NS na zona pública contoso.com delegando pagamentos.contoso.com para os nameservers do Azure DNS
B. Atualizar o conditional forwarder no DNS on-premises para apontar para 10.10.5.4 em vez de 168.63.129.16
C. Reconfigurar o inbound endpoint do DNS Private Resolver para usar o IP 168.63.129.16 diretamente
D. Criar um novo link de VNet na zona privada com auto-registro habilitado para cobrir o tráfego on-premises
Cenário 3 — Causa Raiz
Uma aplicação multi-região usa duas VNets: VNet-EastUS e VNet-WestEU. Ambas estão vinculadas à zona DNS privada app.plataforma.azure. O auto-registro está habilitado nas duas vinculações. VMs na VNet-EastUS resolvem nomes de VMs na VNet-WestEU sem problemas.
A equipe reporta que uma VM específica, cache-01, criada na VNet-EastUS, não pode ser resolvida por nenhuma das duas VNets. O administrador consulta a zona:
# az network private-dns record-set list \
# --zone-name app.plataforma.azure \
# --resource-group rg-dns-global \
# --query "[].{Name:name, Type:type}" -o table
Name Type
---------------- ------
vm-app-01 A
vm-app-02 A
vm-db-01 A
cache-01 A
O administrador também verifica:
# nslookup cache-01.app.plataforma.azure
# Executado de vm-app-01 (VNet-EastUS)
Server: 168.63.129.16
Address: 168.63.129.16
** server can't find cache-01.app.plataforma.azure: NXDOMAIN
Informações adicionais:
cache-01tem IP privado10.1.4.22e está em execução- A VM
cache-01foi criada a partir de uma imagem customizada com DNS estático configurado na NIC, apontando para10.1.0.5(servidor DNS interno legado) - O servidor
10.1.0.5não encaminha consultas para168.63.129.16 - Peering entre
VNet-EastUSeVNet-WestEUestá ativo
Qual é a causa raiz do problema?
A. O peering entre as VNets não propaga registros DNS de zonas privadas; é necessário um link separado por VNet
B. O registro A de cache-01 existe na zona, mas a VM não responde a consultas porque o servidor DNS estático configurado na NIC impede que a plataforma do Azure registre o IP correto, gerando um registro com IP inconsistente ou vazio
C. A NIC de cache-01 tem DNS estático apontando para um servidor que não encaminha para 168.63.129.16, fazendo com que a própria VM não consiga resolver nomes, mas o registro dela na zona existe e está correto
D. O auto-registro criou o registro de cache-01 na zona, mas como a VM usa DNS estático na NIC, o Azure não conseguiu registrar o IP correto, resultando em um registro A com valor inválido ou ausente
Cenário 4 — Sequência de Diagnóstico
Um administrador recebe o seguinte relato: "VMs na VNet-Shared pararam de resolver nomes do domínio interno.corp após uma reorganização de recursos feita ontem."
O administrador tem acesso ao portal do Azure e às VMs. Os passos de investigação disponíveis são:
- Verificar se a zona DNS privada
interno.corpainda existe no resource group correto - Executar
nslookup interno.corpa partir de uma VM afetada e registrar a resposta do servidor DNS - Confirmar se a
VNet-Sharedainda aparece na lista de VNet links da zonainterno.corp - Verificar se as configurações de DNS da
VNet-Sharedforam alteradas para um servidor customizado durante a reorganização - Testar resolução de um nome externo como
microsoft.coma partir da VM afetada
Qual é a sequência correta de diagnóstico?
A. 1 → 3 → 4 → 2 → 5
B. 2 → 5 → 1 → 3 → 4
C. 4 → 1 → 3 → 2 → 5
D. 5 → 2 → 1 → 3 → 4
Gabarito e Explicações
Gabarito — Cenário 1
Resposta: C
A saída do comando é a pista decisiva: RegistrationEnabled: False na vinculação link-prod. O auto-registro desabilitado significa que a plataforma do Azure não criará automaticamente registros A/AAAA para VMs dessa VNet, independentemente de quantas VMs sejam adicionadas. As VMs antigas aparecem na zona porque foram registradas quando a vinculação ainda tinha auto-registro ativo, ou foram inseridas manualmente.
O NSG bloqueando a porta 53 é a informação irrelevante incluída propositalmente. O registro automático de VMs em zonas DNS privadas é feito pela plataforma do Azure internamente, sem depender de tráfego DNS originado da VM. Bloquear a porta 53 impede que a VM resolva nomes, mas não impede que o Azure registre o nome dela.
A alternativa B é um distrator plausível: existe um limite de 100 VNets com auto-registro por zona, mas o limite relevante aqui é de registros por zona (250.000), não de VNets. Além disso, a saída do comando mostra claramente a causa. O distrator mais perigoso seria A: agir removendo o NSG resolveria um problema diferente (resolução pela VM), deixando o problema real intocado.
Gabarito — Cenário 2
Resposta: B
A causa já está diagnosticada e a solução técnica correta é bem conhecida: o conditional forwarder on-premises deve apontar para o inbound endpoint do DNS Private Resolver, que é o único componente acessível via ExpressRoute a partir da rede on-premises. O IP 10.10.5.4 já está disponível e provisionado, a mudança já possui aprovação de change request e a janela de manutenção está ativa. Todas as restrições operacionais estão satisfeitas para essa ação.
A alternativa A é tecnicamente incorreta para este cenário: criar um registro NS em zona pública não resolve nomes de uma zona DNS privada para clientes on-premises. A alternativa C é impossível: 168.63.129.16 é um IP virtual da plataforma, não configurável em um recurso. A alternativa D confunde o propósito do VNet link (resolução dentro do Azure) com a necessidade de forwarder para origem on-premises, e ainda assim não resolveria o problema porque o link não expõe um endpoint acessível externamente.
Gabarito — Cenário 3
Resposta: D
O registro cache-01 aparece na zona, mas o nslookup retorna NXDOMAIN. Isso indica que o registro existe no plano de controle da zona, mas o conteúdo do registro A está vazio ou contém um valor que o resolvedor não consegue retornar como válido. A causa é que o auto-registro tenta capturar o IP da NIC via plataforma, mas quando a NIC tem DNS estático configurado para um servidor externo (10.1.0.5), o processo de registro pode não conseguir associar o IP correto à entrada, resultando em um registro malformado ou sem valor de IP associado.
A alternativa C é o distrator mais sofisticado e representa o erro de raciocínio mais comum: confundir o impacto do DNS estático na resolução feita pela própria VM com o impacto no registro dela na zona. São dois mecanismos independentes. O fato de o servidor 10.1.0.5 não encaminhar para 168.63.129.16 explica por que a cache-01 não consegue resolver outros nomes, mas não explica por que outras VMs não conseguem resolver cache-01.
A informação sobre o peering ativo entre VNets é irrelevante para o diagnóstico: o peering é necessário para tráfego de dados, não para resolução DNS via zona privada compartilhada. Agir com base na alternativa A e criar links adicionais não resolveria o problema e adicionaria complexidade desnecessária.
Gabarito — Cenário 4
Resposta: B
A sequência correta é: 2 → 5 → 1 → 3 → 4.
O raciocínio diagnóstico correto parte do sintoma observável e vai eliminando hipóteses progressivamente:
Passo 2 confirma o que exatamente está falhando e qual servidor DNS a VM está consultando. Isso diferencia entre "a zona não existe mais" e "a VNet não está mais vinculada" e "o DNS da VNet foi alterado".
Passo 5 testa se o problema é específico da zona privada ou se o DNS como um todo está quebrado na VM. Se microsoft.com resolve, o DNS básico funciona e o problema é na zona privada. Se não resolve, o DNS da VNet foi redirecionado para um servidor não funcional.
Passo 1 verifica a existência da zona, confirmando se o recurso sobreviveu à reorganização.
Passo 3 verifica se o link da VNet com a zona ainda existe, o que seria destruído se a zona foi movida entre resource groups ou se o link foi deletado durante a reorganização.
Passo 4 confirma se a configuração de DNS da VNet foi alterada, o que seria a causa caso todos os passos anteriores mostrassem estado saudável.
A sequência A começa pela existência da zona antes de saber o que exatamente está falhando, o que é ineficiente. A sequência C começa pelo passo mais operacionalmente custoso antes de qualquer triagem. A sequência D começa por um teste de DNS externo sem primeiro capturar o sintoma específico com nslookup.
Árvore de Troubleshooting: Configure public and private DNS zones
Legenda:
- Azul escuro: sintoma inicial ou ponto de entrada
- Azul: pergunta de diagnóstico, respondida por observação direta
- Vermelho: causa raiz identificada
- Verde: ação recomendada ou resolução
- Laranja: verificação intermediária antes de aprofundar o diagnóstico
Ao enfrentar um problema real, inicie pelo nó raiz e responda cada pergunta com base no que é diretamente observável: saídas de comandos, estado de recursos no portal, testes de nslookup. Siga o caminho que corresponde ao que você observou, sem pular etapas. Cada nó laranja indica um momento de validação antes de continuar: se o estado intermediário estiver saudável, o problema está em uma camada mais profunda. Os nós vermelhos nomeiam a causa com precisão suficiente para orientar a ação corretiva correspondente no nó verde imediatamente abaixo.