Importa ed esporta un file di zona DNS usando la interfaccia della riga di comando di Azure

In questo articolo impari come importare ed esportare un file di zona DNS in DNS di Azure usando interfaccia della riga di comando di Azure. Puoi anche importare ed esportare un file di zone utilizzando il portale Azure.

Introduzione alla migrazione delle zone DNS

Un file di zona DNS è un file di testo contenente informazioni su ogni record del Sistema di Nomi di Dominio (DNS) presente nella zona. Segue un formato standard, rendendolo adatto al trasferimento di record DNS tra sistemi DNS. L'uso di un file di zona rappresenta un metodo rapido e conveniente di importare zone DNS in DNS di Azure. Puoi anche esportare un file di zona da DNS di Azure da usare con altri sistemi DNS.

DNS di Azure supporta l'importazione e l'esportazione di file di zona tramite l'interfaccia della riga di comando di Azure e il portale di Azure.

interfaccia della riga di comando di Azure è uno strumento a riga di comando cross-platform utilizzato per gestire i servizi Azure. È disponibile per Windows, Mac e Linux tramite la pagina di download di Azure.

Ottieni il file di zona DNS esistente

Prima di importare un file di zona DNS in DNS di Azure, devi ottenere una copia del file di zona. La fonte di questo file dipende da dove è ospitata la zona DNS.

  • Se la tua zona DNS è ospitata da un servizio partner, il servizio dovrebbe avere un modo per farti scaricare il file della zona DNS. I servizi partner includono registrar di domini, provider dedicato di hosting DNS o un provider cloud alternativo.
  • Se la tua zona DNS è ospitata su Windows DNS, la cartella predefinita per i file di zona è %systemroot%\system32\dns. Il percorso completo verso ogni file di zona è inoltre mostrato nella scheda Generale della console DNS.
  • Se la tua zona DNS è ospitata tramite BIND, la posizione del file di zona per ciascuna zona viene specificata nel file di configurazione BIND chiamato .conf.

Important

Se il file di zona che importi contiene voci CNAME che puntano a nomi in un'altra zona privata, la risoluzione DNS di Azure del CNAME fallisce a meno che anche l'altra zona non venga importata, o le voci CNAME non vengano modificate.

Importa un file di zona DNS in DNS di Azure

Importare un file di zona crea una nuova zona in DNS di Azure se la zona non esiste già. Se la zona esiste, allora i record set nel file di zona vengono uniti con quelli esistenti.

Comportamento di fusione

  • Di default, i nuovi record set vengono uniti con quelli esistenti. I record identici all'interno di un set di record uniti non vengono duplicati.
  • Quando i record set vengono uniti, viene utilizzato il tempo di vita (TTL) dei record set preesistenti.
  • I parametri di inizio di Authority (SOA), tranne host che sono sempre prese dal file di zona importato. Il record del server di nomi impostato all'apice della zona utilizza sempre anche il TTL preso dal file di zona importato.
  • Un record CNAME importato sostituirà il record CNAME esistente che ha lo stesso nome.
  • Quando si verifica un conflitto tra un record CNAME e un altro record con lo stesso nome di tipo diverso, viene utilizzato il record esistente.

Informazioni aggiuntive sull'importazione

Le seguenti note forniscono dettagli tecnici maggiori sul processo di importazione in zona.

  • La $TTL direttiva è opzionale ed è supportata. Quando non $TTL viene data direttiva, i record senza un TTL esplicito vengono importati impostati su un TTL predefinito di 3600 secondi. Quando due record nello stesso set di record specificano TTL diversi, viene utilizzato il valore inferiore.
  • La $ORIGIN direttiva è opzionale ed è supportata. Quando no $ORIGIN è impostato, il valore predefinito usato è il nome della zona specificato nella riga di comando, incluso il punto finale (.).
  • Le $INCLUDE direttive e $GENERATE non sono supportate.
  • Questi tipi di record sono supportati: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV e TXT.
  • Il record SOA viene creato automaticamente da DNS di Azure quando viene creata una zona. Quando importi un file zona, tutti i parametri SOA vengono presi dal file di zona tranne il host parametro. Questo parametro utilizza il valore fornito da DNS di Azure perché deve riferirsi al server di nomi primario fornito da DNS di Azure.
  • Il record del server di nomi nell'apice della zona viene creato automaticamente anche da DNS di Azure quando la zona viene creata. Viene importato solo il TTL di questo set di record. Questi record contengono i nomi dei server di nomi forniti da DNS di Azure. I dati del record non vengono sovrascritti dai valori contenuti nel file di zona importato.
  • DNS di Azure supporta record TXT che contengono più stringhe, ciascuna con una lunghezza massima di 255 caratteri, con un totale di fino a 4.096 caratteri per ogni set di record TXT. I record TXT multistringa in un file di zona potrebbero non essere importati con la stessa struttura di stringhe, quindi verifica i tuoi record TXT dopo che l'importazione è terminata. Per ulteriori informazioni, consulta i registri TXT.

Formato e valori della CLI

Il formato del comando interfaccia della riga di comando di Azure per importare una zona DNS è:

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

Values:

  • <resource group>è il nome del gruppo di risorse per la zona in DNS di Azure.
  • <zone name> è il nome della zona.
  • <zone file name> è il percorso/nome del file di zona da importare.

Se una zona con questo nome non esiste già nel gruppo risorse, ne viene creata una per te. Per una zona esistente, i record set importati vengono uniti con quelli esistenti.

Importa un file di zona

Per importare un file di zona per la contoso.com zona.

  1. Crea un gruppo di risorse se non ne hai uno.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Per importare la contoso.com di zona dal filecontoso.com.txt in una nuova zona DNS nel gruppo risorse myresourcegroup, esegui il comando az network dns zone import.

    Questo comando carica il file di zona e lo analizza. Il comando esegue una serie di operazioni sul servizio DNS di Azure per creare la zona e tutti i record set presenti nella zona. Il comando riporta i progressi nella finestra della console insieme a eventuali errori o avvertimenti. Poiché i record set vengono creati in serie, potrebbe volerci qualche minuto per importare un file di zona di grandi dimensioni.

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

Verifica la zona

Puoi usare uno qualsiasi dei seguenti metodi per verificare la zona DNS dopo aver importato il file:

  • Per elencare i record, usa il seguente comando interfaccia della riga di comando di Azure:

    az network dns record-set list -g myresourcegroup -z contoso.com
    
  • Puoi anche elencare i record usando il comando az network dns record-set ns listinterfaccia della riga di comando di Azure .

  • Da usare nslookup per verificare la risoluzione dei nomi dei registri. Se la zona non è ancora stata delegata, devi specificare esplicitamente i server di nomi DNS di Azure corretti. Il seguente esempio mostra come recuperare i nomi dei server di nomi assegnati alla zona.

    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"
      }
    ]
    

    Usa il prompt dei comandi di Windows per interrogare il record "www" con il nslookup comando.

    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
    

Delega DNS aggiorna

Dopo aver verificato che la zona sia stata importata correttamente, devi aggiornare la delega DNS per puntare ai server di nomi DNS di Azure. Per ulteriori informazioni, vedi Aggiorna la delega DNS.

Esporta un file di zona DNS da DNS di Azure

Per esportare una zona DNS, usa il seguente comando interfaccia della riga di comando di Azure:

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

Values:

  • <resource group>è il nome del gruppo di risorse per la zona in DNS di Azure.
  • <zone name> è il nome della zona.
  • <zone file name> è il percorso/nome del file di zona da esportare.

Come per l'importazione di zone, devi prima accedere, scegliere l'abbonamento e configurare la interfaccia della riga di comando di Azure per usare la modalità Resource Manager.

Per esportare un file di zona

Per esportare la contoso.com di zona DNS di Azure esistente nel gruppo risorse myresourcegroup al filecontoso.com.txt (nella cartella corrente), esegui azure network dns zone export. Questo comando chiama il servizio DNS di Azure per enumerare i record set nella zona ed esportare i risultati in un file di zona compatibile con BIND.

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

Passaggi successivi