Share via


Snabbstart: Skapa en privat Lösning för Azure DNS med Azure PowerShell

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.

Kommentar

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. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Azure DNS Private Resolver är en ny tjänst där 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:

Konceptuell bild som visar komponenter i den privata matcharen.

Förutsättningar

Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.

Den här artikeln förutsätter att du har installerat Az Azure PowerShell-modulen.

Installera PowerShell-modulen Az.DnsResolver

Kommentar

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

Anslut 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

Viktigt!

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-matchare 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-matcharen har skapats och att tillståndet är anslutet (valfritt). I utdata Anslut dnsResolverState.

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

Dricks

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. Normalt tilldelas samma IP-adress igen under ometablering.
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

Bekräfta att den inkommande slutpunkten skapades och allokerade en IP-adress i det tilldelade undernätet.

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

Skapa en utgående 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, 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 slutpunkt möjliggör namnmatchning för villkorlig vidarebefordran 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 regeluppsättning för vidarebefordran av DNS-matchare

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()

Länkar till virtuella nätverk aktiverar namnmatchning för virtuella nätverk som är länkade 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 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 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.

Viktigt!

Reglerna som visas i den här snabbstarten är exempel på regler som kan användas för specifika scenarier. Ingen av de regler för aktivering 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-matchare

Om du vill ta bort DNS-matcharen måste resursens inkommande slutpunkter som skapats i matcharen tas bort först. När de inkommande slutpunkterna har tagits bort kan den överordnade DNS-matcharen tas bort.

Ta bort den inkommande slutpunkten

Remove-AzDnsResolverInboundEndpoint -Name myinboundendpoint -DnsResolverName mydnsresolver -ResourceGroupName myresourcegroup 
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

Nästa steg