Quickstart: Een privé-resolver voor Azure DNS maken met behulp van Azure PowerShell

Dit artikel leidt u stapsgewijs door de procedure voor het maken van uw eerste privé-DNS-zone en -record met behulp van Azure PowerShell. Als u wilt, kunt u deze quickstart voltooien met behulp van Azure Portal.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Azure DNS Private Resolver is een nieuwe service waarmee u query's kunt uitvoeren op privézones van Azure DNS vanuit een on-premises-omgeving en vice versa zonder op VM's gebaseerde DNS-servers te implementeren. Zie wat azure DNS Private Resolver is voor meer informatie, waaronder voordelen, mogelijkheden en regionale beschikbaarheid.

In de volgende afbeelding ziet u een overzicht van de installatie die in dit artikel wordt gebruikt:

Conceptuele afbeelding met onderdelen van de privé-resolver.

Vereisten

Als u nog geen abonnement op Azure hebt, maakt u een gratis account aan voordat u begint.

In dit artikel wordt ervan uitgegaan dat u de Az PowerShell-module hebt geïnstalleerd.

De PowerShell-module Az.DnsResolver installeren

Notitie

Als u de Az.DnsResolver-module eerder hebt geïnstalleerd voor evaluatie tijdens de persoonlijke preview, kunt u de registratie ongedaan maken en de lokale PSRepository verwijderen die is gemaakt. Installeer vervolgens de nieuwste versie van de Az.DnsResolver-module met behulp van de stappen in dit artikel.

Installeer de Az.DnsResolver-module.

Install-Module Az.DnsResolver

Controleer of de Az.DnsResolver-module is geïnstalleerd. De huidige versie van deze module is 0.2.1.

Get-InstalledModule -Name Az.DnsResolver

Abonnementscontext instellen in Azure PowerShell

Verbinding maken PowerShell naar de Azure-cloud.

Connect-AzAccount -Environment AzureCloud

Als er meerdere abonnementen aanwezig zijn, wordt de eerste abonnements-id gebruikt. Gebruik de volgende opdracht om een andere abonnements-id op te geven.

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

Registreer de microsoft.Network-providernaamruimte voor uw account.

Voordat u Microsoft.Network-services met uw Azure-abonnement kunt gebruiken, moet u de Microsoft.Network-naamruimte registreren:

Gebruik de volgende opdracht om de Microsoft.Network-naamruimte te registreren.

Register-AzResourceProvider -ProviderNamespace Microsoft.Network

Een DNS-resolver-exemplaar maken

Belangrijk

Stappen om te controleren of of resources zijn gemaakt, zijn niet optioneel. Sla deze stappen niet over. In de stappen worden variabelen ingevuld die in latere procedures kunnen worden gebruikt.

Maak een resourcegroep om de resources te hosten. De resourcegroep moet zich in een ondersteunde regio bevinden. In dit voorbeeld is de locatie westcentralus.

New-AzResourceGroup -Name myresourcegroup -Location westcentralus

Maak een virtueel netwerk in de resourcegroep die u hebt gemaakt.

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

Maak een DNS-resolver in het virtuele netwerk dat u hebt gemaakt.

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

Controleer of de DNS-resolver is gemaakt en of de status is verbonden (optioneel). In de uitvoer wordt de dnsResolverState Verbinding maken ed.

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

Een binnenkomende DNS-resolver-eindpunt maken

Een subnet maken in het virtuele netwerk

Maak een subnet in het virtuele netwerk (Microsoft.Network/virtualNetworks/subnetten) vanuit de IP-adresruimte die u eerder hebt toegewezen. Het subnet moet ten minste /28 groot zijn (16 IP-adressen).

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

Het binnenkomende eindpunt maken

Maak een binnenkomend eindpunt om naamomzetting vanuit on-premises of een andere privélocatie in te schakelen met behulp van een IP-adres dat deel uitmaakt van uw privé-netwerkadresruimte.

Tip

Met Behulp van PowerShell kunt u het IP-adres van het binnenkomende eindpunt opgeven dat dynamisch of statisch moet zijn.
Als het IP-adres van het eindpunt is opgegeven als dynamisch, wordt het adres niet gewijzigd, tenzij het eindpunt wordt verwijderd en opnieuw wordt ingesteld. Normaal gesproken wordt hetzelfde IP-adres opnieuw toegewezen tijdens het opnieuw inrichten.
Als het IP-adres van het eindpunt statisch is, kan het worden opgegeven en opnieuw worden gebruikt als het eindpunt opnieuw wordt ingericht. Het IP-adres dat u kiest, kan geen gereserveerd IP-adres in het subnet zijn.

Met de volgende opdrachten wordt een dynamisch IP-adres ingericht:

$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

Gebruik de volgende opdrachten om een statisch IP-adres op te geven. Gebruik niet zowel de dynamische als statische sets opdrachten.

U moet een IP-adres opgeven in het subnet dat eerder is gemaakt. Het IP-adres dat u kiest, kan geen gereserveerd IP-adres in het subnet zijn.

Met de volgende opdrachten wordt een statisch IP-adres ingericht:

$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

Uw binnenkomende eindpunt bevestigen

Controleer of het binnenkomende eindpunt is gemaakt en toegewezen aan een IP-adres in het toegewezen subnet.

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

Een uitgaande DNS-resolver-eindpunt maken

Een subnet maken in het virtuele netwerk

Maak een subnet in het virtuele netwerk (Microsoft.Network/virtualNetworks/subnetten) op basis van de IP-adresruimte die u eerder hebt toegewezen, anders dan uw binnenkomende subnet (snet-inbound). Het uitgaande subnet moet ook ten minste /28 groot zijn (16 IP-adressen).

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

Het uitgaande eindpunt maken

Met een uitgaand eindpunt kan naamomzetting van voorwaardelijke doorsturen van Azure naar externe DNS-servers worden ingeschakeld.

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

Uw uitgaande eindpunt bevestigen

Controleer of het uitgaande eindpunt is gemaakt en toegewezen aan een IP-adres in het toegewezen subnet.

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

Regelset voor doorsturen van DNS-resolver maken

Maak een dns-regelset voor het uitgaande eindpunt dat u hebt gemaakt.

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

Bevestig de regelset voor het doorsturen van DNS

Controleer of de regelset voor doorsturen is gemaakt.

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

Virtuele netwerkkoppelingen maken naamomzetting mogelijk voor virtuele netwerken die zijn gekoppeld aan een uitgaand eindpunt met een dns-regelset voor doorsturen.

$vnet = Get-AzVirtualNetwork -Name myvnet -ResourceGroupName myresourcegroup 
$vnetlink = New-AzDnsForwardingRulesetVirtualNetworkLink -DnsForwardingRulesetName $dnsForwardingRuleset.Name -ResourceGroupName myresourcegroup -VirtualNetworkLinkName "vnetlink" -VirtualNetworkId $vnet.Id -SubscriptionId <your sub id>

Controleer of de koppeling voor het virtuele netwerk is gemaakt.

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

Maak een tweede virtueel netwerk om een on-premises of andere omgeving te simuleren.

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

Bevestig het tweede virtuele netwerk

Controleer of het tweede virtuele netwerk is gemaakt.

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

Regels voor doorsturen maken

Maak een doorstuurregel voor een regelset naar een of meer DNS-doelservers. U moet de FQDN (Fully Qualified Domain Name) opgeven met een volgpunt. De cmdlet New-AzDnsResolverTargetDnsServerObject stelt de standaardpoort in op 53, maar u kunt ook een unieke poort opgeven.

$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

In dit voorbeeld:

  • 10.0.0.4 is het binnenkomende eindpunt van de resolver.
  • 192.168.1.2 en 192.168.1.3 zijn on-premises DNS-servers.
  • 10.5.5.5 is een beschermende DNS-service.

Belangrijk

De regels die in deze quickstart worden weergegeven, zijn voorbeelden van regels die kunnen worden gebruikt voor specifieke scenario's. Geen van de regels die in dit artikel worden beschreven, zijn vereist. Wees voorzichtig met het testen van uw doorstuurregels en zorg ervoor dat de regels geen problemen met DNS-omzetting veroorzaken.

Als u een jokertekenregel opneemt in uw regelset, moet u ervoor zorgen dat de doel-DNS-service openbare DNS-namen kan omzetten. Sommige Azure-services hebben afhankelijkheden van openbare naamomzetting.

De privé-resolver testen

U moet nu DNS-verkeer naar uw DNS-resolver kunnen verzenden en records kunnen oplossen op basis van uw doorstuurregelsets, waaronder:

  • Azure DNS-privézones die zijn gekoppeld aan het virtuele netwerk waar de resolver wordt geïmplementeerd.
  • DNS-zones in de openbare DNS-naamruimte voor internet.
  • Privé-DNS zones die on-premises worden gehost.

Een DNS-resolver verwijderen

Als u de DNS-resolver wilt verwijderen, moeten de binnenkomende broneindpunten die in de resolver zijn gemaakt eerst worden verwijderd. Zodra de binnenkomende eindpunten zijn verwijderd, kan de bovenliggende DNS-resolver worden verwijderd.

Het binnenkomende eindpunt verwijderen

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

De regelset voor DNS-doorsturen verwijderen

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

Het uitgaande eindpunt verwijderen

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

De DNS-resolver verwijderen

Remove-AzDnsResolver -Name mydnsresolver -ResourceGroupName myresourcegroup

Volgende stappen