Kendi DNS sunucunuzda ana bilgisayar adlarını kaydetmek için dinamik DNS kullanma
Azure, sanal makineler (VM) ve rol örnekleri için ad çözümlemesi sağlar. Ad çözümleme gereksinimleriniz Azure'ın varsayılan DNS'sinin sağladığı özellikleri aştığında, kendi DNS sunucularınızı sağlayabilirsiniz. Kendi DNS sunucularınızı kullanmak, DNS çözümünüzü kendi özel ihtiyaçlarınıza uyacak şekilde uyarlamanıza olanak sağlar. Örneğin, Active Directory etki alanı denetleyiciniz aracılığıyla şirket içi kaynaklara erişmeniz gerekebilir.
Özel DNS sunucularınız Azure VM'leri olarak barındırıldığında, konak adlarını çözümlemek için aynı sanal ağ için ana bilgisayar adı sorgularını Azure'a iletebilirsiniz. Bu seçeneği kullanmak istemiyorsanız, dinamik DNS (DDNS) kullanarak VM ana bilgisayar adlarınızı DNS sunucunuza kaydedebilirsiniz. Azure' ın DNS sunucularınızda doğrudan kayıt oluşturmak için kimlik bilgileri yoktur, bu nedenle genellikle alternatif düzenlemeler gereklidir. Alternatifleri olan bazı yaygın senaryolar şunlardır:
Windows istemcileri
Etki alanına katılmamış Windows istemcileri, önyüklendiğinde veya IP adresleri değiştiğinde güvenli olmayan DDNS güncelleştirmelerini dener. DNS adı ana bilgisayar adı ve birincil DNS sonekidir. Azure birincil DNS sonekini boş bırakır, ancak son eki kullanıcı arabirimi veya PowerShell aracılığıyla VM'de ayarlayabilirsiniz.
Etki alanına katılmış Windows istemcileri, güvenli DDNS kullanarak IP adreslerini etki alanı denetleyicisine kaydeder. Etki alanına katılma işlemi istemcide birincil DNS sonekini ayarlar ve güven ilişkisini oluşturur ve korur.
Linux istemcileri
Linux istemcileri genellikle başlangıçta KENDILERINI DNS sunucusuna kaydetmez, DHCP sunucusunun yaptığını varsayarlar. Azure'ın DHCP sunucuları, DNS sunucunuza kayıt kaydetmek için kimlik bilgilerine sahip değildir. DDNS güncelleştirmelerini göndermek için Bağlama paketine dahil edilen adlı nsupdate
bir araç kullanabilirsiniz. DDNS protokolü standartlaştırıldığından, DNS sunucusunda Bind kullanmadığınızda bile kullanabilirsiniz nsupdate
.
DNS sunucusunda konak adı girdisini oluşturmak ve korumak için DHCP istemcisi tarafından sağlanan kancaları kullanabilirsiniz. DHCP döngüsü sırasında istemci betikleri /etc/dhcp/dhclient-exit-hooks.d/ içinde yürütür. kullanarak yeni IP adresini nsupdate
kaydetmek için kancaları kullanabilirsiniz. Örnek:
#!/bin/sh
requireddomain=mydomain.local
# only execute on the primary nic
if [ "$interface" != "eth0" ]
then
return
fi
# When you have a new IP, perform nsupdate
if [ "$reason" = BOUND ] || [ "$reason" = RENEW ] ||
[ "$reason" = REBIND ] || [ "$reason" = REBOOT ]
then
host=`hostname`
nsupdatecmds=/var/tmp/nsupdatecmds
echo "update delete $host.$requireddomain a" > $nsupdatecmds
echo "update add $host.$requireddomain 3600 a $new_ip_address" >> $nsupdatecmds
echo "send" >> $nsupdatecmds
nsupdate $nsupdatecmds
fi
Güvenli DDNS güncelleştirmeleri gerçekleştirmek için komutunu da kullanabilirsiniz nsupdate
. Örneğin, Bağlama DNS sunucusu kullanırken ortak-özel anahtar çifti oluşturulur (http://linux.yyz.us/nsupdate/
). DNS sunucusu anahtarın ortak bölümüyle yapılandırılır (http://linux.yyz.us/dns/ddns-server.html
), böylece istekte imzayı doğrulayabilir. için anahtar çiftini nsupdate
sağlamak için, DDNS güncelleştirme isteğinin imzalanması için seçeneğini kullanın -k
.
Bir Windows DNS sunucusu kullanırken, içinde parametresiyle nsupdate
Kerberos kimlik doğrulamasını -g
kullanabilirsiniz, ancak windows sürümünde nsupdate
kullanılamaz. Kerberos kullanmak için kimlik bilgilerini yüklemek için kullanın kinit
. Örneğin, bir anahtar sekmesi dosyasından kimlik bilgilerini yükleyebilirsiniz), ardından nsupdate -g
önbellekten kimlik bilgilerini alır.
Gerekirse, VM'lerinize bir DNS arama soneki ekleyebilirsiniz. DNS son eki /etc/resolv.conf dosyasında belirtilir. Çoğu Linux dağıtımı bu dosyanın içeriğini otomatik olarak yönetir, bu nedenle genellikle dosyayı düzenleyemezsiniz. Ancak, DHCP istemcisinin supersede
komutunu kullanarak son eki geçersiz kılabilirsiniz. Son eki geçersiz kılmak için /etc/dhcp/dhclient.conf dosyasına aşağıdaki satırı ekleyin:
supersede domain-name <required-dns-suffix>;