DNS forwarders are used when a local DNS server cannot resolve a query itself. Instead of trying to find the answer on the internet, it forwards the request to another designated server. In a hybrid setup, you configure your on-premises Windows Server DNS to forward unresolved queries to an Azure DNS Private Resolver or to external DNS servers. To set this up, you first must ensure your Azure private DNS zone is correctly linked to your virtual network. You then configure the DNS settings on your virtual network, either using Azure's default settings or specifying custom DNS server IP addresses. Finally, you can create a test record in the private zone and use a tool like nslookup to verify that resolution is working through the forwarder.
A conditional forwarder is more specific than a general forwarder. It directs DNS queries only for certain domain namespaces to particular DNS servers. For example, you can set a rule so that all queries ending in "contoso.com" are sent directly to a specific DNS server that knows about that domain. This makes resolution faster and more efficient for those domains. You can configure this in the Windows Server DNS Manager graphical tool or by using PowerShell commands like Add-DnsServerConditionalForwarderZone. The command requires you to specify the domain name and the IP addresses of the target DNS servers that will handle those queries.
After configuring forwarders, you must test that they are working correctly. PowerShell provides specific cmdlets for this validation. The Test-DnsServer cmdlet checks your forwarding settings and configuration. The Resolve-DnsName cmdlet lets you perform a test query to see if a name resolves successfully through the new forwarding path. If problems occur, you can examine the DNS event logs on your server. These logs record details about forwarding attempts and failures, which are essential for troubleshooting why a query might not be reaching its intended destination or getting a response.
Several common issues can prevent DNS forwarding from working. A primary cause is a misconfiguration in the link between the Azure private DNS zone and the virtual network; the zone must be linked for resolution to function. Network connectivity problems, such as firewalls blocking DNS traffic on port 53, can also stop queries from reaching the forwarder. Additionally, errors in entering the IP addresses for custom DNS settings or conditional forwarders will lead to resolution failures. The validation steps using PowerShell cmdlets and event logs are the main tools for identifying and fixing these problems.
A system architecture diagram showing how a local DNS server routes queries using conditional forwarders to specific domain servers and general forwarders to Azure DNS Private Resolver or external DNS, with validation via PowerShell cmdlets and event logs.
Eager to master hybrid server management? Discover how to administer Windows Server Hybrid Core Infrastructure on Azure, setting your path towards the Microsoft Certified: Azure Hybrid Infrastructure Administrator Associate certification!
Prepare and test your skills

Prepare and test your skills

A general DNS forwarder forwards any query the local server cannot resolve to designated servers, such as an Azure DNS Private Resolver or external DNS servers. In contrast, a conditional forwarder directs queries only for specific domain namespaces to designated target DNS servers to make resolution faster and more efficient.
The Add-DnsServerConditionalForwarderZone cmdlet configures conditional forwarders by specifying the domain name and target DNS server IP addresses. To validate the configuration, administrators can use Test-DnsServer to check forwarding settings and Resolve-DnsName to perform test queries.
Common causes of DNS forwarding failures include a missing or misconfigured link between an Azure private DNS zone and the virtual network, network firewalls blocking DNS traffic on port 53, and incorrect IP addresses entered for custom DNS settings or conditional forwarders.