Azure'da Linux sanal makineleri için DNS Ad Çözümleme seçenekleri

Dikkat

Bu makalede, Kullanım Süresi Sonu (EOL) durumuna yakın bir Linux dağıtımı olan CentOS'a başvuruda bulunur. Lütfen kullanımınızı göz önünde bulundurun ve uygun şekilde planlayın. Daha fazla bilgi için bkz . CentOS Kullanım Süresi Sonu kılavuzu.

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

Azure, tek bir sanal ağda bulunan tüm sanal makineler için varsayılan olarak DNS ad çözümlemesi sağlar. Azure'ın barındırdığı sanal makinelerinizde kendi DNS hizmetlerinizi yapılandırarak kendi DNS ad çözümleme çözümünüzü uygulayabilirsiniz. Aşağıdaki senaryolar, durumunuz için uygun olanı seçmenize yardımcı olmalıdır.

Kullandığınız ad çözümleme türü, sanal makinelerinizin ve rol örneklerinizin birbirleriyle nasıl iletişim kurması gerektiğine bağlıdır.

Aşağıdaki tabloda senaryolar ve buna karşılık gelen ad çözümleme çözümleri gösterilmektedir:

Senaryo Çözüm Soneki
Aynı sanal ağdaki rol örnekleri veya sanal makineler arasında ad çözümleme Azure'ın sağladığı ad çözümlemesi ana bilgisayar adı veya tam etki alanı adı (FQDN)
Farklı sanal ağlardaki rol örnekleri veya sanal makineler arasında ad çözümlemesi Azure (DNS ara sunucusu) tarafından çözümlenmek üzere sanal ağlar arasında sorguları ileten müşteri tarafından yönetilen DNS sunucuları. Bkz. Kendi DNS sunucunuzu kullanarak ad çözümleme. Yalnızca FQDN
Azure'daki rol örneklerinden veya sanal makinelerden şirket içi bilgisayarların ve hizmet adlarının çözümü Müşteri tarafından yönetilen DNS sunucuları (örneğin, şirket içi etki alanı denetleyicisi, yerel salt okunur etki alanı denetleyicisi veya bölge aktarımları kullanılarak eşitlenen bir DNS ikincil sunucusu). Bkz. Kendi DNS sunucunuzu kullanarak ad çözümleme. Yalnızca FQDN
Şirket içi bilgisayarlardan Azure ana bilgisayar adlarının çözümü Sorguları ilgili sanal ağda müşteri tarafından yönetilen bir DNS proxy sunucusuna iletin. Ara sunucu, çözümleme için sorguları Azure'a iletir. Bkz. Kendi DNS sunucunuzu kullanarak ad çözümleme. Yalnızca FQDN
İç IP'ler için ters DNS Kendi DNS sunucunuzu kullanarak ad çözümleme yok

Azure'ın sağladığı ad çözümlemesi

Azure, genel DNS adlarının çözümlenmesiyle birlikte, aynı sanal ağda yer alan sanal makineler ve rol örnekleri için iç ad çözümlemesi sağlar. Azure Resource Manager'ı temel alan sanal ağlarda, DNS soneki sanal ağ genelinde tutarlıdır; FQDN gerekli değildir. DNS adları hem ağ arabirimi kartlarına (NIC) hem de sanal makinelere atanabilir. Azure'ın sağladığı ad çözümlemesi herhangi bir yapılandırma gerektirmese de, önceki tabloda görüldüğü gibi tüm dağıtım senaryoları için uygun seçenek değildir.

Özellikler ve dikkat edilmesi gerekenler

Özellikler:

  • Azure'ın sağladığı ad çözümlemesini kullanmak için yapılandırma gerekmez.
  • Azure'ın sağladığı ad çözümleme hizmeti yüksek oranda kullanılabilir. Kendi DNS sunucularınızın kümelerini oluşturmanız ve yönetmeniz gerekmez.
  • Azure'ın sağladığı ad çözümleme hizmeti, hem şirket içi hem de Azure ana bilgisayar adlarını çözümlemek için kendi DNS sunucularınızla birlikte kullanılabilir.
  • Ad çözümlemesi, FQDN'ye gerek kalmadan sanal ağlardaki sanal makineler arasında sağlanır.
  • Otomatik olarak oluşturulan adlarla çalışmak yerine dağıtımlarınızı en iyi açıklayan konak adlarını kullanabilirsiniz.

Önemli noktalar:

  • Azure'ın oluşturduğu DNS soneki değiştirilemez.
  • Kendi kayıtlarınızı el ile kaydedemezsiniz.
  • WINS ve NetBIOS desteklenmez.
  • Ana bilgisayar adları DNS ile uyumlu olmalıdır. Adlar yalnızca 0-9, a-z ve '-' kullanmalıdır ve '-' ile başlayamaz veya bitemez. Bkz. RFC 3696 Bölüm 2.
  • DNS sorgu trafiği her sanal makine için kısıtlanır. Azaltma çoğu uygulamayı etkilememelidir. İstek azaltma gözlemlenirse istemci tarafı önbelleğe alma özelliğinin etkinleştirildiğinden emin olun. Daha fazla bilgi için bkz . Azure'ın sağladığı ad çözümlemesinden en iyi şekilde kurtulma.

Azure'ın sağladığı ad çözümlemesinden en iyi şekilde elde ediyor\

İstemci tarafı önbelleğe alma:

Bazı DNS sorguları ağ üzerinden gönderilmez. İstemci tarafı önbelleğe alma, yerel önbellekten yinelenen DNS sorgularını çözümleyerek gecikme süresini azaltmaya ve ağ tutarsızlıklarına dayanıklılığı artırmaya yardımcı olur. DNS kayıtları, kaydın güncelliğini etkilemeden önbelleğin kaydı mümkün olduğunca uzun süre depolamasını sağlayan Yaşam Süresi (TTL) içerir. Sonuç olarak, istemci tarafı önbelleğe alma çoğu durum için uygundur.

Bazı Linux dağıtımları varsayılan olarak önbelleğe almayı içermez. Yerel önbellek olup olmadığını denetledikten sonra her Linux sanal makinesine bir önbellek eklemenizi öneririz.

Dnsmasq gibi birkaç farklı DNS önbelleğe alma paketi kullanılabilir. En yaygın dağıtımlara dnsmasq yükleme adımları şunlardır:

  1. dnsmasq paketini yükleyin:
sudo apt-get install dnsmasq
  1. dnsmasq hizmetini etkinleştirin:
sudo systemctl enable dnsmasq.service
  1. dnsmasq hizmetini başlatın:
sudo systemctl start dnsmasq.service

İstemci tarafı yeniden denemeleri

DNS öncelikli olarak bir UDP protokolüdür. UDP protokolü ileti teslimini garanti etmediğinden DNS protokolü yeniden deneme mantığını işler. Her DNS istemcisi (işletim sistemi), oluşturucunun tercihlerine bağlı olarak farklı yeniden deneme mantığı sergileyebilir:

  • Windows işletim sistemleri bir saniye sonra yeniden dener ve ardından iki, dört ve başka bir dört saniye sonra yeniden dener.
  • Varsayılan Linux kurulumu beş saniye sonra yeniden denenir. Bunu, bir saniyelik aralıklarla beş kez yeniden deneyecek şekilde değiştirmeniz gerekir.

Linux sanal makinesindeki geçerli ayarları denetlemek için 'cat /etc/resolv.conf' ve 'options' satırına bakın, örneğin:

sudo cat /etc/resolv.conf
options timeout:1 attempts:5

Dosya /etc/resolv.conf otomatik olarak oluşturulur ve düzenlenmemelidir. 'Seçenekler' satırını ekleyen belirli adımlar dağıtıma göre farklılık gösterir:

Ubuntu (resolvconf kullanır)

  1. Dosyaya seçenekler satırını /etc/resolvconf/resolv.conf.d/head ekleyin.
  2. Güncelleştirmek için komutunu çalıştırın sudo resolvconf -u .

SUSE (netconf kullanır)

  1. parametresine NETCONFIG_DNS_RESOLVER_OPTIONS=""/etc/sysconfig/network/configekleyintimeout:1 attempts:5.
  2. Güncelleştirmek için komutunu çalıştırın sudo netconfig update .

Rogue Wave Software (eski adıyla OpenLogic) tarafından kullanılan CentOS (NetworkManager kullanır)

  1. Add RES_OPTIONS="timeout:1 attempts:5" to /etc/sysconfig/network.
  2. Güncelleştirmek için komutunu çalıştırın systemctl restart NetworkManager .

Kendi DNS sunucunuzu kullanarak ad çözümleme

Ad çözümleme gereksinimleriniz Azure'ın sağladığı özelliklerin ötesine geçebilir. Örneğin, sanal ağlar arasında DNS çözümlemesi gerektirebilirsiniz. Bu senaryoya değinmek için kendi DNS sunucularınızı kullanabilirsiniz.

Bir sanal ağ içindeki DNS sunucuları, aynı sanal ağdaki konak adlarını çözümlemek için DNS sorgularını Azure'ın özyinelemeli çözümleyicilerine iletebilir. Örneğin, Azure'da çalışan bir DNS sunucusu kendi DNS bölgesi dosyaları için DNS sorgularını yanıtlayabilir ve diğer tüm sorguları Azure'a iletebilir. Bu işlev, sanal makinelerin hem bölge dosyalarınızdaki girdilerinizi hem de Azure'ın sağladığı konak adlarını (iletici aracılığıyla) görmesini sağlar. Azure'ın özyinelemeli çözümleyicilerine erişim, sanal IP 168.63.129.16 üzerinden sağlanır.

DNS iletme ayrıca sanal ağlar arasında DNS çözümlemesini etkinleştirir ve şirket içi makinelerinizin Azure'ın sağladığı konak adlarını çözümlemesini sağlar. Bir sanal makinenin ana bilgisayar adını çözümlemek için DNS sunucusu sanal makinesinin aynı sanal ağda bulunması ve konak adı sorgularını Azure'a iletecek şekilde yapılandırılması gerekir. DNS soneki her sanal ağda farklı olduğundan, dns sorgularını çözümlemek üzere doğru sanal ağa göndermek için koşullu iletme kurallarını kullanabilirsiniz. Aşağıdaki görüntüde, bu yöntemi kullanarak sanal ağlar arasında DNS çözümlemesi yapan iki sanal ağ ve bir şirket içi ağ gösterilmektedir:

Sanal ağlar arasında DNS çözümlemesi

Azure'ın sağladığı ad çözümlemesini kullandığınızda, iç DNS soneki DHCP kullanılarak her sanal makineye sağlanır. Kendi ad çözümleme çözümünüzü kullandığınızda, sonek diğer DNS mimarilerini etkilediğinden bu sonek sanal makinelere sağlanmaz. FQDN'ye göre makinelere başvurmak veya sanal makinelerinizde son eki yapılandırmak için PowerShell'i veya API'yi kullanarak son eki belirleyebilirsiniz:

  • Azure Resource Manager tarafından yönetilen sanal ağlar için, son ek ağ arabirimi kartı kaynağı üzerinden sağlanır. NIC'nin azure network public-ip show <resource group> <pip name> FQDN'sini içeren genel IP'nizin ayrıntılarını görüntülemek için komutunu da çalıştırabilirsiniz.

Sorguları Azure'a iletmek gereksinimlerinize uygun değilse kendi DNS çözümünüzü sağlamanız gerekir. DNS çözümünüzün yapması gerekenler:

  • DDNS aracılığıyla uygun ana bilgisayar adı çözümlemesi sağlayın. DDNS kullanıyorsanız DNS kaydı atma özelliğini devre dışı bırakmanız gerekebilir. Azure'ın DHCP kiralamaları çok uzun ve atma işlemi DNS kayıtlarını erken kaldırabilir.
  • Dış etki alanı adlarının çözümlenmesine izin vermek için uygun özyinelemeli çözüm sağlayın.
  • Hizmet vermekte olduğu istemcilerden erişilebilir (bağlantı noktası 53'te TCP ve UDP) ve İnternet'e erişebilir.
  • Dış aracılar tarafından ortaya konan tehditleri azaltmak için İnternet'ten erişime karşı güvenlik altına alın.

Not

En iyi performans için, Azure DNS sunucularında sanal makineleri kullandığınızda, IPv6'yı devre dışı bırakın ve her DNS sunucusu sanal makinesine Örnek Düzeyinde Genel IP atayın.