Bagikan melalui


Menggunakan iDNS di Azure Stack Hub

iDNS adalah fitur jaringan Azure Stack Hub yang memungkinkan Anda mengatasi nama DNS eksternal (misalnya, https://www.bing.com.) Ini juga memungkinkan Anda untuk mendaftarkan nama jaringan virtual internal. Dengan demikian, Anda dapat menyelesaikan komputer virtual (VM) pada jaringan virtual yang sama berdasarkan nama daripada alamat IP. Pendekatan ini menghapus kebutuhan untuk menyediakan entri server DNS kustom. Untuk informasi selengkapnya tentang DNS, lihat Gambaran Umum Azure DNS.

Apa yang dilakukan iDNS?

Dengan iDNS di Azure Stack Hub, Anda mendapatkan kemampuan berikut, tanpa harus menentukan entri server DNS kustom:

  • Layanan resolusi nama DNS bersama untuk beban kerja penyewa.
  • Layanan DNS otoritatif untuk resolusi nama dan pendaftaran DNS dalam jaringan virtual penyewa.
  • Layanan DNS rekursif untuk resolusi nama internet dari VM penyewa. Penyewa tidak perlu lagi menentukan entri DNS kustom untuk mengatasi nama internet (misalnya, www.bing.com.)

Anda masih bisa membawa DNS Anda sendiri dan menggunakan server DNS kustom. Namun, dengan menggunakan iDNS, Anda dapat mengatasi nama DNS internet dan menyambungkan ke VM lain di jaringan virtual yang sama tanpa perlu membuat entri DNS kustom.

Apa yang tidak dilakukan iDNS?

iDNS tidak memungkinkan Anda membuat catatan DNS untuk nama yang dapat diselesaikan dari luar jaringan virtual.

Di Azure, Anda memiliki opsi untuk menentukan label nama DNS yang terkait dengan alamat IP publik. Anda dapat memilih label (awalan), tetapi Azure memilih akhiran, yang didasarkan pada wilayah tempat Anda membuat alamat IP publik.

Contoh label nama DNS

Seperti yang ditunjukkan gambar sebelumnya, Azure akan membuat rekaman "A" di DNS untuk label nama DNS yang ditentukan di bawah zona westus.cloudapp.azure.com. Awalan dan akhiran dikombinasikan untuk menyusun nama domain berkualifikasi penuh (FQDN) yang dapat diakses dari manapun di internet publik.

Azure Stack Hub hanya mendukung iDNS untuk pendaftaran nama internal, sehingga tidak dapat melakukan hal-hal berikut:

  • Buat catatan DNS di bawah zona DNS yang dihosting yang sudah ada (misalnya, local.azurestack.external.)
  • Buat zona DNS (seperti Contoso.com.)
  • Buat catatan di bawah zona DNS kustom Anda sendiri.
  • Mendukung pembelian nama domain.

Demo cara kerja iDNS

Semua nama host untuk VM-VM di dalam Virtual Network disimpan sebagai catatan sumber daya DNS di dalam zona yang sama, namun di bawah kompartemen unik masing-masing yang diidentifikasi sebagai satu GUID yang berkorelasi dengan ID VNET dalam infrastruktur SDN tempat VM tersebut diluncurkan. Nama Domain Penyewa VM Yang Sepenuhnya Memenuhi Syarat (FQDN) terdiri dari nama komputer dan string akhiran DNS untuk Virtual Network, dalam format GUID.

Berikut ini adalah lab sederhana untuk menunjukkan cara kerjanya. Kami membuat 3 VM pada satu VNet dan VM lain di VNet terpisah:

Mesin Virtual (VM) vNet IP Pribadi IP Publik DNS Label
VM-A1 VNetA 10.0.0.5 172.31.12.68 VM-A1-Label.lnv1.cloudapp.azscss.external
VM-A2 VNetA 10.0.0.6 172.31.12.76 VM-A2-Label.lnv1.cloudapp.azscss.external
VM-A3 VNetA 10.0.0.7 172.31.12.49 VM-A3-Label.lnv1.cloudapp.azscss.external
VM-B1 VNetB 10.0.0.4 172.31.12.57 VM-B1-Label.lnv1.cloudapp.azscss.external
VNet - GUID String akhiran DNS
VNetA e71e1db5-0a38-460d-8539-705457a4cf75 e71e1db5-0a38-460d-8539-705457a4cf75.internal.lnv1.azurestack.local
VNetB e8a6e386-bc7a-43e1-a640-61591b5c76dd e8a6e386-bc7a-43e1-a640-61591b5c76dd.internal.lnv1.azurestack.local

Anda dapat melakukan beberapa tes resolusi nama untuk lebih memahami cara kerja iDNS:

Dari VM-A1 (Linux VM): Ketika melihat VM-A2, Anda dapat melihat bahwa akhiran DNS untuk VNetA ditambahkan dan nama diselesaikan ke IP pribadi.

carlos@VM-A1:~$ nslookup VM-A2
Server:         127.0.0.53
Address:        127.0.0.53#53
 
Non-authoritative answer:
Name:   VM-A2.e71e1db5-0a38-460d-8539-705457a4cf75.internal.lnv1.azurestack.local
Address: 10.0.0.6

Menelusuri VM-A2-Label tanpa menyediakan FQDN tidak berhasil, seperti yang diharapkan.

carlos@VM-A1:~$ nslookup VM-A2-Label
Server:         127.0.0.53
Address:        127.0.0.53#53
 
** server can't find VM-A2-Label: SERVFAIL

Jika Anda menyediakan FQDN untuk label DNS, nama tersebut akan diarahkan ke IP publik.

carlos@VM-A1:~$ nslookup VM-A2-Label.lnv1.cloudapp.azscss.external
Server:         127.0.0.53
Address:        127.0.0.53#53
 
Non-authoritative answer:
Name:   VM-A2-Label.lnv1.cloudapp.azscss.external
Address: 172.31.12.76

Mencoba mengatasi VM-B1 (yang berasal dari VNet lain) gagal karena rekaman ini tidak ada di zona ini.

carlos@caalcobi-vm4:~$ nslookup VM-B1
Server:         127.0.0.53
Address:        127.0.0.53#53
 
** server can't find VM-B1: SERVFAIL

Menggunakan FQDN untuk VM-B1 tidak membantu karena rekaman ini berasal dari zona yang berbeda.

carlos@VM-A1:~$ nslookup VM-B1.e8a6e386-bc7a-43e1-a640-61591b5c76dd.internal.lnv1.azurestack.local
Server:         127.0.0.53
Address:        127.0.0.53#53
 
** server can't find VM-B1.e8a6e386-bc7a-43e1-a640-61591b5c76dd.internal.lnv1.azurestack.local: SERVFAIL

Jika Anda menggunakan FQDN untuk label DNS, maka akan berhasil diresolusikan.

carlos@VM-A1:~$ nslookup VM-B1-Label.lnv1.cloudapp.azscss.external
Server:         127.0.0.53
Address:        127.0.0.53#53
 
Non-authoritative answer:
Name:   VM-B1-Label.lnv1.cloudapp.azscss.external
Address: 172.31.12.57

Dari VM-A3 (Windows VM). Perhatikan perbedaan antara jawaban otoritatif dan non-otoritatif.

Rekaman internal:

C:\Users\carlos>nslookup
Default Server:  UnKnown
Address:  168.63.129.16
 
> VM-A2
Server:  UnKnown
Address:  168.63.129.16
 
Name:    VM-A2.e71e1db5-0a38-460d-8539-705457ยช4cf75.internal.lnv1.azurestack.local
Address:  10.0.0.6

Rekaman eksternal:

> VM-A2-Label.lnv1.cloudapp.azscss.external
Server:  UnKnown
Address:  168.63.129.16
 
Non-authoritative answer:
Name:    VM-A2-Label.lnv1.cloudapp.azscss.external
Address:  172.31.12.76

Singkatnya, Anda dapat melihat dari atas bahwa:

  • Setiap VNet memiliki zonanya sendiri, berisi catatan A untuk semua alamat IP privat, yang terdiri dari nama VM dan akhiran DNS VNet (yang merupakan GUID-nya).
    • <vmname>.<vnetGUID>.internal.<wilayah>.<stackinternalFQDN>
    • Ini dilakukan secara otomatis
  • Jika Anda menggunakan alamat IP Publik, Anda juga bisa membuat label DNS untuk mereka. Ini ditangani seperti alamat eksternal lainnya.
  • Server iDNS adalah server otoritatif untuk zona DNS internal mereka, dan juga bertindak sebagai pemecah masalah untuk nama publik ketika VM penyewa mencoba menyambungkan ke sumber daya eksternal. Jika ada kueri untuk sumber daya eksternal, server iDNS meneruskan permintaan ke server DNS otoritatif untuk diselesaikan.

Seperti yang Anda lihat dari hasil lab, Anda memiliki kontrol atas IP apa yang digunakan. Jika Anda menggunakan nama VM, Anda akan mendapatkan alamat IP privat dan jika Anda menggunakan label DNS, Anda mendapatkan alamat IP publik.

Langkah berikutnya

Menggunakan DNS di Azure Stack Hub