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 Portal.
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:
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
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
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 är dnsResolverState Ansluten.
$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()
Skapa en virtuell nätverkslänk till en DNS-regeluppsättning för vidarebefordran
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 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 DNS-regeluppsättning för 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.
Viktigt!
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-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
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