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:
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()
Buat tautan jaringan virtual ke kumpulan aturan penerusan DNS
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 tautan jaringan virtual
Konfirmasikan bahwa tautan jaringan virtual telah dibuat.
$virtualNetworkLink = Get-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup
$virtualNetworkLink.ToJsonString()
Buat jaringan virtual kedua dan tautkan ke kumpulan aturan penerusan DNS Anda
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
Hapus tautan jaringan virtual
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk