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. Začněte tím, že si projdete 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:
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 ke 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řipojeno.
$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()
Vytvoření propojení virtuální sítě se sadou pravidel předávání DNS
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>
Potvrzení propojení virtuální sítě
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íť a propojte ji se sadou pravidel předávání DNS.
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 předává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
Odstranění propojení virtuální sítě
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