Azure sanal ağlarında kaynaklar için ad çözümlemesiName resolution for resources in Azure virtual networks

IaaS, PaaS ve hibrit çözümlerini barındırmak için Azure 'u nasıl kullandığınıza bağlı olarak, sanal makinelerin (VM 'Ler) ve bir sanal ağda dağıtılan diğer kaynakların birbirleriyle iletişim kurmasına izin vermeniz gerekebilir.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. IP adreslerini kullanarak iletişimi etkinleştirebilseniz de, kolayca hatırlanabilme ve değiştirmediğiniz adların kullanılması çok daha basittir.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.

Sanal ağlara dağıtılan kaynakların etki alanı adlarını iç IP adreslerine çözümlemesi gerektiğinde kullanabileceğini iki yöntem vardır:When resources deployed in virtual networks need to resolve domain names to internal IP addresses, they can use one of two methods:

Kullandığınız ad çözümlemenin türü kaynaklarınızın birbirleriyle nasıl iletişim kurması gerektiği konusunda farklılık gösterir.The type of name resolution you use depends on how your resources need to communicate with each other. Aşağıdaki tabloda senaryolar ve ilgili ad çözümleme çözümleri gösterilmektedir:The following table illustrates scenarios and corresponding name resolution solutions:

Not

Senaryonuza bağlı olarak, şu anda genel önizleme aşamasında olan Azure DNS Özel Bölgeleri özelliğini kullanmak isteyebilirsiniz.Depending on your scenario, you may want to use the Azure DNS Private Zones feature, which is currently in Public Preview. Daha fazla bilgi için bkz. Azure DNS'yi özel etki alanları için kullanma.For more information, see Using Azure DNS for private domains.

SenaryoScenario ÇözümSolution ÖnekiniSuffix
Aynı sanal ağda bulunan VM 'Ler veya aynı bulut hizmetindeki Azure Cloud Services rol örnekleri arasındaki ad çözümlemesi.Name resolution between VMs located in the same virtual network, or Azure Cloud Services role instances in the same cloud service. Azure DNS özel bölgeleri veya Azure tarafından sağlanmış ad çözümlemesiAzure DNS Private Zones or Azure-provided name resolution Ana bilgisayar adı veya FQDNHostname or FQDN
Farklı sanal ağlardaki VM 'Ler veya farklı bulut hizmetlerindeki rol örneklerinde ad çözümleme.Name resolution between VMs in different virtual networks or role instances in different cloud services. Azure DNS özel bölgeleri veya, müşteri tarafından yönetilen DNS sunucuları, Azure tarafından çözümlenmek üzere sanal ağlar arasında sorguları ILETEN (DNS proxy).Azure DNS Private Zones or, Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Bkz. kendı DNS sunucunuzu kullanarak ad çözümlemesi.See Name resolution using your own DNS server. Yalnızca FQDNFQDN only
Aynı sanal ağdaki rol örneklerine veya VM 'lere sanal ağ tümleştirmesi kullanarak bir Azure App Service (Web uygulaması, Işlev veya bot) ad çözümlemesi.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. Müşteri tarafından yönetilen DNS sunucuları, Azure tarafından çözümlenmek üzere sanal ağlar arasında sorguları ileten (DNS proxy).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Bkz. kendı DNS sunucunuzu kullanarak ad çözümlemesi.See Name resolution using your own DNS server. Yalnızca FQDNFQDN only
App Service Web Apps aynı sanal ağdaki VM 'lere ad çözümleme.Name resolution from App Service Web Apps to VMs in the same virtual network. Müşteri tarafından yönetilen DNS sunucuları, Azure tarafından çözümlenmek üzere sanal ağlar arasında sorguları ileten (DNS proxy).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Bkz. kendı DNS sunucunuzu kullanarak ad çözümlemesi.See Name resolution using your own DNS server. Yalnızca FQDNFQDN only
Bir sanal ağdaki App Service Web Apps farklı bir sanal ağdaki VM 'lere ad çözümleme.Name resolution from App Service Web Apps in one virtual network to VMs in a different virtual network. Müşteri tarafından yönetilen DNS sunucuları, Azure tarafından çözümlenmek üzere sanal ağlar arasında sorguları ileten (DNS proxy).Customer-managed DNS servers forwarding queries between virtual networks for resolution by Azure (DNS proxy). Bkz. kendi DNS sunucunuzu kullanarak ad çözümlemesi.See Name resolution using your own DNS server. Yalnızca FQDNFQDN only
Şirket içi bilgisayar ve hizmet adları, VM 'lerden veya Azure 'daki rol örneklerinden çözümlenmektedir.Resolution of on-premises computer and service names from VMs or role instances in Azure. Müşteri tarafından yönetilen DNS sunucuları (Şirket içi etki alanı denetleyicisi, yerel salt okuma etki alanı denetleyicisi veya bölge aktarımları kullanılarak eşitlenmiş bir DNS ikincil sunucu).Customer-managed DNS servers (on-premises domain controller, local read-only domain controller, or a DNS secondary synced using zone transfers, for example). Bkz. kendı DNS sunucunuzu kullanarak ad çözümlemesi.See Name resolution using your own DNS server. Yalnızca FQDNFQDN only
Şirket içi bilgisayarlardan Azure ana bilgisayar adları çözümlemesi.Resolution of Azure hostnames from on-premises computers. Sorguları karşılık gelen sanal ağdaki müşteri tarafından yönetilen bir DNS proxy sunucusuna ilet, proxy sunucusu sorguları çözümlenmek üzere Azure 'a iletir.Forward queries to a customer-managed DNS proxy server in the corresponding virtual network, the proxy server forwards queries to Azure for resolution. Bkz. kendı DNS sunucunuzu kullanarak ad çözümlemesi.See Name resolution using your own DNS server. Yalnızca FQDNFQDN only
İç IP 'Ler için ters DNS.Reverse DNS for internal IPs. Kendı DNS sunucunuzu kullanarak ad çözümlemesi.Name resolution using your own DNS server. Geçerli değilNot applicable
Sanal bir ağda değil, farklı bulut hizmetlerinde bulunan VM 'Ler veya rol örnekleri arasında ad çözümlemesi.Name resolution between VMs or role instances located in different cloud services, not in a virtual network. Geçerli değildir.Not applicable. Farklı bulut hizmetlerindeki VM 'Ler ve rol örnekleri arasında bağlantı, sanal ağ dışında desteklenmez.Connectivity between VMs and role instances in different cloud services is not supported outside a virtual network. Geçerli değilNot applicable

Azure tarafından sağlanmış ad çözümlemesiAzure-provided name resolution

Azure, genel DNS adlarını çözümlemesiyle birlikte, aynı sanal ağ veya bulut hizmeti içinde bulunan VM 'Ler ve rol örnekleri için iç ad çözümlemesi sağlar.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. Bir bulut hizmetindeki sanal makineler ve örnekler aynı DNS sonekini paylaşır, bu nedenle ana bilgisayar adı tek başına yeterlidir.VMs and instances in a cloud service share the same DNS suffix, so the host name alone is sufficient. Ancak, klasik dağıtım modeli kullanılarak dağıtılan sanal ağlarda farklı bulut Hizmetleri farklı DNS soneklerine sahiptir.But in virtual networks deployed using the classic deployment model, different cloud services have different DNS suffixes. Bu durumda, farklı bulut hizmetleri arasındaki adları çözümlemek için FQDN 'ye ihtiyacınız vardır.In this situation, you need the FQDN to resolve names between different cloud services. Azure Resource Manager dağıtım modeli kullanılarak dağıtılan sanal ağlarda, DNS son eki sanal ağ genelinde tutarlıdır, bu nedenle FQDN gerekli değildir.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. DNS adları, hem VM 'lere hem de ağ arabirimlerine atanabilir.DNS names can be assigned to both VMs and network interfaces. Azure tarafından sağlanmış ad çözümlemesi herhangi bir yapılandırma gerektirmese de, önceki tabloda açıklandığı gibi tüm dağıtım senaryolarında uygun seçim değildir.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.

Not

Cloud Services Web ve çalışan rollerini kullanırken, Azure hizmet yönetimi REST API kullanarak rol örneklerinin iç IP adreslerine de erişebilirsiniz.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. Daha fazla bilgi için bkz. hizmet yönetimi REST API başvurusu.For more information, see the Service Management REST API Reference. Adres, rol adı ve örnek numarasını temel alır.The address is based on the role name and instance number.

ÖzelliklerFeatures

Azure tarafından sunulan ad çözümlemesi aşağıdaki özellikleri içerir:Azure-provided name resolution includes the following features:

  • Kullanım kolaylığı.Ease of use. Yapılandırma gerekmiyor.No configuration is required.
  • Yüksek kullanılabilirlik.High availability. Kendi DNS sunucularınızın kümelerini oluşturmanız ve yönetmeniz gerekmez.You don't need to create and manage clusters of your own DNS servers.
  • Hizmeti, hem şirket içi hem de Azure ana bilgisayar adlarını çözümlemek için kendi DNS sunucularınızla birlikte kullanabilirsiniz.You can use the service in conjunction with your own DNS servers, to resolve both on-premises and Azure host names.
  • Aynı bulut hizmetindeki sanal makineler ve rol örnekleri arasında ad çözümlemesini bir FQDN gereksinimi olmadan kullanabilirsiniz.You can use name resolution between VMs and role instances within the same cloud service, without the need for an FQDN.
  • Bir FQDN 'ye gerek duymadan Azure Resource Manager dağıtım modelini kullanan sanal ağlardaki VM 'Ler arasında ad çözümlemesini kullanabilirsiniz.You can use name resolution between VMs in virtual networks that use the Azure Resource Manager deployment model, without need for an FQDN. Klasik dağıtım modelindeki sanal ağlar, farklı bulut hizmetlerindeki adları çözerken bir FQDN gerektirir.Virtual networks in the classic deployment model require an FQDN when you are resolving names in different cloud services.
  • Otomatik olarak oluşturulan adlarla çalışmak yerine dağıtımlarınızı en iyi şekilde tanımlayan ana bilgisayar adlarını kullanabilirsiniz.You can use host names that best describe your deployments, rather than working with auto-generated names.

Dikkat edilmesi gerekenlerConsiderations

Azure tarafından sağlanmış ad çözümlemesi kullanırken göz önünde bulundurmanız gereken noktaları:Points to consider when you are using Azure-provided name resolution:

  • Azure tarafından oluşturulan DNS son eki değiştirilemez.The Azure-created DNS suffix cannot be modified.
  • Kendi kayıtlarınızı el ile kaydedemezsiniz.You cannot manually register your own records.
  • WINS ve NetBIOS desteklenmez.WINS and NetBIOS are not supported. Windows Gezgini 'nde sanal makinelerinizi göremezsiniz.You cannot see your VMs in Windows Explorer.
  • Ana bilgisayar adları, DNS ile uyumlu olmalıdır.Host names must be DNS-compatible. Adlar yalnızca 0-9, a-z ve '-' karakterlerini kullanmalıdır ve '-' ile başlayamaz veya bitemez.Names must use only 0-9, a-z, and '-', and cannot start or end with a '-'.
  • DNS sorgu trafiği her VM için kısıtlanıyor.DNS query traffic is throttled for each VM. Azaltma birçok uygulamanın etkilenmemelidir.Throttling shouldn't impact most applications. İstek azaltma gözlemlenip, istemci tarafı önbelleğinin etkinleştirildiğinden emin olun.If request throttling is observed, ensure that client-side caching is enabled. Daha fazla bilgi için bkz. DNS istemci yapılandırması.For more information, see DNS client configuration.
  • Klasik bir dağıtım modelindeki her bir sanal ağ için yalnızca ilk 180 bulut hizmetlerindeki VM 'Ler kaydedilir.Only VMs in the first 180 cloud services are registered for each virtual network in a classic deployment model. Bu sınır Azure Resource Manager sanal ağlara uygulanmaz.This limit does not apply to virtual networks in Azure Resource Manager.
  • Azure DNS IP adresi 168.63.129.16.The Azure DNS IP address is 168.63.129.16. Bu statik bir IP adresidir ve değişmeyecektir.This is a static IP address and will not change.

DNS istemci yapılandırmasıDNS client configuration

Bu bölümde istemci tarafı önbelleğe alma ve istemci tarafı yeniden denemeleri ele alınmaktadır.This section covers client-side caching and client-side retries.

İstemci tarafı önbelleğe almaClient-side caching

Her DNS sorgusunun ağ üzerinden gönderilmesi gerekmez.Not every DNS query needs to be sent across the network. İstemci tarafı önbelleğe alma, yinelenen DNS sorgularını yerel bir önbellekten çözümleyerek gecikmeyi azaltmaya ve ağ bliitlerine esnekliği iyileştirilmesine yardımcı olur.Client-side caching helps reduce latency and improve resilience to network blips, by resolving recurring DNS queries from a local cache. DNS kayıtları, önbelleğin kaydı yeniliği etkilemeden mümkün olduğunca uzun süre depolamasına izin veren yaşam süresi (TTL) mekanizması içerir.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. Bu nedenle, çoğu durum için istemci tarafı önbelleğe alma uygundur.Thus, client-side caching is suitable for most situations.

Varsayılan Windows DNS istemcisinde yerleşik bir DNS önbelleği vardır.The default Windows DNS client has a DNS cache built-in. Bazı Linux dağıtımları önbelleğe alma işlemini varsayılan olarak içermez.Some Linux distributions do not include caching by default. Zaten yerel bir önbellek olmadığını fark ederseniz, her bir Linux sanal makinesine bir DNS önbelleği ekleyin.If you find that there isn't a local cache already, add a DNS cache to each Linux VM.

Kullanılabilir farklı DNS önbelleğe alma paketleri vardır (dnsmasq gibi).There are a number of different DNS caching packages available (such as dnsmasq). Aşağıda, en yaygın dağıtımlardan dnsmasq 'nin nasıl yükleneceği açıklanmaktadır:Here's how to install dnsmasq on the most common distributions:

  • Ubuntu (resolvconf kullanır) :Ubuntu (uses resolvconf):
    • Dnsmasq paketini ile birlikte sudo apt-get install dnsmasqyükler.Install the dnsmasq package with sudo apt-get install dnsmasq.
  • SUSE (netconf kullanır) :SUSE (uses netconf):
    • Dnsmasq paketini ile birlikte sudo zypper install dnsmasqyükler.Install the dnsmasq package with sudo zypper install dnsmasq.
    • Dnsmasq hizmetini ile systemctl enable dnsmasq.serviceetkinleştirin.Enable the dnsmasq service with systemctl enable dnsmasq.service.
    • Dnsmasq hizmetini ile systemctl start dnsmasq.servicebaşlatın.Start the dnsmasq service with systemctl start dnsmasq.service.
    • /Etc/sysconfig/Network/config' i düzenleyin ve NETCONFIG_DNS_FORWARDER = "" değerini dnsmasqolarak değiştirin.Edit /etc/sysconfig/network/config, and change NETCONFIG_DNS_FORWARDER="" to dnsmasq.
    • Önbelleği yerel DNS Çözümleyicisi olarak ayarlamak netconfig updateiçin resolv. conf ile güncelleştirin.Update resolv.conf with netconfig update, to set the cache as the local DNS resolver.
  • CentOS (NetworkManager kullanır) :CentOS (uses NetworkManager):
    • Dnsmasq paketini ile birlikte sudo yum install dnsmasqyükler.Install the dnsmasq package with sudo yum install dnsmasq.
    • Dnsmasq hizmetini ile systemctl enable dnsmasq.serviceetkinleştirin.Enable the dnsmasq service with systemctl enable dnsmasq.service.
    • Dnsmasq hizmetini ile systemctl start dnsmasq.servicebaşlatın.Start the dnsmasq service with systemctl start dnsmasq.service.
    • /Etc/dhclient-ah0.conf' e etki alanı-adı-sunucu 127.0.0.1; ekleyin.Add prepend domain-name-servers 127.0.0.1; to /etc/dhclient-eth0.conf.
    • Önbelleği yerel DNS Çözümleyicisi olarak service network restartayarlamak için ile ağ hizmetini yeniden başlatın.Restart the network service with service network restart, to set the cache as the local DNS resolver.

Not

Dnsmasq paketi yalnızca Linux için kullanılabilen birçok DNS Önbelleklerinden biridir.The dnsmasq package is only one of many DNS caches available for Linux. Kullanmadan önce, belirli gereksinimleriniz için uygunluğu denetleyin ve başka bir önbelleğin yüklenmediğini denetleyin.Before using it, check its suitability for your particular needs, and check that no other cache is installed.

İstemci tarafı yeniden denemeleriClient-side retries

DNS birincil olarak bir UDP protokolüdür.DNS is primarily a UDP protocol. UDP Protokolü ileti teslimini garanti etmez, yeniden deneme mantığı DNS protokolünün kendisinde işlenir.Because the UDP protocol doesn't guarantee message delivery, retry logic is handled in the DNS protocol itself. Her DNS istemcisi (işletim sistemi), oluşturucunun tercihine bağlı olarak farklı bir yeniden deneme mantığı sergiler:Each DNS client (operating system) can exhibit different retry logic, depending on the creator's preference:

  • Windows işletim sistemleri bir saniye sonra yeniden dener ve sonra bir sonraki iki saniye, dört saniye ve dört saniye sonra yeniden dener.Windows operating systems retry after one second, and then again after another two seconds, four seconds, and another four seconds.
  • Varsayılan Linux Kurulumu beş saniye sonra yeniden dener.The default Linux setup retries after five seconds. Yeniden deneme belirtimlerinin beş kez, tek saniyelik aralıklarla değiştirilmesini öneririz.We recommend changing the retry specifications to five times, at one-second intervals.

Bir Linux VM cat /etc/resolv.conf'deki geçerli ayarları kontrol edin.Check the current settings on a Linux VM with cat /etc/resolv.conf. Seçenekler satırına bakın, örneğin:Look at the options line, for example:

options timeout:1 attempts:5

Resolv. conf dosyası genellikle otomatik olarak oluşturulur ve düzenlenmemelidir.The resolv.conf file is usually auto-generated, and should not be edited. Seçenekler satırını eklemek için özel adımlar dağıtıma göre farklılık gösterir:The specific steps for adding the options line vary by distribution:

  • Ubuntu (resolvconf kullanır):Ubuntu (uses resolvconf):
    1. Options satırını /etc/resolvconf/resolv.exe' ye ekleyin.Add the options line to /etc/resolvconf/resolv.conf.d/tail.
    2. Güncelleştirmek resolvconf -u için çalıştırın.Run resolvconf -u to update.
  • SUSE (netconf kullanır):SUSE (uses netconf):
    1. Zaman aşımı: 1 deneme: 5 ' i NETCONFIG_DNS_RESOLVER_OPTIONS = "" parametresine /Etc/sysconfig/Network/configekleyin.Add timeout:1 attempts:5 to the NETCONFIG_DNS_RESOLVER_OPTIONS="" parameter in /etc/sysconfig/network/config.
    2. Güncelleştirmek netconfig update için çalıştırın.Run netconfig update to update.
  • CentOS (NetworkManager kullanır):CentOS (uses NetworkManager):
    1. /Etc/NetworkManager/Dispatcher,d/11-dhclientiçin echo "Options timeout: 1 deneme: 5" ekleyin.Add echo "options timeout:1 attempts:5" to /etc/NetworkManager/dispatcher.d/11-dhclient.
    2. İle service network restartgüncelleştirin.Update with service network restart.

Kendi DNS sunucunuzu kullanan ad çözümlemesiName resolution that uses your own DNS server

Bu bölümde VM 'Ler, rol örnekleri ve Web uygulamaları ele alınmaktadır.This section covers VMs, role instances, and web apps.

VM 'Ler ve rol örnekleriVMs and role instances

Ad çözümleme gereksinimleriniz, Azure tarafından sunulan özelliklerin ötesine geçebilir.Your name resolution needs might go beyond the features provided by Azure. Örneğin, Microsoft Windows Server Active Directory etki alanlarını kullanmanız, sanal ağlar arasındaki DNS adlarını çözmeniz gerekebilir.For example, you might need to use Microsoft Windows Server Active Directory domains, resolve DNS names between virtual networks. Azure, bu senaryoları karşılamak için kendi DNS sunucularınızı kullanmanıza olanak sağlar.To cover these scenarios, Azure provides the ability for you to use your own DNS servers.

Bir sanal ağ içindeki DNS sunucuları DNS sorgularını Azure 'daki özyinelemeli çözümleyiciler ile iletebilir.DNS servers within a virtual network can forward DNS queries to the recursive resolvers in Azure. Bu, sanal ağ içindeki ana bilgisayar adlarını çözmenize olanak sağlar.This enables you to resolve host names within that virtual network. Örneğin, Azure 'da çalışan bir etki alanı denetleyicisi (DC), etki alanları için DNS sorgularına yanıt verebilir ve diğer tüm sorguları Azure 'a iletebilir.For example, a domain controller (DC) running in Azure can respond to DNS queries for its domains, and forward all other queries to Azure. Sorguları iletme, VM 'Lerin hem şirket içi kaynaklarınızı (DC aracılığıyla) hem de Azure tarafından belirtilen ana bilgisayar adlarını (iletici aracılığıyla) görmesini sağlar.Forwarding queries allows VMs to see both your on-premises resources (via the DC) and Azure-provided host names (via the forwarder). Azure 'daki özyinelemeli çözümleyiciler erişimi, sanal IP 168.63.129.16 aracılığıyla sağlanır.Access to the recursive resolvers in Azure is provided via the virtual IP 168.63.129.16.

DNS iletimi, sanal ağlar arasında DNS çözümlemesi de sağlar ve şirket içi makinelerinizin Azure tarafından belirtilen ana bilgisayar adlarını çözümlemesine olanak tanır.DNS forwarding also enables DNS resolution between virtual networks, and allows your on-premises machines to resolve Azure-provided host names. Bir VM 'nin ana bilgisayar adını çözümlemek için, DNS sunucusu sanal makinesi aynı sanal ağda bulunmalı ve ana bilgisayar adı sorgularını Azure 'a iletecek şekilde yapılandırılmalıdır.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. DNS son eki her bir sanal ağda farklı olduğundan, çözümleme için doğru sanal ağa DNS sorguları göndermek üzere koşullu iletme kurallarını kullanabilirsiniz.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. Aşağıdaki görüntüde, bu yöntemi kullanarak, sanal ağlar arasında DNS çözümlemesi yapan iki sanal ağ ve şirket içi ağ gösterilmektedir.The following image shows two virtual networks and an on-premises network doing DNS resolution between virtual networks, by using this method. Azure hızlı başlangıç şablonları galerisinde ve GitHub'da örnek bir DNS ileticisi vardır.An example DNS forwarder is available in the Azure Quickstart Templates gallery and GitHub.

Not

Rol örneği aynı sanal ağ içinde VM 'lerin ad çözümlemesini gerçekleştirebilir.A role instance can perform name resolution of VMs within the same virtual network. Bunu, VM 'nin ana bilgisayar adı ve Internal.cloudapp.net DNS SONEKINI içeren FQDN 'yi kullanarak yapar.It does so by using the FQDN, which consists of the VM's host name and internal.cloudapp.net DNS suffix. Ancak, bu durumda, ad çözümlemesi yalnızca rol örneği rol şemasında (. cscfg dosyası)tanımlanmış VM adına sahipse başarılı olur.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>">

Başka bir sanal ağdaki VM 'Lerde ad çözümlemesi gerçekleştirmesi gereken rol örnekleri ( internal.cloudapp.net SONEKI kullanılarak FQDN) Bu bölümde açıklanan yöntemi kullanarak bunu gerçekleştirmelidir (iki sanal ağ arasında özel DNS sunucuları iletme ağlar).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).

Sanal ağlar arasındaki DNS diyagramı

Azure tarafından sağlanan ad çözümlemesi kullanırken, Azure dinamik ana bilgisayar Yapılandırma Protokolü (DHCP) her VM için bir iç DNS son eki ( . internal.cloudapp.net) sağlar.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. Konak adı kayıtları internal.cloudapp.net bölgesinde olduğundan, bu sonek konak adı çözümlemesini mümkün bir şekilde sunar.This suffix enables host name resolution because the host name records are in the internal.cloudapp.net zone. Kendi ad çözümleme çözümünüzü kullanırken, diğer DNS mimarilerini kesintiye uğratan (etki alanına katılmış senaryolar gibi) bu sonek VM 'lere sağlanmaz.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). Bunun yerine Azure, işlevsel olmayan bir yer tutucu (reddog.Microsoft.com) sağlar.Instead, Azure provides a non-functioning placeholder (reddog.microsoft.com).

Gerekirse, PowerShell veya API kullanarak iç DNS sonekini belirleyebilirsiniz:If necessary, you can determine the internal DNS suffix by using PowerShell or the API:

Sorguların Azure 'a iletilmesi gereksinimlerinize uygun değilse, kendi DNS çözümünüzü sağlamanız gerekir.If forwarding queries to Azure doesn't suit your needs, you should provide your own DNS solution. DNS çözümünüzün şunları yapması gerekir:Your DNS solution needs to:

  • Örneğin, DDNSaracılığıyla uygun konak adı çözümlemesi sağlayın.Provide appropriate host name resolution, via DDNS, for example. DDNS kullanıyorsanız, DNS kaydı atmayı devre dışı bırakmanız gerekebilir.If you are using DDNS, you might need to disable DNS record scavenging. Azure DHCP kiraları uzun ve atma, DNS kayıtlarını erken kaldırabilir.Azure DHCP leases are long, and scavenging might remove DNS records prematurely.
  • Dış etki alanı adlarının çözümlenmesine izin vermek için uygun özyinelemeli çözüm sağlayın.Provide appropriate recursive resolution to allow resolution of external domain names.
  • Hizmet verdiği istemcilerden erişilebilir (bağlantı noktası 53 üzerinde TCP ve UDP) ve internet 'e erişebiliyor.Be accessible (TCP and UDP on port 53) from the clients it serves, and be able to access the internet.
  • Dış aracılardan oluşan tehditleri azaltmak için internet 'ten erişime karşı güvenli hale getirilmesi gerekir.Be secured against access from the internet, to mitigate threats posed by external agents.

Not

En iyi performansı elde etmek için, Azure VM 'lerini DNS sunucuları olarak kullanırken, IPv6 devre dışı bırakılmalıdır.For best performance, when you are using Azure VMs as DNS servers, IPv6 should be disabled. Her DNS sunucusu VM 'sine Genel BIR IP adresi atanmalıdır.A public IP address should be assigned to each DNS server VM. DNS sunucunuz olarak Windows Server kullanırken ek performans analizi ve iyileştirmeler için bkz. özyinelemeli bir WINDOWS DNS sunucusu 2012 R2 'Nin ad çözümleme performansı.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.

Web uygulamalarıWeb apps

Sanal bir ağa bağlı App Service, aynı sanal ağdaki VM 'lere kullanarak oluşturulan Web uygulamanızdan ad çözümlemesi gerçekleştirmeniz gerektiğini varsayalım.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. Sorguları Azure 'a (sanal IP 168.63.129.16) ileten bir DNS ileticisi olan özel bir DNS sunucusu ayarlamaya ek olarak, aşağıdaki adımları uygulayın: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. Uygulamanızı bir sanal ağla tümleştirinbölümünde açıklandığı gibi, henüz yapılmazsa, Web uygulamanız için sanal ağ tümleştirmesini etkinleştirin.Enable virtual network integration for your web app, if not done already, as described in Integrate your app with a virtual network.

  2. Azure portal, Web uygulamasını barındıran App Service planı için ağ, sanal ağ tümleştirmesialtında ağı Eşitle 'yi seçin.In the Azure portal, for the App Service plan hosting the web app, select Sync Network under Networking, Virtual Network Integration.

    Sanal ağ adı çözümlemenin ekran görüntüsü

