Delen via


Een privé-DNS-zonebestand importeren en exporteren voor privé-DNS van Azure

In dit artikel wordt uitgelegd hoe u DNS-zonebestanden voor Azure DNS importeert en exporteert met behulp van de Azure CLI.

Inleiding tot migratie van DNS-zone

Een DNS-zonebestand is een tekstbestand met details van elke DNS-record (Domain Name System) in de zone. Het volgt een standaardindeling, waardoor het geschikt is voor het overdragen van DNS-records tussen DNS-systemen. Het gebruik van een zonebestand is een snelle, betrouwbare en handige manier om een DNS-zone over te dragen naar of uit Azure DNS.

Privé-DNS van Azure biedt ondersteuning voor het importeren en exporteren van zonebestanden via de Azure CLI. Het importeren van zonebestanden via Azure PowerShell of Azure Portal wordt momenteel niet ondersteund.

De Azure CLI is een platformoverschrijdend opdrachtregelprogramma dat wordt gebruikt voor het beheren van Azure-services. Het is beschikbaar voor de Windows-, Mac- en Linux-platforms op de azure-downloadpagina. Platformoverschrijdende ondersteuning is belangrijk voor het importeren en exporteren van zonebestanden, omdat de meest voorkomende naamserversoftware, BIND, meestal wordt uitgevoerd op Linux.

Uw bestaande DNS-zonebestand verkrijgen

Voordat u een DNS-zonebestand in Azure DNS importeert, moet u een kopie van het zonebestand verkrijgen. De bron van dit bestand is afhankelijk van waar de DNS-zone momenteel wordt gehost.

  • Als uw DNS-zone wordt gehost door een partnerservice (zoals een domeinregistrar, een toegewezen DNS-hostingprovider of een alternatieve cloudprovider), moet die service de mogelijkheid bieden om het DNS-zonebestand te downloaden.
  • Als uw DNS-zone wordt gehost op Windows DNS, is de standaardmap voor de zonebestanden %systemroot%\system32\dns. Het volledige pad naar elk zonebestand wordt ook weergegeven op het tabblad Algemeen van de DNS-console.
  • Als uw DNS-zone wordt gehost met behulp van BIND, wordt de locatie van het zonebestand voor elke zone opgegeven in het BIND-configuratiebestand met de naam.conf.

Een DNS-zonebestand importeren in privé-DNS van Azure

Als u een zonebestand importeert, wordt er een nieuwe zone gemaakt in privé-DNS van Azure als deze nog niet bestaat. Als de zone al bestaat, moeten de recordsets in het zonebestand worden samengevoegd met de bestaande recordsets.

Samenvoeggedrag

  • Bestaande en nieuwe recordsets worden standaard samengevoegd. Identieke records in een samengevoegde recordset worden gededupliceerd.
  • Wanneer recordsets worden samengevoegd, wordt de time to live (TTL) van vooraf bestaande recordsets gebruikt.
  • Begin van soa-parameters host(Authority) worden altijd uit het geïmporteerde zonebestand gehaald. Op dezelfde manier wordt voor de naamserverrecordset in de zone-apex altijd de TTL uit het geïmporteerde zonebestand genomen.
  • Een geïmporteerde CNAME-record vervangt geen bestaande CNAME-record door dezelfde naam.
  • Wanneer er een conflict optreedt tussen een CNAME-record en een andere record met dezelfde naam, maar een ander type (ongeacht of dit een bestaande of nieuwe record is), wordt de bestaande record bewaard.

Aanvullende informatie over importeren

De volgende opmerkingen bevatten aanvullende technische informatie over het importproces voor zones.

  • De $TTL richtlijn is optioneel en wordt ondersteund. Wanneer er geen $TTL instructie wordt gegeven, worden records zonder expliciete TTL geïmporteerd op een standaard-TTL van 3600 seconden. Wanneer twee records in dezelfde recordset verschillende TTLs opgeven, wordt de lagere waarde gebruikt.
  • De $ORIGIN richtlijn is optioneel en wordt ondersteund. Als er geen $ORIGIN is ingesteld, is de standaardwaarde die wordt gebruikt de zonenaam zoals opgegeven op de opdrachtregel (plus de afsluitoptie '.').
  • De $INCLUDE en $GENERATE richtlijnen worden niet ondersteund.
  • Deze recordtypen worden ondersteund: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV en TXT.
  • De SOA-record wordt automatisch gemaakt door Azure DNS wanneer er een zone wordt gemaakt. Wanneer u een zonebestand importeert, worden alle SOA-parameters opgehaald uit het zonebestand , behalve de host parameter. Deze parameter maakt gebruik van de waarde die wordt geleverd door Azure DNS. Dit komt doordat deze parameter moet verwijzen naar de primaire naamserver die wordt geleverd door Azure DNS.
  • De naamserverrecordset in de zone-apex wordt ook automatisch gemaakt door Azure DNS wanneer de zone wordt gemaakt. Alleen de TTL van deze recordset wordt geïmporteerd. Deze records bevatten de naamservernamen van Azure DNS. De recordgegevens worden niet overschreven door de waarden in het geïmporteerde zonebestand.
  • Azure DNS ondersteunt alleen TXT-records met één tekenreeks. Txt-records met meerdere tekenreeksen worden samengevoegd en afgekapt tot 255 tekens.

CLI-indeling en -waarden

De indeling van de Azure CLI-opdracht voor het importeren van een DNS-zone is:

az network private-dns zone import -g <resource group> -n <zone name> -f <zone file name>

Waarden:

  • <resource group> is de naam van de resourcegroep voor de zone in Azure DNS.
  • <zone name> is de naam van de zone.
  • <zone file name> is het pad/de naam van het zonebestand dat moet worden geïmporteerd.

Als er geen zone met deze naam bestaat in de resourcegroep, wordt deze voor u gemaakt. Als de zone al bestaat, worden de geïmporteerde recordsets samengevoegd met bestaande recordsets.

Een zonebestand importeren

Een zonebestand importeren voor de zone contoso.com.

  1. Als u er nog geen hebt, moet u een Resource Manager-resourcegroep maken.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Als u de zone wilt importeren contoso.com uit het bestand contoso.com.txt in een nieuwe DNS-zone in de resourcegroep myresourcegroup, voert u de opdracht az network private-dns zone importuit.
    Met deze opdracht wordt het zonebestand geladen en geparseerd. Met de opdracht wordt een reeks opdrachten uitgevoerd op de Azure DNS-service om de zone en alle recordsets in de zone te maken. De opdracht rapporteert de voortgang in het consolevenster, samen met eventuele fouten of waarschuwingen. Omdat recordsets in reeksen worden gemaakt, kan het enkele minuten duren voordat een groot zonebestand is geïmporteerd.

    az network private-dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
    

De zone controleren

Als u de DNS-zone wilt controleren nadat u het bestand hebt geïmporteerd, kunt u een van de volgende methoden gebruiken:

  • U kunt de records weergeven met behulp van de volgende Azure CLI-opdracht:

    az network private-dns record-set list -g myresourcegroup -z contoso.com
    
  • U kunt de nslookup naamomzetting voor de records controleren. Omdat de zone nog niet is gedelegeerd, moet u expliciet de juiste Azure DNS-naamservers opgeven. In het volgende voorbeeld ziet u hoe u de namen van de naamservers ophaalt die zijn toegewezen aan de zone. Dit laat ook zien hoe u een query kunt uitvoeren op de www-record met behulp van nslookup.

Een DNS-zonebestand exporteren vanuit Azure DNS

De indeling van de Azure CLI-opdracht voor het exporteren van een DNS-zone is:

az network private-dns zone export -g <resource group> -n <zone name> -f <zone file name>

Waarden:

  • <resource group> is de naam van de resourcegroep voor de zone in Azure DNS.
  • <zone name> is de naam van de zone.
  • <zone file name> is het pad/de naam van het zonebestand dat moet worden geëxporteerd.

Net als bij het importeren van de zone moet u zich eerst aanmelden, uw abonnement kiezen en de Azure CLI configureren voor het gebruik van de Resource Manager-modus.

Een zonebestand exporteren

Voer uit om de bestaande Azure DNS-zone contoso.com in de resourcegroep myresourcegroup te exporteren naar het bestand contoso.com.txt (in de huidige map).azure network private-dns zone export Met deze opdracht wordt de Azure DNS-service aanroepen om recordsets in de zone op te sommen en de resultaten te exporteren naar een bind-compatibel zonebestand.

az network private-dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt

Volgende stappen