Importera och exportera en privat DNS-zonfil för privat DNS i Azure
Den här artikeln beskriver hur du importerar och exporterar DNS-zonfiler för Azure DNS med hjälp av Azure CLI.
Introduktion till DNS-zonmigrering
En DNS-zonfil är en textfil som innehåller information om varje DNS-post (Domain Name System) i zonen. Filen följer ett standardformat som gör den lämplig för att överföra DNS-poster mellan DNS-system. Att använda en zonfil är ett snabbt, tillförlitligt och bekvämt sätt att överföra en DNS-zon till eller från Azure DNS.
Privat DNS i Azure stöder import och export av zonfiler via Azure CLI. Import av zonfiler via Azure PowerShell eller Azure-portalen stöds inte för närvarande.
Azure CLI är ett plattformsoberoende kommandoradsverktyg som används för att hantera Azure-tjänster. Den är tillgänglig för Windows-, Mac- och Linux-plattformarna från sidan med Azure-nedladdningar. Plattformsoberoende stöd är viktigt för att importera och exportera zonfiler, eftersom den vanligaste namnserverprogramvaran BIND vanligtvis körs på Linux.
Hämta din befintliga DNS-zonfil
Innan du importerar en DNS-zonfil till Azure DNS måste du skaffa en kopia av zonfilen. Källan till den här filen beror på var DNS-zonen finns för närvarande.
- Om din DNS-zon hanteras av en partnertjänst (till exempel en domänregistrator, dedikerad DNS-värd eller en alternativ molnleverantör) bör den tjänsten ge möjlighet att ladda ned DNS-zonfilen.
- Om DNS-zonen finns i Windows DNS är standardmappen för zonfilerna %systemroot%\system32\dns. Den fullständiga sökvägen till varje zonfil visas också på fliken Allmänt i DNS-konsolen.
- Om DNS-zonen hanteras med bindning anges platsen för zonfilen för varje zon i BIND-konfigurationsfilen med namnet.conf.
Importera en DNS-zonfil till azure private DNS
Om du importerar en zonfil skapas en ny zon i azure private DNS om det inte redan finns någon. Om zonen redan finns måste postuppsättningarna i zonfilen sammanfogas med de befintliga postuppsättningarna.
Sammanslå beteende
- Som standard sammanfogas befintliga och nya postuppsättningar. Identiska poster i en sammanfogad postuppsättning avdupliceras.
- När postuppsättningar slås samman används TTL (time to live) för befintliga postuppsättningar.
- Start av utfärdarparametrar (utom
host
) tas alltid från den importerade zonfilen. På samma sätt tas TTL alltid från den importerade zonfilen för den namnserverpost som angetts i zonexet. - En importerad CNAME-post ersätter inte en befintlig CNAME-post med samma namn.
- När en konflikt uppstår mellan en CNAME-post och en annan post med samma namn men en annan typ (oavsett vilken som är befintlig eller ny) behålls den befintliga posten.
Ytterligare information om import
Följande anteckningar innehåller ytterligare teknisk information om zonens importprocess.
- Direktivet
$TTL
är valfritt och stöds. När inget$TTL
direktiv anges importeras poster utan explicit TTL till en standard-TTL på 3 600 sekunder. När två poster i samma postuppsättning anger olika TTL:er används det lägre värdet. - Direktivet
$ORIGIN
är valfritt och stöds. När nej$ORIGIN
har angetts är standardvärdet det zonnamn som anges på kommandoraden (plus avslutande "."). - Direktiven
$INCLUDE
och$GENERATE
stöds inte. - Dessa posttyper stöds: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV och TXT.
- SOA-posten skapas automatiskt av Azure DNS när en zon skapas. När du importerar en zonfil tas alla SOA-parametrar från zonfilen utom parametern
host
. Den här parametern använder värdet som tillhandahålls av Azure DNS. Det beror på att den här parametern måste referera till den primära namnservern som tillhandahålls av Azure DNS. - Namnserverposten som anges i zonexet skapas också automatiskt av Azure DNS när zonen skapas. Endast TTL för den här postuppsättningen importeras. Dessa poster innehåller namnservernamnen som tillhandahålls av Azure DNS. Postdata skrivs inte över av värdena i den importerade zonfilen.
- Azure DNS stöder endast TXT-poster med en sträng. Multistring TXT-poster sammanfogas och trunkeras till 255 tecken.
CLI-format och -värden
Formatet för Azure CLI-kommandot för att importera en DNS-zon är:
az network private-dns zone import -g <resource group> -n <zone name> -f <zone file name>
Värden:
<resource group>
är namnet på resursgruppen för zonen i Azure DNS.<zone name>
är namnet på zonen.<zone file name>
är sökvägen/namnet på zonfilen som ska importeras.
Om det inte finns någon zon med det här namnet i resursgruppen skapas den åt dig. Om zonen redan finns sammanfogas de importerade postuppsättningarna med befintliga postuppsättningar.
Importera en zonfil
Importera en zonfil för zonen contoso.com.
Om du inte redan har en måste du skapa en Resource Manager-resursgrupp.
az group create --resource-group myresourcegroup -l westeurope
Om du vill importera zonen contoso.com från filen contoso.com.txt till en ny DNS-zon i resursgruppen myresourcegroup kör du kommandot
az network private-dns zone import
.
Det här kommandot läser in zonfilen och parsar den. Kommandot kör en serie kommandon på Azure DNS-tjänsten för att skapa zonen och alla postuppsättningar i zonen. Kommandot rapporterar förlopp i konsolfönstret, tillsammans med eventuella fel eller varningar. Eftersom postuppsättningar skapas i serier kan det ta några minuter att importera en stor zonfil.az network private-dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
Verifiera zonen
Om du vill verifiera DNS-zonen när du har importerat filen kan du använda någon av följande metoder:
Du kan lista posterna med hjälp av följande Azure CLI-kommando:
az network private-dns record-set list -g myresourcegroup -z contoso.com
Du kan använda
nslookup
för att verifiera namnmatchningen för posterna. Eftersom zonen inte har delegerats ännu måste du uttryckligen ange rätt Azure DNS-namnservrar. Följande exempel visar hur du hämtar namnservernamnen som tilldelats till zonen. Detta visar också hur du kör frågor mot "www"-posten med hjälpnslookup
av .
Exportera en DNS-zonfil från Azure DNS
Formatet för Azure CLI-kommandot för att exportera en DNS-zon är:
az network private-dns zone export -g <resource group> -n <zone name> -f <zone file name>
Värden:
<resource group>
är namnet på resursgruppen för zonen i Azure DNS.<zone name>
är namnet på zonen.<zone file name>
är sökvägen/namnet på zonfilen som ska exporteras.
Precis som med zonimporten måste du först logga in, välja din prenumeration och konfigurera Azure CLI för att använda Resource Manager-läget.
Exportera en zonfil
Om du vill exportera den befintliga Azure DNS-zonen contoso.com i resursgruppen myresourcegroup till filen contoso.com.txt (i den aktuella mappen) kör du azure network private-dns zone export
. Det här kommandot anropar Azure DNS-tjänsten för att räkna upp postuppsättningar i zonen och exportera resultatet till en BIND-kompatibel zonfil.
az network private-dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt
Nästa steg
- Lär dig hur du hanterar postuppsättningar och poster i DNS-zonen.