Disponemos de una única red virtual, con un único servidor en la nube en Azure. Esta red virtual tiene varios nodos de servidor, incluidas máquinas con Windows y algunas máquinas con Linux. Una de las máquinas con Windows aloja un servidor DNS local, con el fin de resolver nombres dentro de la red virtual. Todos los nodos se crearon con la opción DNS, de modo que el DNS local se registra en los nodos como su DNS. Además, la configuración de la red virtual se actualizó para incluir este servidor DNS (172.16.0.4) como DNS para la VN.
Mis máquinas con Windows pueden funcionar bien: al realizar un nuevo aprovisionamiento o reiniciar, el DNS se actualiza automáticamente para reflejar la nueva IP de esa máquina, si corresponde.
Sin embargo, las máquinas Linux no están registradas en este DNS local en absoluto. Los nodos de Linux pueden resolver la IP del nodo de Windows mediante el uso del DNS local (172.16.0.4), pero no pueden llegar a los otros nodos de Linux a través de la resolución de nombres.
Intenté actualizar el archivo resolvconf/resolvconf.d/tail, agregué una entrada de "búsqueda" y reinicié. También intenté proporcionar el FQDN en el archivo de nombre de host del servidor Linux. Noté que resolv.conf todavía tiene una cadena "buscar reddog.microsoft.com". Esto sugiere que el sufijo DNS que se utiliza sigue siendo el más antiguo, aunque haya un nuevo servidor DNS local disponible dentro de la VN. El archivo resolv.conf se parece al siguiente:
nameserver 172.16.0.4
search reddog.microsoft.com
Según tengo entendido, la causa principal de ese problema es que el servidor DHCP de Azure debe enviar solicitudes DDNS a este DNS local (que ha sido debidamente registrado como DNS de nivel VN) para actualizar los registros de cualquier nodo nuevo o reiniciado que aparezca en este VN. Pero el DHCP de Azure no parece enviar estas solicitudes de DDNS al DNS. ¿Qué me estoy perdiendo?
Respuesta1
Mi pensamiento inicial sería que esto es un problema con su servidor DNS al aceptar el registro del servidor Linux en lugar de un problema con que se dirija allí. Una cosa que debes verificar: ¿está tu zona DNS configurada para aceptar actualizaciones no seguras? Esto es necesario ya que los servidores Linux no podrán autenticarse para actualizar DNS.
Respuesta2
Puede modificar la configuración de su cliente DHCP agregando las siguientes líneas:
supersede domain-name "your.domainname.com";
supersede domain-search "your.domainname.com";
supersede search "your.domainname.com";
Normalmente puede localizar la configuración de DHCP en /etc/dhcp/dhclient.conf
el archivo. Busque en dhclient
el interior /etc/
para encontrar el correcto.
Otras posibles soluciones:https://superuser.com/questions/110808/how-can-i-add-additional-search-domains-to-the-resolv-conf-created-by-dhclient-i
Respuesta3
Sin mencionar que el contenido de /etc/resolv.conf se restablece al valor predeterminado de Azure cada vez que se reinicia el servidor. Entonces, incluso si lo cambia, la próxima vez que reinicie, volverá con el dominio de búsqueda reddog.microsoft.com y cualquiera que sea su servidor de nombres predeterminado de Azure.