Freigeben über


Importieren und Exportieren einer privaten DNS-Zonendatei für privates Azure-DNS

In diesem Artikel wird das Importieren und Exportieren von DNS-Zonendateien für Azure DNS mit der Azure-Befehlszeilenschnittstelle erläutert.

Einführung in die DNS-Zonenmigration

Eine DNS-Zonendatei ist eine Textdatei, die Details aller Domain Name System-Einträge (DNS) in der Zone enthält. Sie hat ein Standardformat, weshalb sie sich für das Übertragen von DNS-Einträgen zwischen DNS-Systemen eignet. Das Verwenden einer Zonendatei ist eine schnelle, zuverlässige und praktische Möglichkeit, eine DNS-Zone in und aus Azure DNS zu übertragen.

Private Azure-DNS unterstützt das Importieren und Exportieren von Zonendateien über die Azure CLI. Das Importieren von Zonendateien mithilfe von Azure PowerShell oder dem Azure-Portal wird derzeit nicht unterstützt.

Die Azure-CLI (Command Line Interface, Befehlszeilenschnittstelle) ist ein plattformübergreifendes Befehlszeilentool zum Verwalten von Azure-Diensten. Sie steht auf der Azure-Downloadseitefür Windows-, Mac- und Linux-Plattformen zur Verfügung. Die plattformübergreifende Unterstützung ist wichtig für das Importieren und Exportieren von Zonendateien, da die am häufigsten verwendete Namenserversoftware (BIND) meist unter Linux ausgeführt wird.

Abrufen Ihrer vorhandenen DNS-Zonendatei

Bevor Sie eine DNS-Zonendatei in Azure DNS importieren, müssen Sie eine Kopie der Zonendatei abrufen. Der Speicherort dieser Datei hängt davon ab, wo die DNS-Zone derzeit gehostet wird.

  • Wenn Ihre DNS-Zone von einem Partnerdienst (z. B. einer Domänenregistrierungsstelle, einem dedizierten DNS-Hostinganbieter oder anderen Cloudanbieter) gehostet wird, sollte der Dienst die Möglichkeit zum Herunterladen der DNS-Zonendatei bieten.
  • Falls Ihre DNS-Zone unter einem Windows-DNS gehostet wird, lautet der Standardordner für die Zonendateien %systemroot%\system32\dns. Der vollständige Pfad zu jeder Zonendatei wird auch in der DNS-Konsole auf der Registerkarte Allgemein angezeigt.
  • Wenn Ihre DNS-Zone mithilfe von BIND gehostet wird, wird der Speicherort der Zonendatei für jede Zone in der BIND-Konfigurationsdatei named.confangegeben.

Importieren einer DNS-Zonendatei in privates Azure-DNS

Beim Importieren einer Zonendatei wird eine neue Zone im privaten Azure-DNS erstellt, sofern noch keine vorhanden ist. Wenn die Zone bereits vorhanden ist, werden die Ressourceneintragssätze in der Zonendatei mit den vorhandenen Ressourceneintragssätzen zusammengeführt.

Zusammenführungsverhalten

  • Standardmäßig werden vorhandene und neue Ressourceneintragssätze zusammengeführt. Identische Datensätze innerhalb eines zusammengeführten Ressourceneintragssatzes werden dedupliziert.
  • Wenn Ressourceneintragssätze zusammengeführt werden, wird die Gültigkeitsdauer (Time to live, TTL) von bereits vorhandenen Ressourceneintragssätzen verwendet.
  • SOA-Parameter (Start of Authority, Autoritätsursprung) werden (mit Ausnahme von host) immer aus der importierten Zonendatei übernommen. Auch für den Namenserver-Ressourceneintragssatz an der Zonenspitze wird die Gültigkeitsdauer stets der importierten Zonendatei entnommen.
  • Ein importierter CNAME-Eintrag ersetzt keinen vorhandenen CNAME-Eintrag mit demselben Namen.
  • Wenn ein Konflikt zwischen einem CNAME-Eintrag und einem weiteren Eintrag mit demselben Namen – aber einem anderen Typ – entsteht (unabhängig davon, welcher vorhanden oder neu ist), bleibt der vorhandene Eintrag erhalten.

Weitere Informationen zum Importieren

Die folgenden Hinweise liefern weitere technische Details zum Zonenimportprozess.

  • Die $TTL-Anweisung ist optional und wird unterstützt. Wird die Direktive $TTL nicht angegeben, werden Einträge ohne explizite Gültigkeitsdauer mit dem Standardwert der Gültigkeitsdauer von 3.600 Sekunden importiert. Wenn bei zwei Einträgen in demselben Ressourceneintragssatz eine unterschiedliche Gültigkeitsdauer angegeben ist, wird der niedrigere Wert verwendet.
  • Die $ORIGIN-Anweisung ist optional und wird unterstützt. Wird $ORIGIN nicht festgelegt, ist der verwendete Standardwert der Zonenname gemäß Angabe in der Befehlszeile (plus abschließendem „.“).
  • Die Direktiven $INCLUDE und $GENERATE werden nicht unterstützt.
  • Die folgenden Eintragstypen werden unterstützt: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV und TXT.
  • Der SOA-Eintrag wird von Azure DNS automatisch erstellt, wenn eine Zone erstellt wird. Wenn Sie eine Zonendatei importieren, werden alle SOA-Parameter aus der Zonendatei entnommen, mit Ausnahme des Parameters host. Für diesen Parameter wird der Wert verwendet, der von Azure DNS bereitgestellt wird. Der Grund ist, dass dieser Parameter auf den von Azure DNS bereitgestellten primären Namenserver verweisen muss.
  • Der Namenserver-Ressourceneintragssatz an der Zonenspitze wird beim Erstellen der Zone auch automatisch von Azure DNS erstellt. Nur die Gültigkeitsdauer dieses Ressourceneintragssatzes wird importiert. Diese Einträge enthalten die von Azure DNS bereitgestellten Namen der Namenserver. Die Eintragsdaten werden von den Werten in der importierten Zonendatei nicht überschrieben.
  • Azure DNS unterstützt nur TXT-Datensätze mit einer einzigen Zeichenfolge. TXT-Einträge mit mehreren Zeichenfolgen werden verkettet und auf 255 Zeichen verkürzt.

Format und Werte der Befehlszeilenschnittstelle

Das Format des Befehls der Azure-Befehlszeilenschnittstelle zum Importieren einer DNS-Zone lautet:

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

Werte:

  • <resource group> ist der Name der Ressourcengruppe für die Zone in Azure DNS.
  • <zone name> ist der Name der Zone.
  • <zone file name> ist der Pfad/Name der zu importierenden Zonendatei.

Wenn eine Zone mit diesem Namen in der Ressourcengruppe nicht vorhanden ist, wird sie für Sie erstellt. Wenn die Zone bereits vorhanden ist, werden die importierten Ressourceneintragssätze mit vorhandenen Ressourceneintragssätzen zusammengeführt.

Importieren einer Zonendatei

So importieren Sie eine Zonendatei für die Zone contoso.com

  1. Falls noch nicht vorhanden, müssen Sie eine Ressourcen-Manager-Ressourcengruppe erstellen.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Zum Importieren der Zone contoso.com aus der Datei contoso.com.txt in eine neue DNS-Zone in der Ressourcengruppe myresourcegroup führen Sie den Befehl az network private-dns zone import aus.
    Mit diesem Befehl wird die Zonendatei geladen und analysiert. Der Befehl führt eine Reihe von Befehlen für den Azure DNS-Dienst aus, um die Zone und alle Ressourceneintragssätze in der Zone zu erstellen. Außerdem werden mit dem Befehl im Konsolenfenster der Status sowie Fehler und Warnungen angegeben. Da Ressourceneintragssätze in Reihe erstellt werden, dauert der Import einer großen Zonendatei einige Minuten.

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

Überprüfen der Zone

Um die DNS-Zone zu überprüfen, nachdem Sie die Datei importiert haben, können Sie eine der folgenden Methoden verwenden:

  • Sie können die Einträge mit dem unten angegebenen Azure CLI-Befehl auflisten:

    az network private-dns record-set list -g myresourcegroup -z contoso.com
    
  • Sie können nslookup verwenden, um die Namensauflösung für die Einträge zu überprüfen. Da die Zone nicht noch delegiert ist, müssen Sie die richtigen Azure DNS-Namenserver explizit angeben. Im folgenden Beispiel wird gezeigt, wie Sie die Namen der Namenserver abrufen, die der Zone zugewiesen sind. Außerdem wird im Beispiel veranschaulicht, wie Sie den „www“-Eintrag mit nslookupabfragen.

Exportieren einer DNS-Zonendatei aus Azure DNS

Das Format des Azure CLI-Befehls zum Exportieren einer DNS-Zone lautet:

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

Werte:

  • <resource group> ist der Name der Ressourcengruppe für die Zone in Azure DNS.
  • <zone name> ist der Name der Zone.
  • <zone file name> ist der Pfad/Name der zu exportierenden Zonendatei.

Sie müssen sich – wie beim Zonenimport – zunächst anmelden, Ihr Abonnement auswählen und die Azure-Befehlszeilenschnittstelle so konfigurieren, dass der Ressourcen-Manager-Modus verwendet wird.

So exportieren Sie eine Zonendatei

Um die vorhandene Azure-DNS-Zone contoso.com in die Ressourcengruppe myresourcegroup in der Datei contoso.com.txt (im aktuellen Ordner) zu exportieren, führen Sie azure network private-dns zone export aus. Mit diesem Befehl wird der Azure DNS-Dienst aufgefordert, die Ressourceneintragssätze in der Zone aufzuzählen und die Ergebnisse in eine mit BIND kompatible Zonendatei zu exportieren.

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

Nächste Schritte