Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du skapar din första privata DNS-zon och DNS-post med Azure PowerShell. Om du vill kan du slutföra den här snabbstarten med Hjälp av Azure-portalen.
Note
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. För att lära dig hur du migrerar till Az PowerShell-modulen, se Migrera Azure PowerShell från AzureRM till Az.
Azure DNS Private Resolver är en ny tjänst som gör att du kan köra frågor mot privata Azure DNS-zoner från en lokal miljö och vice versa utan att distribuera VM-baserade DNS-servrar. Mer information, inklusive fördelar, funktioner och regional tillgänglighet, finns i Vad är Azure DNS Private Resolver.
Följande bild sammanfattar konfigurationen som används i den här artikeln:
Prerequisites
Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Den här artikeln förutsätter att du har installerat Az Azure PowerShell-modulen.
Installera modulen PowerShell Az.DnsResolver
Note
Om du tidigare har installerat Az.DnsResolver-modulen för utvärdering under privat förhandsversion kan du avregistrera och ta bort den lokala PSRepository som skapades. Installera sedan den senaste versionen av Az.DnsResolver-modulen med hjälp av stegen i den här artikeln.
Installera modulen Az.DnsResolver.
Install-Module Az.DnsResolver
Bekräfta att Modulen Az.DnsResolver har installerats. Den aktuella versionen av den här modulen är 0.2.1.
Get-InstalledModule -Name Az.DnsResolver
Ange prenumerationskontext i Azure PowerShell
Ansluta PowerShell till Azure-molnet.
Connect-AzAccount -Environment AzureCloud
Om det finns flera prenumerationer används det första prenumerations-ID:t. Om du vill ange ett annat prenumerations-ID använder du följande kommando.
Select-AzSubscription -SubscriptionObject (Get-AzSubscription -SubscriptionId <your-sub-id>)
Registrera namnområdet för Microsoft.Network-providern för ditt konto.
Innan du kan använda Microsoft.Network-tjänster med din Azure-prenumeration måste du registrera microsoft.network-namnområdet:
Använd följande kommando för att registrera namnområdet Microsoft.Network.
Register-AzResourceProvider -ProviderNamespace Microsoft.Network
Skapa en DNS-matchningsinstans
Important
Steg för att verifiera att resurser har skapats är inte valfria. Hoppa inte över de här stegen. Stegen fyller i variabler som kan användas i senare procedurer.
Skapa en resursgrupp som ska vara värd för resurserna. Resursgruppen måste finnas i en region som stöds. I det här exemplet är platsen westcentralus.
New-AzResourceGroup -Name myresourcegroup -Location westcentralus
Skapa ett virtuellt nätverk i resursgruppen som du skapade.
New-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup -Location westcentralus -AddressPrefix "10.0.0.0/8"
Skapa en DNS-resolver i det virtuella nätverk som du skapade.
New-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup -Location westcentralus -VirtualNetworkId "/subscriptions/<your subs id>/resourceGroups/myresourcegroup/providers/Microsoft.Network/virtualNetworks/myvnet"
Kontrollera att DNS-upplösaren har skapats framgångsrikt och att statusen är ansluten (valfritt). I utdata är dnsResolverStateAnsluten.
$dnsResolver = Get-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup
$dnsResolver.ToJsonString()
Skapa en inkommande DNS-matchningsslutpunkt
Skapa ett undernät i det virtuella nätverket
Skapa ett undernät i det virtuella nätverket (Microsoft.Network/virtualNetworks/undernät) från DET IP-adressutrymme som du tidigare tilldelade. Undernätet måste vara minst /28 i storlek (16 IP-adresser).
$virtualNetwork = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup
Add-AzVirtualNetworkSubnetConfig -Name snet-inbound -VirtualNetwork $virtualNetwork -AddressPrefix "10.0.0.0/28"
$virtualNetwork | Set-AzVirtualNetwork
Skapa den inkommande slutpunkten
Skapa en inkommande slutpunkt för att aktivera namnmatchning från en lokal eller en annan privat plats med hjälp av en IP-adress som ingår i ditt privata virtuella nätverksadressutrymme.
Tip
Med PowerShell kan du ange att ip-adressen för inkommande slutpunkter ska vara dynamisk eller statisk.
Om slutpunktens IP-adress anges som dynamisk ändras inte adressen om inte slutpunkten tas bort och ometableras. Vanligtvis tilldelas samma IP-adress igen under återetablering.
Om slutpunktens IP-adress är statisk kan den anges och återanvändas om slutpunkten återskapas. Den IP-adress som du väljer kan inte vara en reserverad IP-adress i undernätet.
Följande kommandon etablerar en dynamisk IP-adress:
$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
Använd följande kommandon för att ange en statisk IP-adress. Använd inte både dynamiska och statiska uppsättningar med kommandon.
Du måste ange en IP-adress i undernätet som skapades tidigare. Den IP-adress som du väljer kan inte vara en reserverad IP-adress i undernätet.
Följande kommandon etablerar en statisk IP-adress:
$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
Bekräfta din inkommande slutpunkt
Säkerställ att den inkommande slutpunkten har skapats och att du har allokerat en IP-adress i det tilldelade undernätet.
$inboundEndpoint = Get-AzDnsResolverInboundEndpoint -Name myinboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup
$inboundEndpoint.ToJsonString()
Skapa en utgående DNS-resolverslutpunkt
Skapa ett undernät i det virtuella nätverket
Skapa ett undernät i det virtuella nätverket (Microsoft.Network/virtualNetworks/undernät) från DET IP-adressutrymme som du tidigare tilldelade, annat än ditt inkommande undernät (snet-inbound). Det utgående undernätet måste också vara minst /28 i storlek (16 IP-adresser).
$virtualNetwork = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup
Add-AzVirtualNetworkSubnetConfig -Name snet-outbound -VirtualNetwork $virtualNetwork -AddressPrefix "10.1.1.0/28"
$virtualNetwork | Set-AzVirtualNetwork
Skapa den utgående slutpunkten
En utgående ändpunkt möjliggör villkorlig vidarebefordran av namnuppslagning från Azure till externa DNS-servrar.
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
Bekräfta slutpunkten för utgående trafik
Bekräfta att den utgående slutpunkten skapades och allokerade en IP-adress i det tilldelade undernätet.
$outboundEndpoint = Get-AzDnsResolverOutboundEndpoint -Name myoutboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup
$outboundEndpoint.ToJsonString()
Skapa vidarebefordringsregeluppsättning för DNS-resolver
Skapa en regeluppsättning för DNS-vidarebefordran för den utgående slutpunkt som du skapade.
New-AzDnsForwardingRuleset -Name myruleset -ResourceGroupName myresourcegroup -DnsResolverOutboundEndpoint $outboundendpoint -Location westcentralus
Bekräfta regeluppsättningen för DNS-vidarebefordran
Bekräfta att regeluppsättningen för vidarebefordran har skapats.
$dnsForwardingRuleset = Get-AzDnsForwardingRuleset -Name myruleset -ResourceGroupName myresourcegroup
$dnsForwardingRuleset.ToJsonString()
Skapa en virtuell nätverkslänk till en DNS-vidarebefordringsregler
Virtuella nätverkslänkar möjliggör namnupplösning för virtuella nätverk som är kopplade till en utgående slutpunkt med en regeluppsättning för DNS-vidarebefordran.
$vnet = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup
$vnetlink = New-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup -VirtualNetworkLinkName "vnetlink" -VirtualNetworkId $vnet.Id -SubscriptionId <your sub id>
Bekräfta länken för det virtuella nätverket
Bekräfta att länken för det virtuella nätverket har skapats.
$virtualNetworkLink = Get-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup
$virtualNetworkLink.ToJsonString()
Skapa ett andra virtuellt nätverk och länka det till din regeluppsättning för DNS-vidarebefordran
Skapa ett andra virtuellt nätverk för att simulera en lokal eller annan miljö.
$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>
Bekräfta det andra virtuella nätverket
Bekräfta att det andra virtuella nätverket har skapats.
$virtualNetworkLink2 = Get-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup
$virtualNetworkLink2.ToJsonString()
Skapa regler för vidarebefordran
Skapa en vidarebefordransregel för en regeluppsättning till en eller flera DNS-målservrar. Du måste ange det fullständigt kvalificerade domännamnet (FQDN) med en avslutande punkt. Cmdleten New-AzDnsResolverTargetDnsServerObject anger standardporten som 53, men du kan också ange en unik 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
I det här exemplet:
- 10.0.0.4 är lösenlösarens inkommande slutpunkt.
- 192.168.1.2 och 192.168.1.3 är lokala DNS-servrar.
- 10.5.5.5 är en skyddande DNS-tjänst.
Important
Reglerna som visas i den här snabbstarten är exempel på regler som kan användas för specifika scenarier. Ingen av de vidarebefordringsregler som beskrivs i den här artikeln krävs. Var noga med att testa dina vidarebefordransregler och se till att reglerna inte orsakar DNS-matchningsproblem.
Om du inkluderar en jokerteckenregel i regeluppsättningen kontrollerar du att DNS-måltjänsten kan matcha offentliga DNS-namn. Vissa Azure-tjänster har beroenden för offentlig namnmatchning.
Testa den privata matcharen
Nu bör du kunna skicka DNS-trafik till DNS-matcharen och matcha poster baserat på dina regler för vidarebefordran, inklusive:
- Privata Azure DNS-zoner som är länkade till det virtuella nätverket där matcharen distribueras.
- DNS-zoner i det offentliga INTERNET DNS-namnområdet.
- Privat DNS zoner som finns lokalt.
Ta bort en DNS-resolver
För att ta bort DNS-resolvern måste de inkommande slutpunkterna för resursen som skapats inom resolvern först tas bort. När de inkommande slutpunkterna har tagits bort kan den överordnade DNS-resolven tas bort.
Ta bort den inkommande slutpunkten
Remove-AzDnsResolverInboundEndpoint -Name myinboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup
Ta bort länken för det virtuella nätverket
Remove-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -Name vnetlink -ResourceGroupName myresourcegroup
Ta bort regeluppsättningen för DNS-vidarebefordran
Remove-AzDnsForwardingRuleset -Name $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup
Ta bort den utgående slutpunkten
Remove-AzDnsResolverOutboundEndpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup -Name myoutboundendpoint
Ta bort DNS-matcharen
Remove-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup