Bagikan melalui


Mulai Cepat: Membuat Azure DNS Private Resolver menggunakan Azure PowerShell

Artikel ini memandu Anda melalui langkah-langkah untuk membuat zona DNS privat pertama Anda dan merekam menggunakan Azure PowerShell. Jika mau, Anda dapat menyelesaikan panduan memulai ini menggunakan portal Azure.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Azure DNS Private Resolver adalah layanan baru yang memungkinkan Anda menanyakan zona privat Azure DNS dari lingkungan lokal dan sebaliknya tanpa menyebarkan server DNS berbasis VM. Untuk informasi selengkapnya, termasuk manfaat, kemampuan, dan ketersediaan regional, baca Apa itu Azure DNS Private Resolver.

Gambar berikut ini meringkas penyiapan yang digunakan dalam artikel ini:

Gambar konseptual yang menampilkan komponen resolver privat.

Prasyarat

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.

Artikel ini mengasumsikan Anda telah menginstal modul Az Azure PowerShell.

Menginstal modul Az.DnsResolver PowerShell

Catatan

Jika sebelumnya Anda menginstal modul Az.DnsResolver untuk evaluasi selama pratinjau privat, Anda dapat membatalkan pendaftaran dan menghapus PSRepository lokal yang dibuat. Kemudian, instal modul Az.DnsResolver versi terbaru menggunakan langkah-langkah yang disediakan dalam artikel ini.

Instal modul Az.DnsResolver.

Install-Module Az.DnsResolver

Konfirmasikan bahwa modul Az.DnsResolver telah diinstal. Versi modul ini saat ini adalah 0.2.1.

Get-InstalledModule -Name Az.DnsResolver

Mengatur konteks langganan dalam Azure PowerShell

Koneksi PowerShell ke cloud Azure.

Connect-AzAccount -Environment AzureCloud

Jika ada beberapa langganan, ID langganan pertama akan digunakan. Untuk menentukan ID langganan lain, gunakan perintah berikut.

Select-AzSubscription -SubscriptionObject (Get-AzSubscription -SubscriptionId <your-sub-id>)

Daftarkan namespace layanan penyedia Microsoft.Network.

Sebelum Anda dapat menggunakan layanan Microsoft.Network dengan langganan Azure, Anda harus mendaftarkan namespace Microsoft.Network:

Gunakan perintah berikut untuk mendaftarkan namespace layanan Microsoft.Network.

Register-AzResourceProvider -ProviderNamespace Microsoft.Network

Buat instans resolver DNS

Penting

Langkah-langkah untuk memverifikasi atau mengonfirmasi bahwa sumber daya yang berhasil dibuat tidak opsional. Jangan lewati langkah-langkah ini. Langkah-langkah mengisi variabel yang dapat digunakan dalam prosedur selanjutnya.

Buat grup sumber daya untuk menghosting sumber daya. Grup sumber daya harus berada di wilayah yang didukung. Dalam contoh ini, lokasinya adalah westcentralus.

New-AzResourceGroup -Name myresourcegroup -Location westcentralus

Buat jaringan virtual di grup sumber daya yang Anda buat.

New-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup -Location westcentralus -AddressPrefix "10.0.0.0/8"

Buat resolver DNS di jaringan virtual yang Anda buat.

New-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup -Location westcentralus -VirtualNetworkId "/subscriptions/<your subs id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet"

Verifikasi bahwa pemecah masalah DNS berhasil dibuat dan status tersambung (opsional). Dalam output, dnsResolverStateKoneksi.

$dnsResolver = Get-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup
$dnsResolver.ToJsonString()

Buat titik akhir masuk resolver DNS

Buat subnet di jaringan virtual

Buat subnet di jaringan virtual (Microsoft.Network/virtualNetworks/subnets) dari ruang alamat IP yang Anda tetapkan sebelumnya. Subnet harus berukuran setidaknya /28 (16 alamat IP).

$virtualNetwork = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup
Add-AzVirtualNetworkSubnetConfig -Name snet-inbound -VirtualNetwork $virtualNetwork -AddressPrefix "10.0.0.0/28"
$virtualNetwork | Set-AzVirtualNetwork

Buat titik akhir masuk

Buat titik akhir masuk untuk mengaktifkan resolusi nama dari lokal atau lokasi pribadi lainnya menggunakan alamat IP yang merupakan bagian dari ruang alamat jaringan virtual privat Anda.

Tip

Dengan menggunakan PowerShell, Anda dapat menentukan alamat IP titik akhir masuk menjadi dinamis atau statis.
Jika alamat IP titik akhir ditentukan sebagai dinamis, alamat tidak berubah kecuali titik akhir dihapus dan diprovisikan ulang. Biasanya alamat IP yang sama akan ditetapkan lagi selama provisi ulang.
Jika alamat IP titik akhir statis, alamat IP dapat ditentukan dan digunakan kembali jika titik akhir diprovisikan ulang. Alamat IP yang Anda pilih tidak dapat menjadi alamat IP yang dipesan di subnet.

Perintah berikut menyediakan alamat IP dinamis:

$ipconfig = New-AzDnsResolverIPConfigurationObject -PrivateIPAllocationMethod Dynamic -SubnetId /subscriptions/<your sub id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/snet-inbound
New-AzDnsResolverInboundEndpoint -DnsResolverName mydnsresolver -Name myinboundendpoint -ResourceGroupName myresourcegroup -Location westcentralus -IpConfiguration $ipconfig

Gunakan perintah berikut untuk menentukan alamat IP statis. Jangan gunakan sekumpulan perintah dinamis dan statis.

Anda harus menentukan alamat IP di subnet yang dibuat sebelumnya. Alamat IP yang Anda pilih tidak dapat menjadi alamat IP yang dipesan di subnet.

Perintah berikut ini menyediakan alamat IP statis:

$ipconfig = New-AzDnsResolverIPConfigurationObject -PrivateIPAddress 10.0.0.4 -PrivateIPAllocationMethod Static -SubnetId /subscriptions/<your sub id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/snet-inbound
New-AzDnsResolverInboundEndpoint -DnsResolverName mydnsresolver -Name myinboundendpoint -ResourceGroupName myresourcegroup -Location westcentralus -IpConfiguration $ipconfig

Konfirmasikan titik akhir masuk Anda

Konfirmasikan bahwa titik akhir masuk telah dibuat dan alokasikan alamat IP dalam subnet yang ditetapkan.

$inboundEndpoint = Get-AzDnsResolverInboundEndpoint -Name myinboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup
$inboundEndpoint.ToJsonString()

Buat titik akhir keluar resolver DNS

Buat subnet di jaringan virtual

Buat subnet di jaringan virtual (Microsoft.Network/virtualNetworks/subnets) dari ruang alamat IP yang Anda tetapkan sebelumnya, berbeda dengan subnet masuk (snet-inbound). Subnet keluar juga harus berukuran setidaknya /28 (16 alamat IP).

$virtualNetwork = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup
Add-AzVirtualNetworkSubnetConfig -Name snet-outbound -VirtualNetwork $virtualNetwork -AddressPrefix "10.1.1.0/28"
$virtualNetwork | Set-AzVirtualNetwork

Buat titik akhir keluar

Titik akhir keluar memungkinkan resolusi nama penerusan bersyarat dari Azure ke server DNS eksternal.

New-AzDnsResolverOutboundEndpoint -DnsResolverName mydnsresolver -Name myoutboundendpoint -ResourceGroupName myresourcegroup -Location westcentralus -SubnetId /subscriptions/<your sub id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet/subnets/snet-outbound

Konfirmasikan titik akhir keluar Anda

Konfirmasikan bahwa titik akhir keluar telah dibuat dan alokasikan alamat IP dalam subnet yang ditetapkan.

$outboundEndpoint = Get-AzDnsResolverOutboundEndpoint -Name myoutboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup
$outboundEndpoint.ToJsonString()

Buat kumpulan aturan penerusan resolver DNS

Buat kumpulan aturan penerusan DNS untuk titik akhir keluar yang Anda buat.

New-AzDnsForwardingRuleset -Name myruleset -ResourceGroupName myresourcegroup -DnsResolverOutboundEndpoint $outboundendpoint -Location westcentralus

Konfirmasikan kumpulan aturan penerusan DNS Anda

Konfirmasikan kumpulan aturan penerusan telah dibuat.

$dnsForwardingRuleset = Get-AzDnsForwardingRuleset -Name myruleset -ResourceGroupName myresourcegroup
$dnsForwardingRuleset.ToJsonString()

Link jaringan virtual mengaktifkan resolusi nama untuk jaringan virtual yang ditautkan ke titik akhir keluar dengan kumpulan aturan penerusan DNS.

$vnet = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup 
$vnetlink = New-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup -VirtualNetworkLinkName "vnetlink" -VirtualNetworkId $vnet.Id -SubscriptionId <your sub id>

Konfirmasikan bahwa tautan jaringan virtual telah dibuat.

$virtualNetworkLink = Get-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup 
$virtualNetworkLink.ToJsonString()

Buat jaringan virtual kedua untuk mensimulasikan lingkungan lokal atau lainnya.

$vnet2 = New-AzVirtualNetwork -Name myvnet2 -ResourceGroupName myresourcegroup -Location westcentralus -AddressPrefix "12.0.0.0/8"
$vnetlink2 = New-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup -VirtualNetworkLinkName "vnetlink2" -VirtualNetworkId $vnet2.Id -SubscriptionId <your sub id>

Konfirmasikan jaringan virtual kedua

Konfirmasikan bahwa jaringan virtual kedua telah dibuat.

$virtualNetworkLink2 = Get-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup 
$virtualNetworkLink2.ToJsonString()

Membuat aturan penerusan

Buat aturan penerusan untuk kumpulan aturan ke satu atau beberapa server DNS target. Anda harus menentukan nama domain yang sepenuhnya memenuhi syarat (FQDN) dengan tanda titik. cmdlet New-AzDnsResolverTargetDnsServerObject mengatur port default sebagai 53, tetapi Anda juga dapat menentukan port unik.

$targetDNS1 = New-AzDnsResolverTargetDnsServerObject -IPAddress 192.168.1.2 -Port 53 
$targetDNS2 = New-AzDnsResolverTargetDnsServerObject -IPAddress 192.168.1.3 -Port 53
$targetDNS3 = New-AzDnsResolverTargetDnsServerObject -IPAddress 10.0.0.4 -Port 53
$targetDNS4 = New-AzDnsResolverTargetDnsServerObject -IPAddress 10.5.5.5 -Port 53
$forwardingrule = New-AzDnsForwardingRulesetForwardingRule -ResourceGroupName myresourcegroup -DnsForwardingRulesetName myruleset -Name "Internal" -DomainName "internal.contoso.com." -ForwardingRuleState "Enabled" -TargetDnsServer @($targetDNS1,$targetDNS2)
$forwardingrule = New-AzDnsForwardingRulesetForwardingRule -ResourceGroupName myresourcegroup -DnsForwardingRulesetName myruleset -Name "AzurePrivate" -DomainName "azure.contoso.com" -ForwardingRuleState "Enabled" -TargetDnsServer $targetDNS3
$forwardingrule = New-AzDnsForwardingRulesetForwardingRule -ResourceGroupName myresourcegroup -DnsForwardingRulesetName myruleset -Name "Wildcard" -DomainName "." -ForwardingRuleState "Enabled" -TargetDnsServer $targetDNS4

Dalam contoh ini:

  • 10.0.0.4 adalah titik akhir masuk penyelesai.
  • 192.168.1.2 dan 192.168.1.3 adalah server DNS lokal.
  • 10.5.5.5 adalah layanan DNS pelindung.

Penting

Aturan yang ditampilkan dalam mulai cepat ini adalah contoh aturan yang dapat digunakan untuk skenario tertentu. Tidak ada aturan fowarding yang dijelaskan dalam artikel ini yang diperlukan. Berhati-hatilah untuk menguji aturan penerusan Anda dan memastikan bahwa aturan tidak menyebabkan masalah resolusi DNS.

Jika Anda menyertakan aturan kartubebas dalam kumpulan aturan Anda, pastikan bahwa layanan DNS target dapat mengatasi nama DNS publik. Beberapa layanan Azure memiliki dependensi pada resolusi nama publik.

Uji resolver privat

Anda sekarang seharusnya dapat mengirim lalu lintas DNS ke resolver DNS Anda dan menyelesaikan catatan berdasarkan kumpulan aturan penerusan Anda, termasuk:

  • Zona pribadi Azure DNS yang ditautkan ke jaringan virtual tempat resolver disebarkan.
  • Zona DNS di namespace DNS internet publik.
  • Zona DNS pribadi yang di-host di tempat.

Hapus resolver DNS

Untuk menghapus resolver DNS, titik akhir masuk sumber daya yang dibuat di dalam resolver harus dihapus terlebih dahulu. Setelah titik akhir masuk dihapus, resolver DNS induk dapat dihapus.

Hapus titik akhir masuk

Remove-AzDnsResolverInboundEndpoint -Name myinboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup 
Remove-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -Name vnetlink -ResourceGroupName myresourcegroup

Hapus kumpulan aturan penerusan DNS

Remove-AzDnsForwardingRuleset -Name $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup

Hapus titik akhir keluar

Remove-AzDnsResolverOutboundEndpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup -Name myoutboundendpoint

Hapus resolver DNS

Remove-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup

Langkah berikutnya