Risoluzione dei nomi per le risorse in reti virtuali di AzureName resolution for resources in Azure virtual networks

A seconda di come si usa Azure per ospitare soluzioni IaaS, PaaS e ibride, potrebbe essere necessario consentire alle macchine virtuali e ad altre risorse implementate in una rete virtuale di comunicare tra loro.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. Anche se è possibile abilitare la comunicazione tramite indirizzi IP, è molto più semplice usare nomi che possono essere facilmente ricordati e che non cambiano.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.

Quando le risorse implementate nelle reti virtuali devono risolvere nomi di dominio trasformandoli in indirizzi IP interni, possono usare uno di questi due metodi:When resources deployed in virtual networks need to resolve domain names to internal IP addresses, they can use one of two methods:

Il tipo di risoluzione dei nomi usato dipende dal modo in cui le risorse devono comunicare tra loro.The type of name resolution you use depends on how your resources need to communicate with each other. Nella tabella seguente vengono illustrate diverse ipotesi e le corrispondenti soluzioni di risoluzione dei nomi:The following table illustrates scenarios and corresponding name resolution solutions:

Nota

A seconda dello scenario, può essere opportuno usare la funzionalità Zone private di DNS di Azure, attualmente in anteprima pubblica.Depending on your scenario, you may want to use the Azure DNS Private Zones feature, which is currently in Public Preview. Per altre informazioni, vedere Uso di DNS di Azure per i domini privati.For more information, see Using Azure DNS for private domains.

ScenarioScenario SoluzioneSolution SuffissoSuffix
Risoluzione dei nomi tra macchine virtuali situate nella stessa rete virtuale o tra istanze di ruolo di Servizi cloud di Microsoft Azure nello stesso servizio cloud.Name resolution between VMs located in the same virtual network, or Azure Cloud Services role instances in the same cloud service. Zone private di DNS di Azure o risoluzione dei nomi fornita da AzureAzure DNS Private Zones or Azure-provided name resolution Nome host o nome di dominio completoHostname or FQDN
Risoluzione dei nomi tra macchine virtuali in diverse reti virtuali o istanze del ruolo in servizi cloud diversi.Name resolution between VMs in different virtual networks or role instances in different cloud services. Zone private di DNS di Azure o server DNS gestiti dal cliente che inoltrano query tra reti virtuali per la risoluzione da parte di Azure (proxy DNS).Azure DNS Private Zones or, Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Vedere Risoluzione dei nomi usando il server DNS.See Name resolution using your own DNS server. Solo nome di dominio completoFQDN only
Risoluzione dei nomi da un servizio app di Azure (App Web, Funzioni o Bot) con l'integrazione della rete virtuale in istanze del ruolo o macchine virtuali nella stessa rete virtuale.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. Server DNS gestiti dal cliente che inoltrano query tra reti virtuali per la risoluzione da parte di Azure (proxy DNS).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Vedere Risoluzione dei nomi usando il server DNS.See Name resolution using your own DNS server. Solo nome di dominio completoFQDN only
Risoluzione dei nomi da app Web del servizio app a macchine virtuali nella stessa rete virtuale.Name resolution from App Service Web Apps to VMs in the same virtual network. Server DNS gestiti dal cliente che inoltrano query tra reti virtuali per la risoluzione da parte di Azure (proxy DNS).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Vedere Risoluzione dei nomi usando il server DNS.See Name resolution using your own DNS server. Solo nome di dominio completoFQDN only
Risoluzione dei nomi da app Web del servizio app in una rete virtuale a macchine virtuali in una rete virtuale diversa.Name resolution from App Service Web Apps in one virtual network to VMs in a different virtual network. Server DNS gestiti dal cliente che inoltrano query tra reti virtuali per la risoluzione da parte di Azure (proxy DNS).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Vedere Risoluzione dei nomi usando il server DNS.See Name resolution using your own DNS server. Solo nome di dominio completoFQDN only
Risoluzione dei nomi di servizi e computer locali da istanze del ruolo o macchine virtuali in Azure.Resolution of on-premises computer and service names from VMs or role instances in Azure. Server DNS gestiti dal cliente (ad esempio, controller di dominio locale, controller di dominio di sola lettura locale o server DNS secondario sincronizzati con trasferimenti di zona).Customer-managed DNS servers (on-premises domain controller, local read-only domain controller, or a DNS secondary synced using zone transfers, for example). Vedere Risoluzione dei nomi usando il server DNS.See Name resolution using your own DNS server. Solo nome di dominio completoFQDN only
Risoluzione di nomi host di Azure da computer locali.Resolution of Azure hostnames from on-premises computers. Inoltra le query a un server proxy DNS gestito dal cliente nella rete virtuale corrispondente. Il server proxy trasferisce le query ad Azure per la risoluzione.Forward queries to a customer-managed DNS proxy server in the corresponding virtual network, the proxy server forwards queries to Azure for resolution. Vedere Risoluzione dei nomi usando il server DNS.See Name resolution using your own DNS server. Solo nome di dominio completoFQDN only
DNS inversi per indirizzi IP interni.Reverse DNS for internal IPs. Risoluzione dei nomi usando il server DNS.Name resolution using your own DNS server. Non applicabileNot applicable
Risoluzione dei nomi tra macchine virtuali o istanze del ruolo situate in servizi cloud diversi e non in una rete virtuale.Name resolution between VMs or role instances located in different cloud services, not in a virtual network. Non applicabileNot applicable. Connettività tra macchine virtuali e istanze del ruolo in servizi cloud diversi non è supportata esternamente a una rete virtuale.Connectivity between VMs and role instances in different cloud services is not supported outside a virtual network. Non applicabileNot applicable

Risoluzione dei nomi fornita da AzureAzure-provided name resolution

Oltre alla risoluzione dei nomi DNS pubblici, Azure offre la risoluzione dei nomi interni per VM e istanze del ruolo che si trovano all'interno della stessa rete virtuale o dello stesso servizio cloud.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. Le macchine virtuali e le istanze di un servizio cloud condividono lo stesso suffisso DNS, pertanto è sufficiente il solo nome host.VMs and instances in a cloud service share the same DNS suffix, so the host name alone is sufficient. Nelle reti virtuali implementate tramite il modello di distribuzione classica, invece, servizi cloud diversi hanno suffissi DNS diversi.But in virtual networks deployed using the classic deployment model, different cloud services have different DNS suffixes. In questo caso, è necessario il nome di dominio completo per la risoluzione dei nomi tra servizi cloud diversi.In this situation, you need the FQDN to resolve names between different cloud services. Nelle reti virtuali implementate in base al modello di distribuzione Azure Resource Manager il suffisso DNS è coerente in tutta la rete, pertanto il nome FQDN completo non è necessario.In virtual networks deployed using the Azure Resource Manager deployment model, the DNS suffix is consistent across the virtual network, so the FQDN is not needed. I nomi DNS possono essere assegnati sia alle macchine virtuali che alle interfacce di rete.DNS names can be assigned to both VMs and network interfaces. Sebbene la risoluzione dei nomi fornita da Azure non richieda alcuna configurazione, non è la scelta più appropriata per tutti gli scenari di distribuzione, come illustrato nel dettaglio nella tabella precedente.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

In caso di uso di ruoli Web e di lavoro basati su servizi cloud, è possibile accedere anche gli indirizzi IP interni delle istanze del ruolo con l'API REST di gestione del servizio 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. Per altre informazioni, vedere Riferimento all'API REST di gestione dei servizi.For more information, see the Service Management REST API Reference. L'indirizzo si basa sul nome del ruolo e sul numero di istanza.The address is based on the role name and instance number.

FunzionalitàFeatures

La risoluzione dei nomi fornita da Azure presenta le caratteristiche seguenti:Azure-provided name resolution includes the following features:

  • Semplicità d'uso.Ease of use. Non è necessaria alcuna configurazione.No configuration is required.
  • Disponibilità elevata.High availability. Non è necessario creare e gestire i cluster dei server DNS propri.You don't need to create and manage clusters of your own DNS servers.
  • Possibilità di usare il servizio in combinazione con i propri server DNS per risolvere i nomi host locali e quelli di Azure.You can use the service in conjunction with your own DNS servers, to resolve both on-premises and Azure host names.
  • Possibilità di usare la risoluzione dei nomi tra istanze del ruolo e macchine virtuali presenti nello stesso servizio cloud, senza la necessità di un nome di dominio completo.You can use name resolution between VMs and role instances within the same cloud service, without the need for an FQDN.
  • Possibilità di usare la risoluzione dei nomi tra macchine virtuali presenti in reti virtuali che usano il modello di distribuzione Azure Resource Manager, senza la necessità di un nome di 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. Le reti virtuali nel modello di distribuzione classica richiedono il nome di dominio completo per la risoluzione dei nomi in servizi cloud diversi.Virtual networks in the classic deployment model require an FQDN when you are resolving names in different cloud services.
  • Possibilità di usare nomi host che descrivano le distribuzioni nel modo più adeguato, anziché usare nomi generati automaticamente.You can use host names that best describe your deployments, rather than working with auto-generated names.

ConsiderazioniConsiderations

Ecco gli aspetti da prendere in considerazione quando si usa la risoluzione dei nomi fornita da Azure:Points to consider when you are using Azure-provided name resolution:

  • Il suffisso DNS creato da Azure non può essere modificato.The Azure-created DNS suffix cannot be modified.
  • Non è possibile registrare manualmente i propri record.You cannot manually register your own records.
  • WINS e NetBIOS non sono supportati.WINS and NetBIOS are not supported. Non è possibile visualizzare le macchine virtuali in Esplora risorse.You cannot see your VMs in Windows Explorer.
  • I nomi host devono essere compatibili con DNS.Host names must be DNS-compatible. I nomi devono includere solo i numeri 0-9, le lettere a-z e il segno - e non possono iniziare o terminare con il segno -.Names must use only 0-9, a-z, and '-', and cannot start or end with a '-'.
  • Il traffico di query DNS è limitato per ogni VM.DNS query traffic is throttled for each VM. La limitazione in genere non comporta alcun impatto sulla maggior parte delle applicazioni.Throttling shouldn't impact most applications. Se viene osservata la limitazione delle richieste, assicurarsi che la memorizzazione nella cache sul lato client sia abilitata.If request throttling is observed, ensure that client-side caching is enabled. Per altre informazioni, vedere Configurazione del client DNS.For more information, see DNS client configuration.
  • Solo le VM nei primi 180 servizi cloud sono registrate per ogni rete virtuale in un modello di distribuzione classica.Only VMs in the first 180 cloud services are registered for each virtual network in a classic deployment model. Questo limite non si applica alle reti virtuali in Azure Resource Manager.This limit does not apply to virtual networks in Azure Resource Manager.

Configurazione del client DNSDNS client configuration

Questa sezione descrive la memorizzazione nella cache sul lato client e la ripetizione di tentativi sul lato client.This section covers client-side caching and client-side retries.

Memorizzazione nella cache sul lato clientClient-side caching

Non tutte le query DNS devono essere inviate attraverso la rete.Not every DNS query needs to be sent across the network. La memorizzazione nella cache sul lato client consente di ridurre la latenza e migliorare la resilienza ai blip (brevi interruzioni) di rete tramite la risoluzione di query DNS ricorrenti da una cache locale.Client-side caching helps reduce latency and improve resilience to network blips, by resolving recurring DNS queries from a local cache. I record DNS includono un meccanismo di durata (TTL) che consente alla cache di memorizzare il record per il periodo di tempo più lungo possibile senza che questo influisca sullo stato di aggiornamento del record.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. Di conseguenza, la memorizzazione nella cache sul lato client è ideale nella maggior parte dei casi.Thus, client-side caching is suitable for most situations.

Il client DNS di Windows predefinito contiene una cache DNS predefinita.The default Windows DNS client has a DNS cache built-in. Alcune distribuzioni Linux non includono la memorizzazione nella cache per impostazione predefinita.Some Linux distributions do not include caching by default. Se si verifica che non è presente una cache locale, aggiungere una cache DNS a ogni macchina virtuale Linux.If you find that there isn't a local cache already, add a DNS cache to each Linux VM.

Sono disponibili alcuni pacchetti di memorizzazione nella cache DNS diversi, tra cui dnsmasq.There are a number of different DNS caching packages available (such as dnsmasq). Ecco la procedura per installare dnsmasq nelle distribuzioni più comuni:Here's how to install dnsmasq on the most common distributions:

  • Ubuntu (usa resolvconf):Ubuntu (uses resolvconf):
    • Installare il pacchetto dnsmasq con sudo apt-get install dnsmasq.Install the dnsmasq package with sudo apt-get install dnsmasq.
  • SUSE (usa netconf):SUSE (uses netconf):
    • Installare il pacchetto dnsmasq con sudo zypper install dnsmasq.Install the dnsmasq package with sudo zypper install dnsmasq.
    • Abilitare il servizio dnsmasq con systemctl enable dnsmasq.service.Enable the dnsmasq service with systemctl enable dnsmasq.service.
    • Avviare il servizio dnsmasq con systemctl start dnsmasq.service.Start the dnsmasq service with systemctl start dnsmasq.service.
    • Modificare /etc/sysconfig/network/config e sostituire NETCONFIG_DNS_FORWARDER="" con dnsmasq.Edit /etc/sysconfig/network/config, and change NETCONFIG_DNS_FORWARDER="" to dnsmasq.
    • Aggiornare resolv.conf con netconfig update per impostare la cache come resolver DNS locale.Update resolv.conf with netconfig update, to set the cache as the local DNS resolver.
  • OpenLogic (usa NetworkManager):OpenLogic (uses NetworkManager):
    • Installare il pacchetto dnsmasq con sudo yum install dnsmasq.Install the dnsmasq package with sudo yum install dnsmasq.
    • Abilitare il servizio dnsmasq con systemctl enable dnsmasq.service.Enable the dnsmasq service with systemctl enable dnsmasq.service.
    • Avviare il servizio dnsmasq con systemctl start dnsmasq.service.Start the dnsmasq service with systemctl start dnsmasq.service.
    • Aggiungere 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.
    • Riavviare il servizio di rete con service network restart per impostare la cache come resolver DNS locale.Restart the network service with service network restart, to set the cache as the local DNS resolver.

Nota

Il pacchetto dnsmasq è solo una delle numerose cache DNS disponibili per Linux.The dnsmasq package is only one of many DNS caches available for Linux. Prima di usarlo, assicurarsi che sia adatto alle esigenze specifiche e verificare che non siano installate altre cache.Before using it, check its suitability for your particular needs, and check that no other cache is installed.

Ripetizione di tentativi sul lato clientClient-side retries

DNS è principalmente un protocollo UDP.DNS is primarily a UDP protocol. Poiché UDP non garantisce il recapito dei messaggi, la logica di ripetizione dei tentativi viene gestita nel protocollo DNS stesso.Because the UDP protocol doesn't guarantee message delivery, retry logic is handled in the DNS protocol itself. Ogni client DNS (sistema operativo) può includere una logica di ripetizione dei tentativi diversa, in base alle preferenze dell'autore:Each DNS client (operating system) can exhibit different retry logic, depending on the creator's preference:

  • I sistemi operativi Windows eseguono un nuovo tentativo dopo 1 secondo e quindi ne eseguono un altro dopo 2, 4 e altri 4 secondi.Windows operating systems retry after one second, and then again after another two seconds, four seconds, and another four seconds.
  • La configurazione di Linux predefinita esegue il tentativo dopo 5 secondi.The default Linux setup retries after five seconds. È consigliabile aumentare il numero di ripetizione dei tentativi a 5, a intervalli di 1 secondo.We recommend changing the retry specifications to five times, at one-second intervals.

Controllare le impostazioni correnti in una VM Linux con cat /etc/resolv.conf.Check the current settings on a Linux VM with cat /etc/resolv.conf. Osservare ad esempio la riga options:Look at the options line, for example:

options timeout:1 attempts:5

Il file resolv.conf viene di solito generato automaticamente e non deve essere modificato.The resolv.conf file is usually auto-generated, and should not be edited. La procedura specifica per aggiungere la riga options varia a seconda della distribuzione:The specific steps for adding the options line vary by distribution:

  • Ubuntu (usa resolvconf):Ubuntu (uses resolvconf):
    1. Aggiungere la riga options a /etc/resolveconf/resolv.conf.d/head.Add the options line to /etc/resolveconf/resolv.conf.d/head.
    2. Eseguire resolvconf -u per aggiornare.Run resolvconf -u to update.
  • SUSE (usa netconf):SUSE (uses netconf):
    1. Aggiungere timeout:1 attempts:5 al parametro NETCONFIG_DNS_RESOLVER_OPTIONS="" in /etc/sysconfig/network/config.Add timeout:1 attempts:5 to the NETCONFIG_DNS_RESOLVER_OPTIONS="" parameter in /etc/sysconfig/network/config.
    2. Eseguire netconfig update per aggiornare.Run netconfig update to update.
  • OpenLogic (usa NetworkManager):OpenLogic (uses NetworkManager):
    1. Aggiungere 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. Aggiornare con service network restart.Update with service network restart.

Risoluzione dei nomi con l'uso del proprio server DNSName resolution that uses your own DNS server

Questa sezione descrive le macchine virtuali, le istanze del ruolo e le app Web.This section covers VMs, role instances, and web apps.

Istanze del ruolo e delle VMVMs and role instances

Le funzionalità offerte da Azure possono non essere sufficienti a soddisfare le esigenze di risoluzione dei nomi di un utente.Your name resolution needs might go beyond the features provided by Azure. Ad esempio, potrebbe essere necessario utilizzare i domini di Active Directory in Microsoft Windows Server, risolvere i nomi DNS tra reti virtuali.For example, you might need to use Microsoft Windows Server Active Directory domains, resolve DNS names between virtual networks. Per questi scenari specifici, Azure offre la possibilità di usare i propri server DNS.To cover these scenarios, Azure provides the ability for you to use your own DNS servers.

I server DNS all'interno di una rete virtuale possono inoltrare query DNS ai resolver ricorsivi di Azure.DNS servers within a virtual network can forward DNS queries to the recursive resolvers in Azure. In questo modo è possibile risolvere i nomi host all'interno di tale rete virtuale.This enables you to resolve host names within that virtual network. Ad esempio, un controller di dominio eseguito in Azure può rispondere a query DNS relative ai propri domini e inoltrare tutte le altre query ad 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. L'inoltro delle query consente alle macchine virtuali di visualizzare sia le risorse locali, tramite il controller di dominio, sia i nomi host forniti da Azure, tramite il server di inoltro.Forwarding queries allows VMs to see both your on-premises resources (via the DC) and Azure-provided host names (via the forwarder). L'accesso ai resolver ricorsivi di Azure viene fornito tramite l'indirizzo IP virtuale 168.63.129.16.Access to the recursive resolvers in Azure is provided via the virtual IP 168.63.129.16.

L'inoltro DNS consente anche la risoluzione DNS tra reti virtuali e permette ai computer locali di risolvere i nomi host forniti da Azure.DNS forwarding also enables DNS resolution between virtual networks, and allows your on-premises machines to resolve Azure-provided host names. Per risolvere il nome host di una macchina virtuale, la macchina virtuale del server DNS deve trovarsi nella stessa rete virtuale ed essere configurata per l'inoltro di query relative ai nomi host ad 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. Poiché il suffisso DNS è diverso in ogni rete virtuale, è possibile usare le regole di inoltro condizionale per inviare le query DNS alla rete virtuale corretta per la risoluzione.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. L'immagine seguente illustra due reti virtuali e una rete locale che gestiscono la risoluzione DNS tra reti virtuali con il metodo descritto.The following image shows two virtual networks and an on-premises network doing DNS resolution between virtual networks, by using this method. Un esempio di server di inoltro DNS è disponibile nella raccolta di modelli di avvio rapido di Azure e su GitHub.An example DNS forwarder is available in the Azure Quickstart Templates gallery and GitHub.

Nota

Un'istanza del ruolo può eseguire la risoluzione dei nomi di macchine virtuali all'interno della stessa rete virtuale.A role instance can perform name resolution of VMs within the same virtual network. A tale scopo, usa il nome di dominio completo, costituito dal nome host della macchina virtuale e dal suffisso 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. Tuttavia, in questo caso, la risoluzione dei nomi ha esito positivo solo se per l'istanza del ruolo il nome della VM è definito nello schema Role (file con estensione 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).

Le istanze del ruolo che devono eseguire la risoluzione dei nomi delle macchine virtuali in un'altra rete virtuale (nome di dominio completo con il suffisso internal.cloudapp.net) devono usare il metodo descritto in questa sezione (server DNS personalizzati per l'inoltro tra le due reti virtuali).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).

Figura della risoluzione DNS tra reti virtuali

Quando si usa la risoluzione dei nomi fornita da Azure, il protocollo DHCP (Dynamic Host Configuration Protocol) di Azure assegna un suffisso DNS interno (.internal.cloudapp.net) a ogni macchina virtuale.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. Questo suffisso consente la risoluzione dei nomi host perché i record dei nomi host si trovano nell'area internal.cloudapp.net.This suffix enables host name resolution because the host name records are in the internal.cloudapp.net zone. Quando si usa la soluzione di risoluzione dei nomi personalizzata, questo suffisso non viene fornito alle macchine virtuali perché interferisce con altre architetture DNS, ad esempio gli scenari con aggiunta al 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). Azure assegna invece un segnaposto non funzionante (reddog.microsoft.com).Instead, Azure provides a non-functioning placeholder (reddog.microsoft.com).

Se necessario, è possibile determinare il suffisso DNS interno usando PowerShell o l'API:If necessary, you can determine the internal DNS suffix by using PowerShell or the API:

Se l'inoltro delle query ad Azure non soddisfa le esigenze specifiche, sarà necessario offrire una soluzione DNS personalizzata.If forwarding queries to Azure doesn't suit your needs, you should provide your own DNS solution. La soluzione DNS deve:Your DNS solution needs to:

  • Offrire una soluzione di risoluzione dei nomi host appropriata, ad esempio con DNS dinamico.Provide appropriate host name resolution, via DDNS, for example. Usando il DNS dinamico potrebbe essere necessario disabilitare lo scavenging dei record DNS.If you are using DDNS, you might need to disable DNS record scavenging. Le lease DHCP di Azure sono lunghe e lo scavenging potrebbe rimuovere i record DNS in modo anomalo.Azure DHCP leases are long, and scavenging might remove DNS records prematurely.
  • Fornire una soluzione di risoluzione ricorsiva appropriata per consentire la risoluzione dei nomi di dominio esterni.Provide appropriate recursive resolution to allow resolution of external domain names.
  • Essere accessibile (tramite TCP e UDP sulla porta 53) dai client che gestisce ed essere in grado di accedere a Internet.Be accessible (TCP and UDP on port 53) from the clients it serves, and be able to access the internet.
  • Essere protetta dagli accessi provenienti da Internet per attenuare i rischi rappresentati da agenti esterni.Be secured against access from the internet, to mitigate threats posed by external agents.

Nota

Per ottenere prestazioni ottimali, quando si usano le macchine virtuali di Azure come server DNS è necessario disabilitare IPv6.For best performance, when you are using Azure VMs as DNS servers, IPv6 should be disabled. È consigliabile assegnare un indirizzo IP pubblico a ogni macchina virtuale del server DNS.A public IP address should be assigned to each DNS server VM. Per altre analisi delle prestazioni e ottimizzazioni quando si usa Windows Server come proprio server DNS, vedere Name resolution performance of a recursive Windows DNS Server 2012 R2 (Prestazioni di risoluzione dei nomi di un server DNS Windows 2012 R2).For additional performance analysis and optimizations when you are using Windows Server as your DNS server, see Name resolution performance of a recursive Windows DNS Server 2012 R2.

App WebWeb apps

Si supponga di dover eseguire la risoluzione dei nomi dall'app Web creata tramite il servizio app, collegato a una rete virtuale, nelle macchine virtuali presenti nella stessa rete virtuale.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. Oltre a configurare un server DNS personalizzato dotato di un server di inoltro di query ad Azure (IP virtuale 168.63.129.16), eseguire la procedura seguente: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. Se non è ancora stato fatto, abilitare l'integrazione della rete virtuale per l'app Web, come descritto in Integrare un'app in una rete virtuale.Enable virtual network integration for your web app, if not done already, as described in Integrate your app with a virtual network.
  2. Nel portale di Azure selezionare Sincronizza rete in Rete, Virtual Network Integration per il piano di servizio app che ospita l'app Web.In the Azure portal, for the App Service plan hosting the web app, select Sync Network under Networking, Virtual Network Integration.

    Screenshot della risoluzione dei nomi delle reti virtuali

Se è necessario eseguire la risoluzione dei nomi dall'app Web realizzata tramite il servizio app, collegata a una rete virtuale, alle macchine virtuali in un'altra rete virtuale, è necessario utilizzare i server DNS personalizzati in entrambe le reti virtuali, come indicato di seguito: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:

  • Configurare un server DNS nella rete virtuale di destinazione, in una macchina virtuale che può anche inoltrare le query al resolver ricorsivo di Azure (IP virtuale 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). Un esempio di server di inoltro DNS è disponibile nella raccolta di modelli di avvio rapido di Azure e su GitHub.An example DNS forwarder is available in the Azure Quickstart Templates gallery and GitHub.
  • Configurare un server d'inoltro DNS nella rete virtuale di origine in una VM.Set up a DNS forwarder in the source virtual network on a VM. Configurare questo server d'inoltro DNS per inoltrare le query al server DNS nella rete virtuale di destinazione.Configure this DNS forwarder to forward queries to the DNS server in your target virtual network.
  • Configurare il server DNS di origine nelle impostazioni della rete virtuale di origine.Configure your source DNS server in your source virtual network’s settings.
  • Abilitare l'integrazione della rete virtuale per consentire all'app Web di collegarsi alla rete virtuale di origine, seguendo le istruzioni in Integrare un'app in una rete virtuale.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.
  • Nel portale di Azure selezionare Sincronizza rete in Rete, Virtual Network Integration per il piano di servizio app che ospita l'app Web.In the Azure portal, for the App Service plan hosting the web app, select Sync Network under Networking, Virtual Network Integration.

Specificare i server DNSSpecify DNS servers

Quando si usano i propri server DNS, Azure offre la possibilità di specificare più server DNS per ogni rete virtuale.When you are using your own DNS servers, Azure provides the ability to specify multiple DNS servers per virtual network. È anche possibile specificare più server DNS per ogni interfaccia di rete (per Azure Resource Manager) o per ogni servizio cloud (per il modello di distribuzione classica).You can also specify multiple DNS servers per network interface (for Azure Resource Manager), or per cloud service (for the classic deployment model). I server DNS specificati per un'interfaccia di rete o un servizio cloud hanno la precedenza su quelli specificati per la rete virtuale.DNS servers specified for a network interface or cloud service get precedence over DNS servers specified for the virtual network.

Nota

Le proprietà della connessione di rete, ad esempio gli IP del server DNS, non devono essere modificate direttamente nelle macchine virtuali Windows.Network connection properties, such as DNS server IPs, should not be edited directly within Windows VMs. Potrebbero infatti essere cancellate durante la correzione del servizio, quando la scheda di rete virtuale viene sostituita.This is because they might get erased during service heal when the virtual network adaptor gets replaced.

Quando si usa il modello di distribuzione Azure Resource Manager, è possibile specificare i server DNS per una rete virtuale e un’interfaccia di rete.When you are using the Azure Resource Manager deployment model, you can specify DNS servers for a virtual network and a network interface. Per informazioni dettagliate, vedere Gestire una rete virtuale e Gestire un'interfaccia di rete.For details, see Manage a virtual network and Manage a network interface.

Quando si usa il modello di distribuzione classica, è possibile specificare i server DNS per la rete virtuale nel portale di Azure o nel file di configurazione della rete.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. Per i servizi cloud, è possibile specificare i server DNS nel file di configurazione del servizio o tramite 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

Se si modificano le impostazioni DNS di una rete virtuale o una macchina virtuale già distribuita, è necessario riavviare ogni macchina virtuale interessata affinché le modifiche vengano applicate.If you change the DNS settings for a virtual network or virtual machine that is already deployed, you need to restart each affected VM for the changes to take effect.

Passaggi successiviNext steps

Modello di distribuzione Azure Resource Manager:Azure Resource Manager deployment model:

Modello di distribuzione classica:Classic deployment model: