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:
- dnsmasq paketini yükleyin:
sudo apt-get install dnsmasq
- dnsmasq hizmetini etkinleştirin:
sudo systemctl enable dnsmasq.service
- 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)
- Dosyaya seçenekler satırını
/etc/resolvconf/resolv.conf.d/head
ekleyin. - Güncelleştirmek için komutunu çalıştırın
sudo resolvconf -u
.
SUSE (netconf kullanır)
- parametresine
NETCONFIG_DNS_RESOLVER_OPTIONS=""
/etc/sysconfig/network/config
ekleyintimeout:1 attempts:5
. - 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)
- Add
RES_OPTIONS="timeout:1 attempts:5"
to/etc/sysconfig/network
. - 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:
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.