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 (172.16.0.4) 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 (172.16.0.4), 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:
nameserver 172.16.0.4 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?