Een DNS-zonebestand importeren en exporteren met de Azure CLI
In dit artikel leert u hoe u een DNS-zonebestand in Azure DNS importeert en exporteert met behulp van Azure CLI. U kunt ook een zonebestand importeren en exporteren met behulp van Azure Portal.
Inleiding tot migratie van DNS-zone
Een DNS-zonebestand is een tekstbestand met informatie over 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 en handige manier om DNS-zones te importeren in Azure DNS. U kunt ook een zonebestand exporteren uit Azure DNS voor gebruik met andere DNS-systemen.
Azure DNS biedt ondersteuning voor het importeren en exporteren van zonebestanden via de Azure CLI en Azure Portal.
Azure CLI is een platformoverschrijdend opdrachtregelprogramma dat wordt gebruikt voor het beheren van Azure-services. Deze is beschikbaar voor Windows, Mac en Linux via de azure-downloadpagina.
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 wordt gehost.
- Als uw DNS-zone wordt gehost door een partnerservice, moet de service een manier hebben om het DNS-zonebestand te downloaden. Partnerservices zijn domeinregistrar, toegewezen DNS-hostingprovider of een alternatieve cloudprovider.
- 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.
Belangrijk
Als het zonebestand dat u importeert CNAME-vermeldingen bevat die verwijzen naar namen in een andere privézone, mislukt de Azure DNS-omzetting van de CNAME, tenzij de andere zone ook wordt geïmporteerd of de CNAME-vermeldingen worden gewijzigd.
Een DNS-zonebestand importeren in Azure DNS
Als u een zonebestand importeert, wordt er een nieuwe zone gemaakt in Azure DNS als de zone nog niet bestaat. Als de zone bestaat, worden de recordsets in het zonebestand samengevoegd met de bestaande recordsets.
Samenvoeggedrag
- Standaard worden de nieuwe recordsets samengevoegd met de bestaande recordsets. Identieke records in een samengevoegde recordset worden niet gedupliceerd.
- Wanneer recordsets worden samengevoegd, wordt de TTL (Time to Live) van bestaande recordsets gebruikt.
- Begin van SOA-parameters (Authority), met uitzondering
host
van het geïmporteerde zonebestand. De naamserverrecordset in de zone-apex gebruikt ook altijd de TTL die uit het geïmporteerde zonebestand is genomen. - Een geïmporteerde CNAME-record vervangt de bestaande CNAME-record met dezelfde naam.
- Wanneer er een conflict optreedt tussen een CNAME-record en een andere record met dezelfde naam van een ander type, wordt de bestaande record gebruikt.
Aanvullende informatie over importeren
De volgende opmerkingen bevatten meer technische informatie over het zone-importproces.
- 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, inclusief de eindpunt (.). - De
$INCLUDE
en$GENERATE
instructies 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 gebruikt de waarde van Azure DNS omdat deze 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.
- Tijdens de openbare preview ondersteunt Azure DNS alleen TXT-records met één tekenreeks. Txt-records met meerdere tekenreeksen moeten 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 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 nog geen zone met deze naam in de resourcegroep bestaat, wordt er een voor u gemaakt. Voor een bestaande zone worden de geïmporteerde recordsets samengevoegd met bestaande recordsets.
Een zonebestand importeren
Een zonebestand importeren voor de zone contoso.com.
Maak een resourcegroep als u er nog geen hebt.
az group create --resource-group myresourcegroup -l westeurope
Als u de zone wilt importeren contoso.com uit het bestand contoso.com.txt in een nieuwe DNS-zone in de myresourcegroup van de resourcegroep, voert u de opdracht
az network dns zone import
uit.Met deze opdracht wordt het zonebestand geladen en geparseerd. Met de opdracht wordt een reeks bewerkingen 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 dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
De zone controleren
U kunt een van de volgende methoden gebruiken om de DNS-zone te controleren nadat u het bestand hebt geïmporteerd:
Gebruik de volgende Azure CLI-opdracht om de records weer te geven:
az network dns record-set list -g myresourcegroup -z contoso.com
U kunt de records ook weergeven met behulp van de Azure CLI-opdracht
az network dns record-set ns list
.Gebruik
nslookup
dit om de naamomzetting voor de records te controleren. Als 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.az network dns record-set ns list -g myresourcegroup -z contoso.com --output json
[ { ....... "name": "@", "nsRecords": [ { "additionalProperties": {}, "nsdname": "ns1-03.azure-dns.com." }, { "additionalProperties": {}, "nsdname": "ns2-03.azure-dns.net." }, { "additionalProperties": {}, "nsdname": "ns3-03.azure-dns.org." }, { "additionalProperties": {}, "nsdname": "ns4-03.azure-dns.info." } ], "resourceGroup": "myresourcegroup", "ttl": 86400, "type": "Microsoft.Network/dnszones/NS" } ]
Gebruik de Windows-opdrachtprompt om een query uit te voeren op de www-record met de
nslookup
opdracht.nslookup www.contoso.com ns1-03.azure-dns.com Server: ns1-01.azure-dns.com Address: 40.90.4.1 Name:www.contoso.com Addresses: 134.170.185.46 134.170.188.221
DNS-delegatie bijwerken
Nadat u hebt gecontroleerd of de zone correct is geïmporteerd, moet u de DNS-delegatie bijwerken zodat deze verwijst naar de Azure DNS-naamservers. Zie De DNS-delegatie bijwerken voor meer informatie.
Een DNS-zonebestand exporteren vanuit Azure DNS
Als u een DNS-zone wilt exporteren, gebruikt u de volgende Azure CLI-opdracht:
az network 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 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 dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt
Volgende stappen
- Meer informatie over het beheren van recordsets en records in uw DNS-zone.
- Meer informatie over het delegeren van uw domein aan Azure DNS.