Azure Firewall DNS Proxy & DNS Private Resolver

Joni Nieminen 20 Reputation points
2024-10-22T10:53:26.32+00:00

I am trying to achieve a setup where I have the following main components.

  • Hub vnet 10.0.0.0/23
    • This has a VPN connection to on-premises
    • This has a Azure Firewall
  • Shared services vnet 10.0.3.0/24
    • This has DNS Private Resolver
      • With inbound and outbound subnets 10.0.3.0/28 and 10.0.3.16/28
  • Spoke vnet 10.0.4.0/24
    • This has a client trying to resolve on-premises company.local DNS records
    • Spoke vnet is peered to the hub vnet
    • Spoke vnet has UDR 0.0.0.0/0 towards the Azure Firewall in hub

I have enabled DNS Proxy in the Azure firewall. I have also enabled custom DNS server for Azure Firewall and it uses the private resolver inbound IP address as it's DNS (10.0.3.4).

Secondly the spoke vnet is set to use the Azure Firewall as it's DNS, since the DNS Proxy is enabled. Spoke vnet has DNS 10.0.0.4 (Azure Firewall).

I have a DNS forwarding ruleset linked to the shared services vnet which hosts the private resolver. It has a rule to forward company.local. lookups towards the on-premises DNS/DC servers via the VPN connection.

The conditional forwarding to on-premises is unable to resolve the company.local records. It's getting timed out and the DNS proxy logs in Azure Firewall says:

  • Error: 0 srv01.company.local. A: read udp 10.0.0.7:25816->10.0.3.4:53: i/o timeout

So here 10.0.0.7 is the Azure Firewall and 10.0.3.4 is the Private Resolver inbound IP address which the firewall uses as it's DNS.

If I remove the Firewall DNS proxy from the picture, the name resolution works fine. Is anyone aware whether this setup is even supported, or got any clues what's wrong in my setup? I have a feeling this could have something to do with DNS looping and/or UDR/static routing.

Azure DNS
Azure DNS
An Azure service that enables hosting Domain Name System (DNS) domains in Azure.
699 questions
Azure Firewall
Azure Firewall
An Azure network security service that is used to protect Azure Virtual Network resources.
687 questions
Azure Virtual Network
Azure Virtual Network
An Azure networking service that is used to provision private networks and optionally to connect to on-premises datacenters.
2,534 questions
{count} votes

Accepted answer
  1. Ganesh Patapati 1,745 Reputation points Microsoft Vendor
    2024-10-25T15:35:22.17+00:00

    Hey Joni Nieminen

    Greetings,

    Thank you for reaching out to us on the Microsoft Q&A forum.

    As an original poster cannot accept their own answer, I am reposting it so that you can accept it an answer. Accepted answer will help other community members navigate to the appropriate solutions.

    Issue: Setup for Azure Firewall DNS Proxy & DNS Private Resolver

    Solution: I found the root cause to be missing gateway route propagation on the VPN gateway, this was set to No/Disabled in the Bicep code which deploys the GatewaySubnet Route Table. Once I set the disableBgpRoutePropagation to false the connection started working as expected including the name resolution.ag


    Please don’t forget to close the thread by clicking "Accept the answer" wherever the information helps you, as this can be beneficial to other community members.

    Your contribution is greatly appreciated.

    Regards,

    Ganesh

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.