Snabbstart: Skapa en privat DNS-zon i Azure med Azure PowerShell

Den här artikeln visar hur du skapar din första privata DNS-zon och DNS-post med Azure PowerShell.

Anteckning

För att interagera med Azure rekommenderas Azure Az PowerShell-modulen. 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.

En DNS-zon används som värd åt 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 skapar du 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 Cloud Shell förinstallerade 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 ett kod- eller kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Skärmbild som visar ett exempel på Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Skärmbild som visar hur du startar Cloud Shell i ett nytt fönster.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Skärmbild som visar knappen Cloud Shell i Azure Portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i den Cloud Shell sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Skift+V på macOS.

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

  1. Anslut till myVM01 med det användarnamn och lösenord som du använde när du skapade den virtuella datorn.

  2. Öppna ett Windows PowerShell fönster med administratörsbehörighet.

  3. Kör följande kommando:

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    

Upprepa för myVM02.

Pinga de virtuella datorerna efter namn

  1. 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:\>
    
  2. 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 resurserna som skapats i den här artikeln.

Remove-AzResourceGroup -Name MyAzureResourceGroup

Nästa steg