Snabbstart: Skapa en privat DNS-zon i Azure med Hjälp av Azure PowerShell
Den här artikeln visar hur du skapar din första privata DNS-zon och DNS-post med Azure PowerShell.
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Information om hur du kommer igång finns i Installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
En DNS-zon används som värd för DNS-posterna för en viss domän. Om du vill låta Azure DNS vara värd för din domän så måste du skapa en DNS-zon för det domännamnet. Varje DNS-post för din domän skapas sedan i den här DNS-zonen. Om du vill publicera en privat DNS-zon i ett virtuellt nätverk anger du listan med virtuella nätverk som får matcha poster i zonen. Dessa kallas länkade virtuella nätverk. När automatisk registrering är aktiverat uppdaterar Azure DNS även zonposterna när en virtuell dator skapas, ändrar dess IP-adress eller tas bort.
Förutsättningar
Om du inte har en Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Om du vill kan du slutföra den här snabbstarten med Hjälp av Azure CLI.
Azure Cloud Shell
Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.
Så här startar du Azure Cloud Shell:
Alternativ | Exempel/länk |
---|---|
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. | |
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. | |
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. |
Så här använder du Azure Cloud Shell:
Starta Cloud Shell.
Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.
Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.
Välj Retur för att köra koden eller kommandot.
Skapa resursgruppen
Först skapar du en resursgrupp som ska innehålla DNS-zonen:
New-AzResourceGroup -name MyAzureResourceGroup -location "eastus"
Skapa en privat DNS-zon
En DNS-zon skapas med hjälp av cmdleten New-AzPrivateDnsZone
.
I följande exempel skapas ett virtuellt nätverk med namnet myAzureVNet. Sedan skapas en DNS-zon med namnet private.contoso.com i resursgruppen MyAzureResourceGroup , länkar DNS-zonen till det virtuella nätverket MyAzureVnet och aktiverar automatisk registrering.
Install-Module -Name Az.PrivateDns -force
$backendSubnet = New-AzVirtualNetworkSubnetConfig -Name backendSubnet -AddressPrefix "10.2.0.0/24"
$vnet = New-AzVirtualNetwork `
-ResourceGroupName MyAzureResourceGroup `
-Location eastus `
-Name myAzureVNet `
-AddressPrefix 10.2.0.0/16 `
-Subnet $backendSubnet
$zone = New-AzPrivateDnsZone -Name private.contoso.com -ResourceGroupName MyAzureResourceGroup
$link = New-AzPrivateDnsVirtualNetworkLink -ZoneName private.contoso.com `
-ResourceGroupName MyAzureResourceGroup -Name "mylink" `
-VirtualNetworkId $vnet.id -EnableRegistration
Om du vill skapa en zon bara för namnmatchning (ingen automatisk registrering av värdnamn) kan du utelämna parametern -EnableRegistration
.
Lista privata DNS-zoner
Genom att utelämna zonnamnet från Get-AzPrivateDnsZone
kan du räkna upp alla zoner i en resursgrupp. Den här åtgärden returnerar en matris med zonobjekt.
$zones = Get-AzPrivateDnsZone -ResourceGroupName MyAzureResourceGroup
$zones
Genom att utelämna både zonnamnet och resursgruppsnamnet från Get-AzPrivateDnsZone
kan du räkna upp alla zoner i Azure-prenumerationen.
$zones = Get-AzPrivateDnsZone
$zones
Skapa de virtuella testdatorerna
Nu skapar du två virtuella datorer så att du kan testa din privata DNS-zon:
New-AzVm `
-ResourceGroupName "myAzureResourceGroup" `
-Name "myVM01" `
-Location "East US" `
-subnetname backendSubnet `
-VirtualNetworkName "myAzureVnet" `
-addressprefix 10.2.0.0/24 `
-OpenPorts 3389
New-AzVm `
-ResourceGroupName "myAzureResourceGroup" `
-Name "myVM02" `
-Location "East US" `
-subnetname backendSubnet `
-VirtualNetworkName "myAzureVnet" `
-addressprefix 10.2.0.0/24 `
-OpenPorts 3389
Det tar några minuter att skapa en virtuell dator.
Skapa en ytterligare DNS-post
Du skapar postuppsättningar med hjälp av cmdleten New-AzPrivateDnsRecordSet
. I följande exempel skapas en post med det relativa namnet db i DNS-zonen private.contoso.com i resursgruppen MyAzureResourceGroup. Det fullständigt kvalificerade namnet på postuppsättningen är db.private.contoso.com. Posttypen är ”A” med IP-adressen ”10.2.0.4”, och TTL är 3600 sekunder.
New-AzPrivateDnsRecordSet -Name db -RecordType A -ZoneName private.contoso.com `
-ResourceGroupName MyAzureResourceGroup -Ttl 3600 `
-PrivateDnsRecords (New-AzPrivateDnsRecordConfig -IPv4Address "10.2.0.4")
Visa DNS-poster
Om du vill visa en lista med DNS-poster i din zon kör du:
Get-AzPrivateDnsRecordSet -ZoneName private.contoso.com -ResourceGroupName MyAzureResourceGroup
Testa den privata zonen
Nu kan du testa namnmatchningen för din private.contoso.com privata zon.
Konfigurera virtuella datorer för att tillåta inkommande ICMP
Du kan använda ping-kommandot för att testa namnmatchning. Konfigurera därför brandväggen på båda de virtuella datorerna att tillåta inkommande ICMP-paket.
Anslut till myVM01 med det användarnamn och lösenord som du använde när du skapade den virtuella datorn.
Öppna ett Windows PowerShell-fönster med administratörsbehörighet.
Kör följande kommando:
New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
Upprepa för myVM02.
Pinga de virtuella datorerna efter namn
Från Windows PowerShell-kommandotolken för myVM02 pingar du myVM01 med hjälp av det automatiskt registrerade värddatornamnet:
ping myVM01.private.contoso.com
Du bör se utdata som liknar det som visas nedan:
PS C:\> ping myvm01.private.contoso.com Pinging myvm01.private.contoso.com [10.2.0.4] with 32 bytes of data: Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time=1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Ping statistics for 10.2.0.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms PS C:\>
Nu pingar du det db-namn som du skapade tidigare:
ping db.private.contoso.com
Du bör se utdata som liknar det som visas nedan:
PS C:\> ping db.private.contoso.com Pinging db.private.contoso.com [10.2.0.4] with 32 bytes of data: Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Reply from 10.2.0.4: bytes=32 time<1ms TTL=128 Ping statistics for 10.2.0.4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milliseconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms PS C:\>
Rensa resurser
Ta bort resursgruppen MyAzureResourceGroup när den inte längre behövs för att ta bort de resurser som skapas i den här artikeln.
Remove-AzResourceGroup -Name MyAzureResourceGroup