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:
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
PowerShell verbinden met 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 is de dnsResolverState verbonden.
$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()
Een koppeling naar een virtueel netwerk maken met een dns-regelset voor doorsturen
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>
De koppeling naar het virtuele netwerk bevestigen
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 en koppel het aan uw dns-regelset voor doorsturen
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 voor doorsturen 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
De koppeling naar het virtuele netwerk verwijderen
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