Resolución de nombres de recursos en redes virtuales de AzureName resolution for resources in Azure virtual networks

Según cómo utilice Azure para hospedar soluciones híbridas, IaaS y PaaS, puede que tenga que permitir que las máquinas virtuales (VM) y otros recursos implementados en una red virtual se comuniquen entre sí.Depending on how you use Azure to host IaaS, PaaS, and hybrid solutions, you might need to allow the virtual machines (VMs), and other resources deployed in a virtual network to communicate with each other. Aunque puede habilitar la comunicación mediante las direcciones IP, es mucho más sencillo usar nombres, ya que podrá recordarlos con más facilidad y no cambian.Although you can enable communication by using IP addresses, it is much simpler to use names that can be easily remembered, and do not change.

Si los recursos implementados en redes virtuales necesitan resolver nombres de dominio en direcciones IP internas, pueden usar uno de tres métodos:When resources deployed in virtual networks need to resolve domain names to internal IP addresses, they can use one of three methods:

El tipo de resolución de nombres que tenga que usar dependerá de cómo se comuniquen los recursos entre sí.The type of name resolution you use depends on how your resources need to communicate with each other. En la siguiente tabla se muestran los escenarios y las soluciones de resolución de nombre correspondientes:The following table illustrates scenarios and corresponding name resolution solutions:

Nota

Las zonas privadas de Azure DNS son la solución preferida y proporcionan flexibilidad para la administración de los registros y las zonas DNS.Azure DNS private zones is the preferred solution and gives you flexibility in managing your DNS zones and records. Para obtener más información, vea Uso de Azure DNS para dominios privados.For more information, see Using Azure DNS for private domains.

Nota

Si usa un DNS proporcionado por Azure, el sufijo DNS adecuado se aplicará automáticamente a las máquinas virtuales.If you use Azure Provided DNS then appropriate DNS suffix will be automatically applied to your virtual machines. Para todas las demás opciones, debe usar nombres de dominio completos (FQDN) o aplicar manualmente el sufijo DNS adecuado a las máquinas virtuales.For all other options you must either use Fully Qualified Domain Names (FQDN) or manually apply appropriate DNS suffix to your virtual machines.

EscenarioScenario SoluciónSolution Sufijo DNSDNS Suffix
Resolución de nombres entre máquinas virtuales ubicadas en la misma red virtual, o instancias de rol de Azure Cloud Services en el mismo servicio en la nube.Name resolution between VMs located in the same virtual network, or Azure Cloud Services role instances in the same cloud service. Zonas privadas de Azure DNS o resolución de nombres proporcionada por AzureAzure DNS private zones or Azure-provided name resolution Nombre de host o FQDNHostname or FQDN
Resolución de nombres entre máquinas virtuales en redes virtuales diferentes o instancias de rol en diferentes servicios en la nube.Name resolution between VMs in different virtual networks or role instances in different cloud services. Zonas privadas de Azure DNS o servidores DNS administrados por el cliente que reenvían consultas entre redes virtuales para la resolución mediante Azure (proxy DNS).Azure DNS private zones or, Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Consulte Resolución de nombres mediante su propio servidor DNS.See Name resolution using your own DNS server. Solo FQDNFQDN only
Resolución de nombres de Azure App Service (aplicación web, función o bot) mediante la integración de red virtual con instancias de rol o máquinas virtuales en la misma red virtual.Name resolution from an Azure App Service (Web App, Function, or Bot) using virtual network integration to role instances or VMs in the same virtual network. Servidores DNS administrados por el cliente que reenvían consultas entre redes virtuales para la resolución mediante Azure (proxy DNS).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Consulte Resolución de nombres mediante su propio servidor DNS.See Name resolution using your own DNS server. Solo FQDNFQDN only
Resolución de nombres entre instancias de App Service Web Apps en máquinas virtuales en la misma red virtual.Name resolution from App Service Web Apps to VMs in the same virtual network. Servidores DNS administrados por el cliente que reenvían consultas entre redes virtuales para la resolución mediante Azure (proxy DNS).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Consulte Resolución de nombres mediante su propio servidor DNS.See Name resolution using your own DNS server. Solo FQDNFQDN only
Resolución de nombres de App Service Web Apps de una máquina virtual a las máquinas virtuales de otra red virtual.Name resolution from App Service Web Apps in one virtual network to VMs in a different virtual network. Servidores DNS administrados por el cliente que reenvían consultas entre redes virtuales para la resolución mediante Azure (proxy DNS).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Consulte Resolución de nombres mediante su propio servidor DNS.See Name resolution using your own DNS server. Solo FQDNFQDN only
Resolución de nombres de servicios y de equipos locales de máquinas virtuales o instancias de rol en Azure.Resolution of on-premises computer and service names from VMs or role instances in Azure. Servidores DNS administrados por el cliente (controlador de dominio local, controlador de dominio de solo lectura local o un DNS secundario sincronizado mediante transferencias de zona, por ejemplo).Customer-managed DNS servers (on-premises domain controller, local read-only domain controller, or a DNS secondary synced using zone transfers, for example). Consulte Resolución de nombres mediante su propio servidor DNS.See Name resolution using your own DNS server. Solo FQDNFQDN only
Resolución de nombres de host de Azure desde equipos locales.Resolution of Azure hostnames from on-premises computers. Reenvío de consultas a un servidor proxy DNS administrado por el cliente en la red virtual correspondiente: el servidor proxy reenvía consultas a Azure para su resolución.Forward queries to a customer-managed DNS proxy server in the corresponding virtual network, the proxy server forwards queries to Azure for resolution. Consulte Resolución de nombres mediante su propio servidor DNS.See Name resolution using your own DNS server. Solo FQDNFQDN only
DNS inverso para direcciones IP internas.Reverse DNS for internal IPs. Zonas privadas de Azure DNS, resolución de nombres proporcionada por Azure o resolución de nombres mediante su propio servidor DNS.Azure DNS private zones or Azure-provided name resolution or Name resolution using your own DNS server. No aplicableNot applicable
Resolución de nombres entre máquinas virtuales o instancias de rol ubicadas en diferentes servicios en la nube y no en una red virtual.Name resolution between VMs or role instances located in different cloud services, not in a virtual network. No aplicable.Not applicable. La conectividad entre máquinas virtuales e instancias de rol de servicios en la nube diferentes no es compatible fuera de una red virtual.Connectivity between VMs and role instances in different cloud services is not supported outside a virtual network. No aplicableNot applicable

Resolución de nombres de AzureAzure-provided name resolution

La resolución de nombres proporcionada por Azure solo ofrece las funcionalidades autoritativas básicas de DNS.Azure provided name resolution provides only basic authoritative DNS capabilities. Si usa esta opción, Azure administrará automáticamente los registros y nombres de las zonas DNS, y no podrá controlar los nombres de zona DNS ni el ciclo de vida de los registros DNS.If you use this option the DNS zone names and records will be automatically managed by Azure and you will not be able to control the DNS zone names or the life cycle of DNS records. Si necesita una solución DNS completa para sus redes virtuales, debe usar zonas privadas de Azure DNS o servidores DNS administrados por el cliente.If you need a fully featured DNS solution for your virtual networks you must use Azure DNS private zones or Customer-managed DNS servers.

Junto con la resolución de nombres DNS públicos, Azure proporciona una resolución de nombres interna para máquinas virtuales e instancias de rol que residen dentro de la misma red virtual o servicio en la nube.Along with resolution of public DNS names, Azure provides internal name resolution for VMs and role instances that reside within the same virtual network or cloud service. Las máquinas virtuales y las instancias en un servicio en la nube comparten el mismo sufijo DNS (por lo que el nombre de host por sí solo es suficiente).VMs and instances in a cloud service share the same DNS suffix, so the host name alone is sufficient. No obstante, en las redes virtuales implementadas con el modelo de implementación clásica, diferentes servicios en la nube tienen distintos sufijos DNS.But in virtual networks deployed using the classic deployment model, different cloud services have different DNS suffixes. En esta situación, es necesario el FQDN para resolver los nombres entre diferentes servicios en la nube.In this situation, you need the FQDN to resolve names between different cloud services. En las redes virtuales implementadas con el modelo de implementación de Azure Resource Manager, el sufijo DNS es coherente en todas las máquinas virtuales de una red virtual, de modo que el FQDN no es necesario.In virtual networks deployed using the Azure Resource Manager deployment model, the DNS suffix is consistent across the all virtual machines within a virtual network, so the FQDN is not needed. Los nombres DNS se pueden asignar a máquinas virtuales y a interfaces de red.DNS names can be assigned to both VMs and network interfaces. Aunque la resolución de nombres que proporciona Azure no necesita ningún tipo de configuración, no es la opción más adecuada para todos los escenarios de implementación, tal y como se explicó en la tabla anterior.Although Azure-provided name resolution does not require any configuration, it is not the appropriate choice for all deployment scenarios, as detailed in the previous table.

Nota

En el caso de los roles web y de trabajo de servicios en la nube, puede acceder a las direcciones IP internas de las instancias de rol mediante la API de REST de administración de servicios de Azure.When using cloud services web and worker roles, you can also access the internal IP addresses of role instances using the Azure Service Management REST API. Para obtener más información, consulte la Referencia de la API REST de administración de servicios.For more information, see the Service Management REST API Reference. La dirección se basa en el nombre de rol y el número de instancia.The address is based on the role name and instance number.

CaracterísticasFeatures

La resolución de nombres proporcionada por Azure incluye las siguientes características:Azure-provided name resolution includes the following features:

  • Facilidad de uso.Ease of use. No se requiere ninguna configuración.No configuration is required.
  • Alta disponibilidad.High availability. No es necesario crear clústeres de sus propios servidores DNS ni administrarlos.You don't need to create and manage clusters of your own DNS servers.
  • Puede utilizar el servicio junto con sus propios servidores DNS para resolver nombres de host de Azure y locales.You can use the service in conjunction with your own DNS servers, to resolve both on-premises and Azure host names.
  • Puede usar la resolución de nombres entre las máquinas virtuales y las instancias de rol del mismo servicio en la nube, sin necesidad de un nombre de dominio completo.You can use name resolution between VMs and role instances within the same cloud service, without the need for an FQDN.
  • Puede usar la resolución de nombres entre las máquinas virtuales en redes virtuales que usan el modelo de implementación de Azure Resource Manager, sin necesidad de un nombre de dominio completo.You can use name resolution between VMs in virtual networks that use the Azure Resource Manager deployment model, without need for an FQDN. En el modelo de implementación clásica, las redes virtuales requieren un FQDN cuando se resuelven nombres en diferentes servicios en la nube.Virtual networks in the classic deployment model require an FQDN when you are resolving names in different cloud services.
  • Puede usar los nombres de host que describan mejor las implementaciones, en lugar de trabajar con nombres generados automáticamente.You can use host names that best describe your deployments, rather than working with auto-generated names.

ConsideracionesConsiderations

Puntos que deben considerarse cuando se utiliza la resolución de nombres de Azure:Points to consider when you are using Azure-provided name resolution:

  • No se puede modificar el sufijo DNS creado por Azure.The Azure-created DNS suffix cannot be modified.
  • La búsqueda de DNS está en el ámbito de una red virtual.DNS lookup is scoped to a virtual network. Los nombres DNS creados para una red virtual no se pueden resolver desde otras redes virtuales.DNS names created for one virtual networks can't be resolved from other virtual networks.
  • No se pueden registrar manualmente los registros propios.You cannot manually register your own records.
  • No se admiten ni WINS ni NetBIOS.WINS and NetBIOS are not supported. Las máquinas virtuales no se pueden ver en el Explorador de Windows.You cannot see your VMs in Windows Explorer.
  • Los nombres de host deben ser compatibles con DNS.Host names must be DNS-compatible. Los nombres solamente pueden contener los caracteres 0-9, a-z y "-", y no pueden comenzar ni terminar por "-".Names must use only 0-9, a-z, and '-', and cannot start or end with a '-'.
  • El tráfico de consultas de DNS está limitado por cada máquina virtual.DNS query traffic is throttled for each VM. La limitación no debería afectar a la mayoría de las aplicaciones.Throttling shouldn't impact most applications. Si se observa una limitación de solicitudes, asegúrese de que está habilitado el almacenamiento en caché del lado cliente.If request throttling is observed, ensure that client-side caching is enabled. Para más información, consulte Configuración de cliente DNS.For more information, see DNS client configuration.
  • En un modelo de implementación clásico, solo se registran las máquinas virtuales de los 180 primeros servicios en la nube para cada red virtual clásica.Only VMs in the first 180 cloud services are registered for each virtual network in a classic deployment model. Este límite no se aplica a las redes virtuales en Azure Resource Manager.This limit does not apply to virtual networks in Azure Resource Manager.
  • La dirección IP de Azure DNS es 168.63.129.16.The Azure DNS IP address is 168.63.129.16. Es una dirección IP estática y no cambiará.This is a static IP address and will not change.

Consideraciones sobre el DNS inversoReverse DNS Considerations

El DNS inverso es compatible con todas las redes virtuales basadas en ARM.Reverse DNS is supported in all ARM based virtual networks. Puede emitir consultas de DNS inverso (consultas PTR) para asignar las direcciones IP de las máquinas virtuales a los FQDN de las máquinas virtuales.You can issue reverse DNS queries (PTR queries) to map IP addresses of virtual machines to FQDNs of virtual machines.

  • Todas las consultas PTR para las direcciones IP de las máquinas virtuales devolverán FQDN con el formato [vmname].internal.cloudapp.net.All PTR queries for IP addresses of virtual machines will return FQDNs of form [vmname].internal.cloudapp.net
  • La búsqueda directa en FQDN con el formato [vmname].internal.cloudapp.net se resolverá en la dirección IP asignada a la máquina virtual.Forward lookup on FQDNs of form [vmname].internal.cloudapp.net will resolve to IP address assigned to the virtual machine.
  • Si la red virtual está vinculada a una zona privada de Azure DNS como una red virtual de registro, las consultas de DNS inverso devolverán dos registros.If the virtual network is linked to an Azure DNS private zones as a registration virtual network, the reverse DNS queries will return two records. Un registro tiene el formato [vmname].[privatednszonename] y el otro [vmname].internal.cloudapp.net.One record will the of the form [vmname].[privatednszonename] and other would be of the form [vmname].internal.cloudapp.net
  • La búsqueda de DNS inverso está en el ámbito de una red virtual determinada aunque esté emparejada con otras redes virtuales.Reverse DNS lookup is scoped to a given virtual network even if it is peered to other virtual networks. Las consultas de DNS inverso (consultas PTR) para las direcciones IP de las máquinas virtuales que se encuentran en redes virtuales emparejadas devolverán NXDOMAIN.Reverse DNS queries (PTR queries) for IP addresses of virtual machines located in peered virtual networks will return NXDOMAIN.
  • Si desea desactivar la función de DNS inverso en una red virtual, puede crear una zona de búsqueda inversa mediante las zonas privadas de Azure DNS y vincular esta zona a la red virtual.If you want to turn off reverse DNS function in a virtual network you can do so by creating a reverse lookup zone using Azure DNS private zones and link this zone to your virtual network. Por ejemplo, si el espacio de direcciones IP de la red virtual es 10.20.0.0/16, puede crear una zona DNS privada vacía 20.10.in-addr.arpa y vincularla a la red virtual.For example if the IP address space of your virtual network is 10.20.0.0/16 then you can create a empty private DNS zone 20.10.in-addr.arpa and link it to the virtual network. Al vincular la zona a la red virtual, debe deshabilitar el registro automático en el vínculo.While linking the zone to your virtual network you should disable auto registration on the link. Esta zona invalidará las zonas de búsqueda inversa predeterminadas para la red virtual y, puesto que esta zona está vacía, obtendrá NXDOMAIN para las consultas de DNS inversas.This zone will override the default reverse lookup zones for the virtual network and since this zone is empty you will get NXDOMAIN for your reverse DNS queries. Consulte nuestra guía de inicio rápido para más información sobre cómo crear una zona DNS privada y vincularla a una red virtual.See our Quickstart guide for details on how to create a private DNS zone and link it to a virtual network.

Nota

Si desea que la búsqueda de DNS inverso se extienda a través de la red virtual, puede crear una zona de búsqueda inversa (in-addr.arpa) denominada zonas privadas de Azure DNS y vincularla a varias redes virtuales.If you want reverse DNS lookup to span across virtual network you can create a reverse lookup zone (in-addr.arpa) Azure DNS private zones and links it to multiple virtual networks. Sin embargo, tendrá que administrar manualmente los registros de DNS inverso para las máquinas virtuales.You'll however have to manually manage the reverse DNS records for the virtual machines.

Configuración del cliente DNSDNS client configuration

Esta sección trata los intentos del lado cliente y el almacenamiento en caché del cliente.This section covers client-side caching and client-side retries.

Almacenamiento en caché del lado clienteClient-side caching

No todas las consultas DNS deben enviarse a través de la red.Not every DNS query needs to be sent across the network. El almacenamiento en caché del cliente ayuda a reducir la latencia y a mejorar la resistencia a la señalización visual de la red mediante la resolución de las consultas DNS periódicas desde una memoria caché local.Client-side caching helps reduce latency and improve resilience to network blips, by resolving recurring DNS queries from a local cache. Los registros DNS contienen un mecanismo para contabilizar el período de vida (TTL), lo que permite a la memoria caché almacenar el registro el máximo tiempo posible sin afectar a la actualización de registros.DNS records contain a time-to-live (TTL) mechanism, which allows the cache to store the record for as long as possible without impacting record freshness. Por ello, el almacenamiento en caché del cliente es adecuado para la mayoría de las situaciones.Thus, client-side caching is suitable for most situations.

El cliente DNS de Windows predeterminado tiene una memoria caché DNS integrada.The default Windows DNS client has a DNS cache built-in. Algunas distribuciones de Linux no incluyen el almacenamiento en caché de forma predeterminada.Some Linux distributions do not include caching by default. Si comprueba que aún no hay una memoria caché local, agregue una memoria caché DNS a cada máquina virtual Linux.If you find that there isn't a local cache already, add a DNS cache to each Linux VM.

Hay una serie de diferentes paquetes de caché DNS disponibles, como dnsmasq.There are a number of different DNS caching packages available (such as dnsmasq). Aquí se indica cómo instalar dnsmasq en las distribuciones más habituales:Here's how to install dnsmasq on the most common distributions:

  • Ubuntu (usa resolvconf) :Ubuntu (uses resolvconf):
    • Instale el paquete dnsmasq con sudo apt-get install dnsmasq.Install the dnsmasq package with sudo apt-get install dnsmasq.
  • SUSE (usa netconf) :SUSE (uses netconf):
    • Instale el paquete dnsmasq con sudo zypper install dnsmasq.Install the dnsmasq package with sudo zypper install dnsmasq.
    • Habilite el servicio dnsmasq con systemctl enable dnsmasq.service.Enable the dnsmasq service with systemctl enable dnsmasq.service.
    • Inicie el servicio dnsmasq con systemctl start dnsmasq.service.Start the dnsmasq service with systemctl start dnsmasq.service.
    • Edite /etc/sysconfig/network/config y cambie NETCONFIG_DNS_FORWARDER="" por dnsmasq.Edit /etc/sysconfig/network/config, and change NETCONFIG_DNS_FORWARDER="" to dnsmasq.
    • Actualice resolv.conf con netconfig update para establecer la memoria caché como la resolución DNS local.Update resolv.conf with netconfig update, to set the cache as the local DNS resolver.
  • CentOS (usa NetworkManager) :CentOS (uses NetworkManager):
    • Instale el paquete dnsmasq con sudo yum install dnsmasq.Install the dnsmasq package with sudo yum install dnsmasq.
    • Habilite el servicio dnsmasq con systemctl enable dnsmasq.service.Enable the dnsmasq service with systemctl enable dnsmasq.service.
    • Inicie el servicio dnsmasq con systemctl start dnsmasq.service.Start the dnsmasq service with systemctl start dnsmasq.service.
    • Agregue prepend domain-name-servers 127.0.0.1; a /etc/dhclient-eth0.conf.Add prepend domain-name-servers 127.0.0.1; to /etc/dhclient-eth0.conf.
    • Reinicie el servicio de red con service network restart para establecer la memoria caché como la resolución DNS local.Restart the network service with service network restart, to set the cache as the local DNS resolver.

Nota

El paquete dnsmasq constituye solo una de las muchas memorias cachés DNS disponibles para Linux.The dnsmasq package is only one of many DNS caches available for Linux. Antes de usarlo, compruebe su idoneidad para sus necesidades concretas y que no esté instalada ninguna otra memoria caché.Before using it, check its suitability for your particular needs, and check that no other cache is installed.

Reintentos del clienteClient-side retries

DNS es principalmente un protocolo UDP.DNS is primarily a UDP protocol. Como el protocolo UDP no garantiza la entrega de mensajes, la lógica de reintento se controla en el mismo protocolo DNS.Because the UDP protocol doesn't guarantee message delivery, retry logic is handled in the DNS protocol itself. Cada cliente DNS (sistema operativo) puede presentar una lógica de reintento diferente en función de la preferencia del creador:Each DNS client (operating system) can exhibit different retry logic, depending on the creator's preference:

  • Los sistemas operativos Windows realizan un reintento tras un segundo y después tras otros dos, cuatro y otros cuatro segundos.Windows operating systems retry after one second, and then again after another two seconds, four seconds, and another four seconds.
  • El programa de instalación predeterminado de Linux lo intenta después de cinco segundos.The default Linux setup retries after five seconds. Se recomienda cambiar las especificaciones de reintento a cinco veces, en intervalos de un segundo.We recommend changing the retry specifications to five times, at one-second intervals.

Compruebe la configuración actual en una VM de Linux con cat /etc/resolv.conf.Check the current settings on a Linux VM with cat /etc/resolv.conf. Mire la línea options, por ejemplo:Look at the options line, for example:

options timeout:1 attempts:5

El archivo resolv.conf suele generarse de forma automática y no se debe editar.The resolv.conf file is usually auto-generated, and should not be edited. Los pasos específicos para agregar la línea options varían según la distribución:The specific steps for adding the options line vary by distribution:

  • Ubuntu (usa resolvconf):Ubuntu (uses resolvconf):
    1. Agregue la línea options a /etc/resolvconf/resolv.conf.d/tail.Add the options line to /etc/resolvconf/resolv.conf.d/tail.
    2. Ejecute resolvconf -u para actualizar.Run resolvconf -u to update.
  • SUSE (usa netconf):SUSE (uses netconf):
    1. Agregue timeout:1 attempts:5 al parámetro NETCONFIG_DNS_RESOLVER_OPTIONS="" en /etc/sysconfig/network/config.Add timeout:1 attempts:5 to the NETCONFIG_DNS_RESOLVER_OPTIONS="" parameter in /etc/sysconfig/network/config.
    2. Ejecute netconfig update para actualizar.Run netconfig update to update.
  • CentOS (usa NetworkManager):CentOS (uses NetworkManager):
    1. Agregue echo "options timeout:1 attempts:5" a /etc/NetworkManager/dispatcher.d/11-dhclient.Add echo "options timeout:1 attempts:5" to /etc/NetworkManager/dispatcher.d/11-dhclient.
    2. Actualice con service network restart.Update with service network restart.

Resolución de nombres con su propio servidor DNSName resolution that uses your own DNS server

En esta sección se tratan las máquinas virtuales, las instancias de rol y las aplicaciones web.This section covers VMs, role instances, and web apps.

Máquinas virtuales e instancias de rolVMs and role instances

Puede que sus necesidades de resolución de nombres superen las posibilidades de las características de Azure.Your name resolution needs might go beyond the features provided by Azure. Por ejemplo, es posible que necesite utilizar dominios de Microsoft Windows Server Active Directory y resolver nombres DNS entre redes virtuales.For example, you might need to use Microsoft Windows Server Active Directory domains, resolve DNS names between virtual networks. Para abarcar estos escenarios, Azure le ofrece la posibilidad de que use sus propios servidores DNS.To cover these scenarios, Azure provides the ability for you to use your own DNS servers.

Los servidores DNS dentro de una red virtual pueden reenviar consultas DNS a las resoluciones recursivas en Azure.DNS servers within a virtual network can forward DNS queries to the recursive resolvers in Azure. Esto le permite resolver los nombres de host dentro de esa red virtual.This enables you to resolve host names within that virtual network. Por ejemplo, un controlador de dominio (DC) que se ejecute en Azure puede responder a las consultas DNS referidas a sus dominios y reenviar todas las demás consultas a Azure.For example, a domain controller (DC) running in Azure can respond to DNS queries for its domains, and forward all other queries to Azure. El reenvío de consultas permite que las máquinas virtuales vean sus recursos locales (mediante el controlador de dominio) y los nombres de host proporcionados por Azure (mediante el reenviador).Forwarding queries allows VMs to see both your on-premises resources (via the DC) and Azure-provided host names (via the forwarder). El acceso a las resoluciones recursivas de Azure se proporciona mediante la IP virtual 168.63.129.16.Access to the recursive resolvers in Azure is provided via the virtual IP 168.63.129.16.

El reenvío de DNS también habilita la resolución de DNS entre redes virtuales y permite que los equipos locales resuelvan nombres de host proporcionados por Azure.DNS forwarding also enables DNS resolution between virtual networks, and allows your on-premises machines to resolve Azure-provided host names. Para resolver el nombre de host de una máquina virtual, la máquina virtual del servidor DNS debe residir en la misma red virtual y debe configurarse para reenviar consultas de nombre de host a Azure.In order to resolve a VM's host name, the DNS server VM must reside in the same virtual network, and be configured to forward host name queries to Azure. Dado que el sufijo DNS es diferente en cada red virtual, puede usar las reglas de desvío condicional para enviar consultas de DNS a la red virtual correcta para su resolución.Because the DNS suffix is different in each virtual network, you can use conditional forwarding rules to send DNS queries to the correct virtual network for resolution. En la imagen siguiente se muestran dos redes virtuales y una red local que está realizando resolución DNS entre redes virtuales con este método.The following image shows two virtual networks and an on-premises network doing DNS resolution between virtual networks, by using this method. Puede encontrar un reenviador DNS de ejemplo disponible en la galería de plantillas de inicio rápido de Azure y en GitHub.An example DNS forwarder is available in the Azure Quickstart Templates gallery and GitHub.

Nota

Una instancia de rol puede realizar la resolución de nombres de máquinas virtuales dentro de la misma red virtual.A role instance can perform name resolution of VMs within the same virtual network. Para ello, use el FQDN, que consta del nombre de host de la máquina virtual y el sufijo DNS internal.cloudapp.net.It does so by using the FQDN, which consists of the VM's host name and internal.cloudapp.net DNS suffix. Sin embargo, en este caso, la resolución de nombres solo es correcta si la instancia de rol tiene el nombre de máquina virtual definido en el esquema Role (archivo .cscfg).However, in this case, name resolution is only successful if the role instance has the VM name defined in the Role Schema (.cscfg file). <Role name="<role-name>" vmName="<vm-name>">

Las instancias de rol que tienen que realizar la resolución de nombres de máquinas virtuales en otra red virtual (FQDN utilizando el sufijo internal.cloudapp.net) tienen que hacerlo con el método descrito en esta sección (reenvío de servidores DNS personalizados entre las dos redes virtuales).Role instances that need to perform name resolution of VMs in another virtual network (FQDN by using the internal.cloudapp.net suffix) have to do so by using the method described in this section (custom DNS servers forwarding between the two virtual networks).

Diagrama de DNS entre redes virtuales

Cuando se utiliza la resolución de nombres proporcionada con Azure, el Protocolo dinámico de configuración de host (DHCP) de Azure proporciona un sufijo DNS interno ( . internal.cloudapp.net) a cada máquina virtual.When you are using Azure-provided name resolution, Azure Dynamic Host Configuration Protocol (DHCP) provides an internal DNS suffix (.internal.cloudapp.net) to each VM. Este sufijo permite la resolución de nombres de host, dado que los registros de nombre de host están en la zona internal.cloudapp.net.This suffix enables host name resolution because the host name records are in the internal.cloudapp.net zone. Si usa su propia solución de resolución de nombres, no se proporciona este sufijo a las máquinas virtuales puesto que interfiere con otras arquitecturas DNS (como es el caso de los escenarios con unión a un dominio).When you are using your own name resolution solution, this suffix is not supplied to VMs because it interferes with other DNS architectures (like domain-joined scenarios). En su lugar, Azure proporciona un marcador de posición no funcional (reddog.microsoft.com).Instead, Azure provides a non-functioning placeholder (reddog.microsoft.com).

Si es necesario, el sufijo DNS interno se puede determinar con PowerShell o la API:If necessary, you can determine the internal DNS suffix by using PowerShell or the API:

Si el reenvío de consultas a Azure no satisface sus necesidades, debería proporcionar su propia solución DNS.If forwarding queries to Azure doesn't suit your needs, you should provide your own DNS solution. La solución DNS debe:Your DNS solution needs to:

  • Proporcionar la resolución adecuada de nombres de host, por ejemplo, mediante DDNS.Provide appropriate host name resolution, via DDNS, for example. Si usa DDNS, puede que tenga que deshabilitar la limpieza de registros DNS.If you are using DDNS, you might need to disable DNS record scavenging. Las concesiones DHCP de Azure son muy largas y la limpieza puede eliminar registros DNS de forma prematura.Azure DHCP leases are long, and scavenging might remove DNS records prematurely.
  • Proporcionar la resolución recursiva adecuada para permitir la resolución de nombres de dominio externos.Provide appropriate recursive resolution to allow resolution of external domain names.
  • Estar accesible (TCP y UDP en el puerto 53) desde los clientes a los que sirve y poder acceder a Internet.Be accessible (TCP and UDP on port 53) from the clients it serves, and be able to access the internet.
  • Tener protección contra el acceso desde Internet para mitigar las amenazas que suponen los agentes externos.Be secured against access from the internet, to mitigate threats posed by external agents.

Nota

Para obtener el mejor rendimiento, cuando se usan máquinas virtuales de Azure como servidores DNS, debe deshabilitarse IPv6.For best performance, when you are using Azure VMs as DNS servers, IPv6 should be disabled.

Aplicaciones webWeb apps

Supongamos que necesita realizar la resolución de nombres de una aplicación web integrada con App Service y vinculada a una red virtual, a las máquinas virtuales en la misma red virtual.Suppose you need to perform name resolution from your web app built by using App Service, linked to a virtual network, to VMs in the same virtual network. Además de configurar un servidor DNS personalizado que tenga un reenviador DNS que reenvíe las consultas a Azure (dirección IP virtual 168.63.129.16), realice los pasos siguientes:In addition to setting up a custom DNS server that has a DNS forwarder that forwards queries to Azure (virtual IP 168.63.129.16), perform the following steps:

  1. Habilite la integración de red virtual de la aplicación web, si aún no lo ha hecho, tal y como se describe en Integración de su aplicación con una instancia de Azure Virtual Network.Enable virtual network integration for your web app, if not done already, as described in Integrate your app with a virtual network.

  2. En Azure Portal, para el plan de App Service que hospeda la aplicación web, seleccione Sincronizar red en Redes, Integración de Virtual Network.In the Azure portal, for the App Service plan hosting the web app, select Sync Network under Networking, Virtual Network Integration.

    Captura de pantalla de la resolución de nombres de red virtual

Si necesita ejecutar la resolución de nombres de la aplicación web integrada mediante App Service vinculada a una red virtual, a las máquinas virtuales que se encuentran en una red virtual diferente, debe usar servidores DNS personalizados en las dos redes virtuales, del modo siguiente:If you need to perform name resolution from your web app built by using App Service, linked to a virtual network, to VMs in a different virtual network, you have to use custom DNS servers on both virtual networks, as follows:

  • Configure un servidor DNS en la red virtual de destino en una máquina virtual que también pueda reenviar consultas a la resolución recursiva de Azure (dirección IP virtual 168.63.129.16).Set up a DNS server in your target virtual network, on a VM that can also forward queries to the recursive resolver in Azure (virtual IP 168.63.129.16). Puede encontrar un reenviador DNS de ejemplo disponible en la galería de plantillas de inicio rápido de Azure y en GitHub.An example DNS forwarder is available in the Azure Quickstart Templates gallery and GitHub.
  • Configure un reenviador DNS en la red virtual de origen en una máquina virtual.Set up a DNS forwarder in the source virtual network on a VM. Configure este reenviador DNS para que reenvíe consultas al servidor DNS de la red virtual de destino.Configure this DNS forwarder to forward queries to the DNS server in your target virtual network.
  • Configure el servidor DNS de origen en la configuración de su red virtual de origen.Configure your source DNS server in your source virtual network's settings.
  • Habilite la integración de red virtual para la aplicación web para vincular a la red virtual de origen, siguiendo las instrucciones de Integración de su aplicación con una instancia de Azure Virtual Network.Enable virtual network integration for your web app to link to the source virtual network, following the instructions in Integrate your app with a virtual network.
  • En Azure Portal, para el plan de App Service que hospeda la aplicación web, seleccione Sincronizar red en Redes, Integración de Virtual Network.In the Azure portal, for the App Service plan hosting the web app, select Sync Network under Networking, Virtual Network Integration.

Especificación de los servidores DNSSpecify DNS servers

Si usa sus propios servidores DNS, Azure permite especificar varios servidores DNS por cada red virtual.When you are using your own DNS servers, Azure provides the ability to specify multiple DNS servers per virtual network. También puede especificar varios servidores DNS por interfaz de red (para Azure Resource Manager) o por servicio en la nube (para el modelo de implementación clásica).You can also specify multiple DNS servers per network interface (for Azure Resource Manager), or per cloud service (for the classic deployment model). Los servidores DNS especificados para una interfaz de red o un servicio en la nube tienen prioridad sobre los servidores DNS especificados para la red virtual.DNS servers specified for a network interface or cloud service get precedence over DNS servers specified for the virtual network.

Nota

Las propiedades de conexión de red, como las direcciones IP del servidor DNS, no deben editarse directamente dentro de las máquinas virtuales.Network connection properties, such as DNS server IPs, should not be edited directly within VMs. Esto se debe a que podrían borrarse durante el servicio de reparación cuando se reemplaza el adaptador de la red virtual.This is because they might get erased during service heal when the virtual network adaptor gets replaced. Esto se aplica a las máquinas virtuales Windows y Linux.This applies to both Windows and Linux VMs.

Si se usa el modelo de implementación de Azure Resource Manager, puede especificar servidores DNS para una red virtual y una interfaz de red.When you are using the Azure Resource Manager deployment model, you can specify DNS servers for a virtual network and a network interface. Para obtener más información, consulte Administración de una red virtual y Administración de una interfaz de red.For details, see Manage a virtual network and Manage a network interface.

Nota

Si opta por el servidor DNS personalizado para la red virtual, debe especificar al menos una dirección IP de servidor DNS; en caso contrario, la red virtual omitirá la configuración y usará en su lugar el DNS proporcionado por Azure.If you opt for custom DNS server for your virtual network, you must specify at least one DNS server IP address; otherwise, virtual network will ignore the configuration and use Azure-provided DNS instead.

Cuando se usa el modelo de implementación clásica, puede especificar servidores DNS para la red virtual en Azure Portal o en el archivo de configuración de red.When you are using the classic deployment model, you can specify DNS servers for the virtual network in the Azure portal or the Network Configuration file. En el caso de los servicios en la nube, puede especificar los servidores DNS mediante el archivo de configuración del servicio o mediante PowerShell, con New-AzureVM.For cloud services, you can specify DNS servers via the Service Configuration file or by using PowerShell, with New-AzureVM.

Nota

Si cambia la configuración de DNS de una máquina o red virtual que ya está implementada, para que la nueva configuración de DNS surta efecto, debe realizar una renovación de la concesión de DHCP en todas las máquinas virtuales afectadas de la red virtual.If you change the DNS settings for a virtual network or virtual machine that is already deployed, for the new DNS settings to take effect, you must perform a DHCP lease renewal on all affected VMs in the virtual network. En el caso de las máquinas virtuales que ejecutan el sistema operativo Windows, puede hacerlo escribiendo ipconfig /renew directamente en la máquina virtual.For VMs running the Windows OS, you can do this by typing ipconfig /renew directly in the VM. Los pasos varían en función del sistema operativo.The steps vary depending on the OS. Consulte la documentación correspondiente para su tipo de sistema operativo.See the relevant documentation for your OS type.

Pasos siguientesNext steps

Modelo de implementación de Azure Resource Manager:Azure Resource Manager deployment model:

Modelo de implementación clásico:Classic deployment model: