An Azure service that enables hosting Domain Name System (DNS) domains in Azure.
Hi Gomolemo,
Thanks for reaching out in Microsoft Q&A forum,
Your Linux VM's SERVFAIL issue with the private DNS zone likely stems from systemd-resolved overriding network DNS settings, causing queries to loop through the local stub resolver at 127.0.0.1:53 instead of reaching Azure's DNS at 168.63.129.16 like your Windows VM does. This commonly happens after OS updates or NetworkManager changes that reset configs, even if manual DNS server settings were applied—Linux distros handle VNet DNS integration differently than Windows.
- Check systemd-resolved status:
systemd-resolve --statusorresolvectl statusto confirm if your interface (eth0/ens160) lists 168.63.129.16 as the DNS server and shows the VNet domain suffix. - Test direct Azure DNS:
dig @168.63.129.16 yourrecord.yourzone—success here but failure on plaindig yourrecord.yourzonepoints to local resolver problems.
Fix:
Flush and reset the resolver:
-
sudo systemd-resolve --flush-caches -
sudo systemd-resolve --reset-server eth0 -
sudo systemd-resolve --set-dns=168.63.129.16 --interface=eth0 -
sudo systemctl restart systemd-resolved
Ensure resolv.conf links properly: sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf.
Verify VNet link in Azure Portal: Private DNS Zone > Virtual network links > confirm your VNet is connected with "Enabled" status.
Official docs:
- Azure DNS troubleshooting for VMs: https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-name-resolution-for-vms-and-role-instances
- Linux VM DNS options: https://learn.microsoft.com/en-us/azure/virtual-machines/linux/azure-dns
Kindly let us know if the above helps or you need further assistance on this issue.
Please do not forget to
and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.