We have a single virtual network, with a single cloud server on Azure. This virtual network has multiple server nodes - including Windows machines, and some Linux machines. One of the Windows machines hosts a local DNS server, for purpose of name resolution within the virtual network. All the nodes were created with the DNS option, so that the local DNS is registered into the nodes as their DNS. Also, the virtual network settings were updated to include this DNS server ( as a DNS for the VN.

My Windows machines are able to work well - upon new provisioning, or restart, the DNS is automatically updated to reflect the new IP for that machine, if any.

However, the Linux machines are not registered on this local DNS at all. The Linux nodes are able to resolve the Windows node IP, by using the local DNS (, but they are not able to reach the other Linux nodes via name resolution.

I tried updating the resolvconf/resolvconf.d/tail file, and added a "search " entry, and restarted. Also tried providing the FQDN into the hostname file of the Linux server. I noticed that the resolv.conf still has a "search reddog.microsoft.com" string. This suggests that the DNS suffix being used is still the older one, even though a new local DNS server is available within the VN. The resolv.conf looks like the following:

search reddog.microsoft.com

As I understand, the root cause of that problem is that Azure DHCP server should send DDNS requests to this local DNS (which has been duly registered as a VN level DNS) to update records for any new node or restarted node that comes up into this VN. But the Azure DHCP doesn't seem to be sending these DDNS requests to the DNS. What am I missing?


My initial thoughts would be that this is an issue with your DNS server accepting the registration from the Linux server rather than an issue with it getting directed there. One thing to check, is your DNS zone configured to accept unsecure updates? This is required as the Linux servers will not be able to authenticate to update DNS.


You can modify the configuration of your DHCP client by adding following lines:

 supersede domain-name "your.domainname.com";
 supersede domain-search "your.domainname.com";
 supersede search "your.domainname.com";

Normally your can locate DHCP configuration in /etc/dhcp/dhclient.conf file. Search for dhclient inside /etc/ to find the right one.

Other possible solutions: https://superuser.com/questions/110808/how-can-i-add-additional-search-domains-to-the-resolv-conf-created-by-dhclient-i


Not to mention that the contents of /etc/resolv.conf are reset to the Azure default every time the server is rebooted. So even if you do change it, next time you reboot,it will be back with the search domain of reddog.microsoft.com and whatever your default Azure nameserver is.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.