Dominando Encaminhadores DNS do AD e Encaminhadores Condicionais

Windows DNS forwarders e condicional forwarders DNS são uma parte importante da sua infraestrutura DNS. Neste tutorial, vamos abordar os AD DNS forwarders e como você pode gerenciá-los em seu ambiente.

Você perceberá que ocasionalmente precisa adicionar ou gerenciar esses endereços de encaminhador. Algumas dessas alterações precisam ser feitas em vários servidores DNS em sua empresa. Felizmente, o uso de comandos como o cmdlet Set-DnsServerForwarder do PowerShell e outros permite que você gerencie facilmente esses serviços DNS com facilidade.

Este post tem um vídeo complementar criado pelo colaborador do TechSnips, David Lamb. Sinta-se à vontade para assistir ou, se preferir texto, continue lendo!

Substituindo DNS Forwarders

Os forwarders DNS são usados por um servidor DNS para buscar consultas de endereços que não estão contidos em nenhuma zona para a qual o servidor é autoritário. Isso fornece aos seus servidores DNS um meio eficiente de resolver nomes. Sem os encaminhadores, seu servidor DNS teria que consultar os servidores de sugestão de raiz para começar a resolver endereços desconhecidos.

Embora esses endereços de encaminhador sejam configurados separadamente em cada servidor DNS, o uso do PowerShell facilita muito o gerenciamento, permitindo-nos usar o cmdlet Set-DnsServerForwarder.

Comece visualizando os encaminhadores atualmente configurados para o servidor DNS local. Faremos isso usando o cmdlet Get-DnsServerForwarder. Estamos usando o cmdlet Get-* primeiro porque você precisa primeiro encontrar todos os encaminhadores existentes.

Como visto abaixo, existem dois encaminhadores configurados com os endereços IP 8.8.8.8 e 8.8.4.4.

PS> Get-DnsServerForwarder
Finding existing DNS server forwarders

Agora adicione um encaminhador adicional. Este encaminhador pode ser possivelmente um novo servidor DNS que você configurou em nossa DMZ, ou talvez esteja usando um endereço de encaminhamento fornecido pelo nosso ISP. Neste caso, você usará o cmdlet Set-DnsServerForwarder para definir o novo endereço e então usar Get-DnsServerForwarder para confirmar se o endereço foi configurado corretamente.

Set-DnsServerForwarder -IPAddress 192.168.1.1
Get-DnsServerForwarder
Confirming DNS server forwarder change

Infelizmente, isso não teve o resultado desejado. Como você pode ver acima, usando o cmdlet Set-DnsServerForwarder na verdade substitui a lista de encaminhadores em vez de adicioná-la. Para adicionar o endereço à lista, em vez de substituir toda a lista, você precisa usar Add-DnsServerForwarder.

Para corrigir isso, substitua a lista pelos dois encaminhadores originais, adicione o novo endereço e então verifique se obteve sucesso.

Set-DnsServerForwarder -IPAddress 8.8.8.8, 8.8.4.4
Add-DnsServerForwarder -IPAddress 192.168.1.1
Get-DnsServerForwarder
Confirming DNS server forwarder addition

Agora você tem os três encaminhadores adicionados.

Removendo Encaminhadores DNS

Vamos dizer que você queira remover um endereço de encaminhador, você usaria o cmdlet Remove-DnsServerForwarder como mostrado abaixo. Então, você verificaria se o endereço foi removido.

Se Set-DnsServerForwarder substitui o encaminhador DNS, Remove-DnsServerForwarder o remove completamente.

Remove-DnsServerForwarder -IPAddress 192.168.1.1
Get-DnsServerForwarder
Confirming DNS server forwarder removal

Dimensionamento para Múltiplos Servidores DNS

Às vezes, será necessário adicionar ou remover um endereço de encaminhador em vários servidores DNS. Neste caso, Set-DnsServerForwarder não funcionará. Felizmente, o PowerShell facilita o dimensionamento dessa tarefa para vários servidores DNS. Se você usar Invoke-Command, inclua uma lista de todos os nossos servidores DNS e coloque Add-DnsServerForwarder no valor do parâmetro scriptblock, você pode modificar todos os servidores DNS com um único comando. Em seguida, usando um comando semelhante, visualize os resultados de nossas alterações.

Invoke-Command -ComputerName DC01, DC02, DC03 -ScriptBlock {
    Add-DnsServerForwarder -IPAddress 192.168.1.1
}
Invoke-Command -ComputerName DC01, DC02, DC03 -ScriptBlock { Get-DnsServerForwarder }
Adding DNS server forwarders on multiple DNS Servers

Encaminhadores Condicional DNS

A special type of forwarder, called a conditional forwarder, cannot be modified with the Set-DnsServerForwarder cmdlet. This type of forwarder can be used when you have been provided with the IP address(es) of the DNS server(s) for a known DNS domain name.

Os encaminhadores condicionais DNS são usados pelo servidor DNS antes de usar os encaminhadores de servidor listados anteriormente neste artigo.

Por exemplo, se você tiver um encaminhador condicional configurado para tailspintoys.com, seu servidor DNS, após verificar que não é um domínio do qual é autoritário, verifica os encaminhadores condicionais e encontra uma entrada. Neste ponto, seu servidor DNS consulta o servidor DNS listado para o endereço desejado no domínio tailspintoys.com.

Uma característica interessante dos encaminhadores condicionais DNS é que eles podem ser replicados para outros servidores DNS da mesma forma que qualquer Zona DNS Integrada ao Active Directory pode ser.

Comece verificando se você tem um encaminhador condicional configurado usando o cmdlet Get-DnsServerZone.

PS> Get-DnsServerZone
Finding DNS server zones

Encaminhadores condicionais aparecem nesta lista com um ZoneType de encaminhador. Neste caso, não temos um configurado. Portanto, você usará Add-DnsServerConditionalForwarderZone para criar o encaminhador condicional, configurá-lo para replicar em toda a floresta do Active Directory e, em seguida, confirmar que foi criado.

PS> Add-DnsServerConditionalForwarderZone `
    -Name tailspintoys.com `
    -MasterServers 10.10.14.240,10.10.14.241 `
    -ReplicationScope Forest

PS> Get-DnsServerZone
Verifying new DNS server conditional forwarder zone

A saída mostra que você tem nosso encaminhador condicional configurado e está pronto para uso.

Resumo

O PowerShell realmente facilita a administração dos encaminhadores DNS! Agora você deve ser capaz de usar o PowerShell para gerenciar e automatizar os encaminhadores DNS do AD de muitas maneiras diferentes. Cobrimos esses encaminhadores em praticamente todos os ângulos.

Source:
https://adamtheautomator.com/dns-conditional-forwarder/