Rychlý start: Vytvoření privátního překladače Azure DNS pomocí Azure PowerShellu

Tento článek vás provede kroky k vytvoření první privátní zóny a záznamu DNS pomocí Azure PowerShellu. Pokud chcete, můžete tento rychlý start dokončit pomocí webu Azure Portal.

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Azure DNS Private Resolver je nová služba, která umožňuje dotazovat privátní zóny Azure DNS z místního prostředí a naopak bez nasazování serverů DNS založených na virtuálních počítačích. Další informace, včetně výhod, možností a regionální dostupnosti, najdete v tématu Co je privátní překladač Azure DNS.

Následující obrázek shrnuje nastavení použité v tomto článku:

Koncepční obrázek zobrazující komponenty privátního překladače

Požadavky

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Tento článek předpokládá, že jste nainstalovali modul Az Azure PowerShellu.

Instalace modulu Az.DnsResolver PowerShell

Poznámka:

Pokud jste dříve nainstalovali modul Az.DnsResolver pro vyhodnocení během privátní verze Preview, můžete zrušit registraci a odstranit místní vytvořenou verzi PSRepository. Pak nainstalujte nejnovější verzi modulu Az.DnsResolver pomocí kroků uvedených v tomto článku.

Nainstalujte modul Az.DnsResolver.

Install-Module Az.DnsResolver

Ověřte, že byl nainstalovaný modul Az.DnsResolver. Aktuální verze tohoto modulu je 0.2.1.

Get-InstalledModule -Name Az.DnsResolver

Nastavení kontextu předplatného v Azure PowerShellu

Připojení PowerShellu do cloudu Azure.

Connect-AzAccount -Environment AzureCloud

Pokud existuje více předplatných, použije se první ID předplatného. Pokud chcete zadat jiné ID předplatného, použijte následující příkaz.

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

Zaregistrujte obor názvů zprostředkovatele Microsoft.Network pro váš účet.

Než budete moct používat služby Microsoft.Network se svým předplatným Azure, musíte zaregistrovat obor názvů Microsoft.Network:

K registraci oboru názvů Microsoft.Network použijte následující příkaz.

Register-AzResourceProvider -ProviderNamespace Microsoft.Network

Vytvoření instance překladače DNS

Důležité

Postup ověření nebo potvrzení úspěšného vytvoření prostředků není volitelný. Tyto kroky nepřeskočte. Kroky naplní proměnné, které je možné použít v dalších postupech.

Vytvořte skupinu prostředků pro hostování prostředků. Skupina prostředků musí být v podporované oblasti. V tomto příkladu je umístění westcentralus.

New-AzResourceGroup -Name myresourcegroup -Location westcentralus

Vytvořte virtuální síť ve skupině prostředků, kterou jste vytvořili.

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

Ve virtuální síti, kterou jste vytvořili, vytvořte překladač DNS.

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

Ověřte, že byl překladač DNS úspěšně vytvořen a stav je připojený (volitelné). Ve výstupu je dnsResolverState Připojení.

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

Vytvoření příchozího koncového bodu překladače DNS

Vytvoření podsítě ve virtuální síti

Vytvořte podsíť ve virtuální síti (Microsoft.Network/virtualNetworks/subnets) z adresního prostoru IP adres, který jste předtím přiřadili. Podsíť musí mít velikost alespoň /28 (16 IP adres).

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

Vytvoření příchozího koncového bodu

Vytvořte příchozí koncový bod pro povolení překladu ip adres z místního nebo jiného privátního umístění pomocí IP adresy, která je součástí adresního prostoru privátní virtuální sítě.

Tip

Pomocí PowerShellu můžete zadat IP adresu příchozího koncového bodu, která má být dynamická nebo statická.
Pokud je IP adresa koncového bodu zadaná jako dynamická, adresa se nezmění, pokud se koncový bod neodstraní a znovu nesdílí. Při opětovném zřízení se obvykle znovu přiřadí stejná IP adresa.
Pokud je IP adresa koncového bodu statická, můžete ji zadat a znovu použít, pokud je koncový bod znovu zřízený. Zvolená IP adresa nemůže být vyhrazenou IP adresou v podsíti.

Následující příkazy zřizují dynamickou IP adresu:

$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

Pomocí následujících příkazů zadejte statickou IP adresu. Nepoužívejte dynamické i statické sady příkazů.

V podsíti, která byla vytvořena dříve, musíte zadat IP adresu. Zvolená IP adresa nemůže být vyhrazenou IP adresou v podsíti.

Následující příkazy zřizují statickou IP adresu:

$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

Potvrzení příchozího koncového bodu

Ověřte, že se vytvořil příchozí koncový bod a přidělil IP adresu v rámci přiřazené podsítě.

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

Vytvoření odchozího koncového bodu překladače DNS

Vytvoření podsítě ve virtuální síti

Ve virtuální síti (Microsoft.Network/virtualNetworks/subnets) vytvořte podsíť z adresního prostoru IP adres, který jste předtím přiřadili, jiný než vaše příchozí podsíť (snet-inbound). Odchozí podsíť musí mít velikost alespoň /28 (16 IP adres).

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

Vytvoření odchozího koncového bodu

Odchozí koncový bod umožňuje překlad názvů podmíněného předávání z Azure na externí servery DNS.

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

Potvrzení odchozího koncového bodu

Ověřte, že se vytvořil odchozí koncový bod a přidělil IP adresu v rámci přiřazené podsítě.

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

Vytvoření sady pravidel předávání překladače DNS

Vytvořte sadu pravidel předávání DNS pro odchozí koncový bod, který jste vytvořili.

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

Potvrzení sady pravidel předávání DNS

Ověřte, že se vytvořila sada pravidel předávání.

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

Propojení virtuální sítě umožňují překlad názvů pro virtuální sítě, které jsou propojené s odchozím koncovým bodem se sadou pravidel předávání 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>

Ověřte vytvoření propojení virtuální sítě.

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

Vytvořte druhou virtuální síť pro simulaci místního nebo jiného prostředí.

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

Potvrzení druhé virtuální sítě

Ověřte, že se vytvořila druhá virtuální síť.

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

Vytvoření pravidel předávání

Vytvořte pravidlo předávání pro sadu pravidel na jeden nebo více cílových serverů DNS. Musíte zadat plně kvalifikovaný název domény (FQDN) s koncovou tečkou. Rutina New-AzDnsResolverTargetDnsServerObject nastaví výchozí port jako 53, ale můžete také zadat jedinečný port.

$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

V tomto příkladu:

  • 10.0.0.4 je příchozí koncový bod překladače.
  • 192.168.1.2 a 192.168.1.3 jsou místní servery DNS.
  • 10.5.5.5 je ochranná služba DNS.

Důležité

Pravidla uvedená v tomto rychlém startu jsou příklady pravidel, která se dají použít pro konkrétní scénáře. Nevyžaduje se žádná pravidla pro zásadování popsaná v tomto článku. Při testování pravidel předávání buďte opatrní a ujistěte se, že pravidla nezpůsobí problémy s překladem DNS.

Pokud do sady pravidel zahrnete pravidlo se zástupným znakem, ujistěte se, že cílová služba DNS dokáže překládat veřejné názvy DNS. Některé služby Azure mají závislosti na překladu veřejných ip adres.

Testování privátního překladače

Teď byste měli být schopni odesílat provoz DNS do překladače DNS a překládat záznamy na základě sad pravidel předávání, mezi které patří:

  • Privátní zóny Azure DNS propojené s virtuální sítí, ve které je překladač nasazený.
  • Zóny DNS ve veřejném internetovém oboru názvů DNS.
  • Privátní DNS zón hostovaných místně.

Odstranění překladače DNS

Pokud chcete odstranit překladač DNS, musí být nejprve odstraněny příchozí koncové body prostředků vytvořené v rámci překladače. Po odebrání příchozích koncových bodů je možné odstranit nadřazený překladač DNS.

Odstranění příchozího koncového bodu

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

Odstranění sady pravidel předávání DNS

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

Odstranění odchozího koncového bodu

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

Odstranění překladače DNS

Remove-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup

Další kroky