Bir sanal ağa bağlı App Service, farklı bir sanal ağdaki VM 'lere, farklı bir sanal ağdaki sanal makinelere bir ad çözümlemesi gerçekleştirmeniz gerekirse, aşağıdaki gibi her iki sanal ağ üzerinde de özel DNS sunucuları kullanmanız gerekir: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:

  • Sorguları Azure 'daki özyinelemeli çözümleyici 'ye (sanal IP 168.63.129.16) iletebilen bir VM 'de hedef sanal ağınızda bir DNS sunucusu ayarlayın.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). Azure hızlı başlangıç şablonları galerisinde ve GitHub'da örnek bir DNS ileticisi vardır.An example DNS forwarder is available in the Azure Quickstart Templates gallery and GitHub.
  • Bir VM 'deki kaynak sanal ağda bir DNS ileticisi ayarlayın.Set up a DNS forwarder in the source virtual network on a VM. Sorguları hedef sanal ağınızdaki DNS sunucusuna iletmek için bu DNS ileticisini yapılandırın.Configure this DNS forwarder to forward queries to the DNS server in your target virtual network.
  • Kaynak DNS sunucunuzu kaynak sanal ağınızın ayarlarında yapılandırın.Configure your source DNS server in your source virtual network’s settings.
  • Uygulamanızı sanal ağ Ile tümleştirmebölümündeki yönergeleri izleyerek, Web uygulamanız için sanal ağ tümleştirmesini kaynak sanal ağa bağlamak için etkinleştirin.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.
  • Azure portal, Web uygulamasını barındıran App Service planı için ağ, sanal ağ tümleştirmesialtında ağı Eşitle 'yi seçin.In the Azure portal, for the App Service plan hosting the web app, select Sync Network under Networking, Virtual Network Integration.

DNS sunucularını belirtmeSpecify DNS servers

Kendi DNS sunucularınızı kullanırken Azure, sanal ağ başına birden çok DNS sunucusu belirtme olanağı sağlar.When you are using your own DNS servers, Azure provides the ability to specify multiple DNS servers per virtual network. Birden çok DNS sunucusu, ağ arabirimi (Azure Resource Manager için) veya Bulut hizmetinden (Klasik dağıtım modeli için) başına de belirtebilirsiniz.You can also specify multiple DNS servers per network interface (for Azure Resource Manager), or per cloud service (for the classic deployment model). Bir ağ arabirimi veya bulut hizmeti için belirtilen DNS sunucuları, sanal ağ için belirtilen DNS sunucularının önceliği alır.DNS servers specified for a network interface or cloud service get precedence over DNS servers specified for the virtual network.

Not

DNS sunucusu IP 'Leri gibi ağ bağlantısı özellikleri doğrudan VM 'Ler içinde düzenlenmemelidir.Network connection properties, such as DNS server IPs, should not be edited directly within VMs. Bunun nedeni, sanal ağ bağdaştırıcısı değiştirildiğinde Service düzelten sırasında silinebilirler.This is because they might get erased during service heal when the virtual network adaptor gets replaced. Bu, hem Windows hem de Linux VM 'Leri için geçerlidir.This applies to both Windows and Linux VMs.

Azure Resource Manager dağıtım modelini kullanırken, bir sanal ağ ve bir ağ arabirimi için DNS sunucuları belirtebilirsiniz.When you are using the Azure Resource Manager deployment model, you can specify DNS servers for a virtual network and a network interface. Ayrıntılar için bkz. sanal ağı yönetme ve ağ arabirimini yönetme.For details, see Manage a virtual network and Manage a network interface.

Not

Sanal ağınız için özel DNS sunucusu tercih ediyorsanız, en az bir DNS sunucusu IP adresi belirtmeniz gerekir; Aksi halde, sanal ağ yapılandırmayı yoksayar ve bunun yerine Azure tarafından belirtilen DNS 'yi kullanır.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.

Klasik dağıtım modelini kullanırken, Azure portal veya ağ yapılandırma dosyasındasanal ağ için DNS sunucuları belirtebilirsiniz.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. Bulut hizmetleri için, hizmet yapılandırma dosyası aracılığıyla veya PowerShell kullanarak New-AzureVMile DNS sunucuları belirtebilirsiniz.For cloud services, you can specify DNS servers via the Service Configuration file or by using PowerShell, with New-AzureVM.

Not

Zaten dağıtılmış bir sanal ağ veya sanal makine için DNS ayarlarını değiştirirseniz değişikliklerin etkili olması için etkilenen her VM 'yi yeniden başlatmanız gerekir.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.

Sonraki adımlarNext steps

Azure Resource Manager dağıtım modeli:Azure Resource Manager deployment model:

Klasik dağıtım modeli:Classic deployment model: