Hızlı Başlangıç: Azure PowerShell kullanarak Azure DNS Özel Çözümleyicisi oluşturma

Bu makalede, Azure PowerShell kullanarak ilk özel DNS bölgesi ve kaydınızı oluşturma adımları gösterilmektedir. İsterseniz Azure portalını kullanarak bu hızlı başlangıcı tamamlayabilirsiniz.

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Azure DNS Private Resolver, VM tabanlı DNS sunucuları dağıtmadan Azure DNS özel bölgeleri ile şirket içi ortamlar arasında karşılıklı sorgu gerçekleştirmenize olanak tanıyan yeni bir hizmettir. Avantajlar, özellikler ve bölgesel kullanılabilirlik de dahil olmak üzere daha fazla bilgi için bkz . Azure DNS Özel Çözümleyicisi nedir?

Aşağıdaki şekilde, bu makalede kullanılan kurulum özetlemektedir:

Özel çözümleyicinin bileşenlerini görüntüleyen kavramsal şekil.

Önkoşullar

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Bu makalede Az Azure PowerShell modülünü yüklediğiniz varsayılır.

Az.DnsResolver PowerShell modülünü yükleme

Not

Özel önizleme sırasında değerlendirme için Az.DnsResolver modülünü daha önce yüklediyseniz , oluşturulan yerel PSRepository kaydını kaldırıp silebilirsiniz. Ardından, bu makalede sağlanan adımları kullanarak Az.DnsResolver modülünün en son sürümünü yükleyin.

Az.DnsResolver modülünü yükleyin.

Install-Module Az.DnsResolver

Az.DnsResolver modülünün yüklendiğini onaylayın. Bu modülün geçerli sürümü 0.2.1'dir.

Get-InstalledModule -Name Az.DnsResolver

Azure PowerShell'de abonelik bağlamı ayarlama

PowerShell'i Azure buluta Bağlan.

Connect-AzAccount -Environment AzureCloud

Birden çok abonelik varsa, ilk abonelik kimliği kullanılır. Farklı bir abonelik kimliği belirtmek için aşağıdaki komutu kullanın.

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

Hesabınız için Microsoft.Network sağlayıcısı ad alanını kaydedin.

Microsoft.Network hizmetlerini Azure aboneliğinizle kullanabilmeniz için önce Microsoft.Network ad alanını kaydetmeniz gerekir:

Microsoft.Network ad alanını kaydetmek için aşağıdaki komutu kullanın.

Register-AzResourceProvider -ProviderNamespace Microsoft.Network

DNS çözümleyici örneği oluşturma

Önemli

Kaynakların başarıyla oluşturulduğunu doğrulama veya onaylama adımları isteğe bağlı değildir. Bu adımları atlamayın. Adımlar, sonraki yordamlarda kullanılabilecek değişkenleri doldurur.

Kaynakları barındırmak için bir kaynak grubu oluşturun. Kaynak grubunun desteklenen bir bölgede olması gerekir. Bu örnekte, konum westcentralus şeklindedir.

New-AzResourceGroup -Name myresourcegroup -Location westcentralus

Oluşturduğunuz kaynak grubunda bir sanal ağ oluşturun.

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

Oluşturduğunuz sanal ağda bir DNS çözümleyicisi oluşturun.

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

DNS çözümleyicisinin başarıyla oluşturulduğunu ve durumun bağlı olduğunu doğrulayın (isteğe bağlı). Çıktıda dnsResolverStateBağlan.

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

DNS çözümleyici gelen uç noktası oluşturma

Sanal ağda alt ağ oluşturma

Daha önce atadığınız IP adresi alanından sanal ağda (Microsoft.Network/virtualNetworks/subnets) bir alt ağ oluşturun. Alt ağın boyutu en az /28 olmalıdır (16 IP adresi).

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

Gelen uç noktayı oluşturma

Özel sanal ağ adres alanınızın parçası olan bir IP adresi kullanarak şirket içinden veya başka bir özel konumdan ad çözümlemesini etkinleştirmek için bir gelen uç noktası oluşturun.

İpucu

PowerShell'i kullanarak gelen uç nokta IP adresini dinamik veya statik olarak belirtebilirsiniz.
Uç nokta IP adresi dinamik olarak belirtilirse, uç nokta silinmediği ve yeniden sağlanmadığı sürece adres değişmez. Yeniden sağlama sırasında genellikle aynı IP adresi yeniden atanır.
Uç nokta IP adresi statikse, uç nokta yeniden sağlandığında belirtilebilir ve yeniden kullanılabilir. Seçtiğiniz IP adresi alt ağda ayrılmış bir IP adresi olamaz.

Aşağıdaki komutlar dinamik bir IP adresi oluşturur:

$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

Statik IP adresi belirtmek için aşağıdaki komutları kullanın. Hem dinamik hem de statik komut kümelerini kullanmayın.

Daha önce oluşturulmuş alt ağda bir IP adresi belirtmeniz gerekir. Seçtiğiniz IP adresi alt ağda ayrılmış bir IP adresi olamaz.

Aşağıdaki komutlar statik bir IP adresi oluşturur:

$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

Gelen uç noktanızı onaylayın

Gelen uç noktanın oluşturulduğunu ve atanan alt ağ içinde bir IP adresi ayrıldığını onaylayın.

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

DNS çözümleyici giden uç noktası oluşturma

Sanal ağda alt ağ oluşturma

Sanal ağda (Microsoft.Network/virtualNetworks/subnets) daha önce atadığınız IP adresi alanından gelen alt ağınızdan (snet-gelen) farklı bir alt ağ oluşturun. Giden alt ağın boyutu da en az /28 olmalıdır (16 IP adresi).

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

Giden uç noktayı oluşturma

Giden uç nokta, Azure'dan dış DNS sunucularına koşullu iletme adı çözümlemesini etkinleştirir.

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

Giden uç noktanızı onaylayın

Giden uç noktasının oluşturulduğunu ve atanan alt ağ içinde bir IP adresi ayrıldığını onaylayın.

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

DNS çözümleyici iletme kural kümesi oluşturma

Oluşturduğunuz giden uç nokta için bir DNS iletme kural kümesi oluşturun.

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

DNS iletme kural kümesinizi onaylayın

İletme kural kümesinin oluşturulduğunu onaylayın.

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

Sanal ağ bağlantıları, DNS iletme kural kümesine sahip bir giden uç noktaya bağlı sanal ağlar için ad çözümlemesini etkinleştirir.

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

Sanal ağ bağlantısının oluşturulduğunu onaylayın.

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

Şirket içi veya başka bir ortamın benzetimini yapmak için ikinci bir sanal ağ oluşturun.

$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>

İkinci sanal ağı onaylayın

İkinci sanal ağın oluşturulduğunu onaylayın.

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

İletme kuralları oluşturma

Bir kural kümesi için bir veya daha fazla hedef DNS sunucusuna iletme kuralı oluşturun. Tam etki alanı adını (FQDN) sondaki noktayla belirtmeniz gerekir. New-AzDnsResolverTargetDnsServerObject cmdlet'i varsayılan bağlantı noktasını 53 olarak ayarlar, ancak benzersiz bir bağlantı noktası da belirtebilirsiniz.

$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

Bu örnekte:

  • 10.0.0.4, çözümleyicinin gelen uç noktasıdır.
  • 192.168.1.2 ve 192.168.1.3 şirket içi DNS sunucularıdır.
  • 10.5.5.5 koruyucu bir DNS hizmetidir.

Önemli

Bu hızlı başlangıçta gösterilen kurallar, belirli senaryolar için kullanılabilecek kural örnekleridir. Bu makalede açıklanan yönlendirme kurallarının hiçbiri gerekli değildir. İletme kurallarınızı test etmeye ve kuralların DNS çözümleme sorunlarına neden olmadığından emin olmaya dikkat edin.

Kural kümesine bir joker karakter kuralı eklerseniz, hedef DNS hizmetinin genel DNS adlarını çözümleyebildiğinden emin olun. Bazı Azure hizmetlerinin genel ad çözümlemeye bağımlılıkları vardır.

Özel çözümleyiciyi test edin

Artık DNS çözümleyicinize DNS trafiği gönderebilmeniz ve kayıtları aşağıdakiler dahil olmak üzere iletme kural kümelerinize göre çözümleyebilmeniz gerekir:

  • Çözümleyicinin dağıtıldığı sanal ağa bağlı Azure DNS özel bölgeleri.
  • Genel İnternet DNS ad alanında DNS bölgeleri.
  • Şirket içinde barındırılan bölgeleri Özel DNS.

DNS çözümleyiciyi silme

DNS çözümleyicisini silmek için önce çözümleyici içinde oluşturulan kaynak gelen uç noktalarının silinmesi gerekir. Gelen uç noktalar kaldırıldıktan sonra üst DNS çözümleyicisi silinebilir.

Gelen uç noktayı silme

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

DNS iletme kural kümesini silme

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

Giden uç noktayı silme

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

DNS çözümleyicisini silme

Remove-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup

Sonraki adımlar