Importowanie i eksportowanie pliku strefy systemu DNS za pomocą interfejsu wiersza polecenia platformy Azure

Z tego artykułu dowiesz się, jak zaimportować i wyeksportować plik strefy DNS w usłudze Azure DNS przy użyciu interfejsu wiersza polecenia platformy Azure. Możesz również zaimportować i wyeksportować plik strefy przy użyciu witryny Azure Portal.

Wprowadzenie do migracji strefy DNS

Plik strefy DNS jest plikiem tekstowym zawierającym informacje o każdym rekordzie systemu nazw domen (DNS) w strefie. Ma standardowy format, dzięki czemu nadaje się do przesyłania rekordów DNS między systemami DNS. Użycie pliku strefy to szybki i wygodny sposób importowania stref DNS do usługi Azure DNS. Możesz również wyeksportować plik strefy z usługi Azure DNS do użycia z innymi systemami DNS.

Usługa Azure DNS obsługuje importowanie i eksportowanie plików strefy za pośrednictwem interfejsu wiersza polecenia platformy Azure i witryny Azure Portal.

Interfejs wiersza polecenia platformy Azure to międzyplatformowe narzędzie wiersza polecenia używane do zarządzania usługami platformy Azure. Jest ona dostępna dla systemów Windows, Mac i Linux ze strony pobierania platformy Azure.

Uzyskiwanie istniejącego pliku strefy DNS

Przed zaimportowanie pliku strefy DNS do usługi Azure DNS należy uzyskać kopię pliku strefy. Źródło tego pliku zależy od tego, gdzie jest hostowana strefa DNS.

  • Jeśli strefa DNS jest hostowana przez usługę partnerską, usługa powinna mieć możliwość pobrania pliku strefy DNS. Usługi partnerskie obejmują rejestratora domen, dedykowanego dostawcę hostingu DNS lub alternatywnego dostawcę usług w chmurze.
  • Jeśli strefa DNS jest hostowana w systemie Windows DNS, domyślnym folderem plików strefy jest %systemroot%\system32\dns. Pełna ścieżka do każdego pliku strefy jest również wyświetlana na karcie Ogólne konsoli DNS.
  • Jeśli strefa DNS jest hostowana przy użyciu narzędzia BIND, lokalizacja pliku strefy dla każdej strefy zostanie określona w pliku konfiguracji BIND o nazwie.conf.

Ważne

Jeśli importowany plik strefy zawiera wpisy CNAME wskazujące nazwy w innej strefie prywatnej, rozpoznawanie nazw usługi Azure DNS rekordu CNAME nie powiedzie się, chyba że inna strefa również zostanie zaimportowana lub wpisy CNAME zostaną zmodyfikowane.

Importowanie pliku strefy DNS do usługi Azure DNS

Importowanie pliku strefy powoduje utworzenie nowej strefy w usłudze Azure DNS, jeśli strefa jeszcze nie istnieje. Jeśli strefa istnieje, zestawy rekordów w pliku strefy są scalane z istniejącymi zestawami rekordów.

Scal zachowanie

  • Domyślnie nowe zestawy rekordów są scalane z istniejącymi zestawami rekordów. Identyczne rekordy w scalanym zestawie rekordów nie są zduplikowane.
  • Gdy zestawy rekordów są scalane, używany jest czas wygaśnięcia (TTL) istniejących zestawów rekordów.
  • Początek parametrów urzędu (SOA), z wyjątkiem host są zawsze pobierane z zaimportowanego pliku strefy. Rekord serwera nazw ustawiony w wierzchołka strefy również zawsze używa czasu wygaśnięcia pobranego z zaimportowanego pliku strefy.
  • Zaimportowany rekord CNAME zastąpi istniejący rekord CNAME o tej samej nazwie.
  • Gdy wystąpi konflikt między rekordem CNAME a innym rekordem o tej samej nazwie innego typu, używany jest istniejący rekord.

Dodatkowe informacje na temat importowania

Poniższe uwagi zawierają więcej szczegółów technicznych dotyczących procesu importowania strefy.

  • Dyrektywa jest opcjonalna $TTL i jest obsługiwana. Jeśli nie $TTL podano żadnej dyrektywy, rekordy bez jawnego czasu wygaśnięcia są importowane do domyślnego czasu wygaśnięcia 3600 sekund. Gdy dwa rekordy w tym samym zestawie rekordów określają różne listy TTLs, używana jest niższa wartość.
  • Dyrektywa jest opcjonalna $ORIGIN i jest obsługiwana. Jeśli wartość nie $ORIGIN jest ustawiona, używana wartość domyślna to nazwa strefy określona w wierszu polecenia, w tym końcowa kropka (.).
  • Dyrektywy $INCLUDE i $GENERATE nie są obsługiwane.
  • Obsługiwane są następujące typy rekordów: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV i TXT.
  • Rekord SOA jest tworzony automatycznie przez usługę Azure DNS podczas tworzenia strefy. Podczas importowania pliku strefy wszystkie parametry SOA są pobierane z pliku strefy z wyjątkiem parametru host . Ten parametr używa wartości dostarczonej przez usługę Azure DNS, ponieważ musi odwoływać się do podstawowego serwera nazw dostarczonego przez usługę Azure DNS.
  • Rekord serwera nazw ustawiony w wierzchołka strefy jest również tworzony automatycznie przez usługę Azure DNS podczas tworzenia strefy. Importowany jest tylko czas wygaśnięcia tego zestawu rekordów. Te rekordy zawierają nazwy serwerów nazw udostępniane przez usługę Azure DNS. Dane rekordu nie są zastępowane przez wartości zawarte w zaimportowanym pliku strefy.
  • W publicznej wersji zapoznawczej usługa Azure DNS obsługuje tylko rekordy TXT z jednym ciągiem. Wielociągowe rekordy TXT mają być łączone i obcinane do 255 znaków.

Format interfejsu wiersza polecenia i wartości

Format polecenia interfejsu wiersza polecenia platformy Azure do zaimportowania strefy DNS to:

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

Wartości:

  • <resource group> to nazwa grupy zasobów strefy w usłudze Azure DNS.
  • <zone name> to nazwa strefy.
  • <zone file name> to ścieżka/nazwa pliku strefy do zaimportowania.

Jeśli strefa o tej nazwie jeszcze nie istnieje w grupie zasobów, zostanie utworzona dla Ciebie. W przypadku istniejącej strefy zaimportowane zestawy rekordów są scalane z istniejącymi zestawami rekordów.

Importowanie pliku strefy

Aby zaimportować plik strefy dla contoso.com strefy.

  1. Utwórz grupę zasobów, jeśli jej nie masz.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Aby zaimportować contoso.com strefy z pliku contoso.com.txt do nowej strefy DNS w grupie zasobów myresourcegroup, uruchom polecenie az network dns zone import.

    To polecenie ładuje plik strefy i analizuje go. Polecenie wykonuje serię operacji w usłudze Azure DNS, aby utworzyć strefę i wszystkie zestawy rekordów w strefie. Polecenie zgłasza postęp w oknie konsoli wraz z wszelkimi błędami lub ostrzeżeniami. Ponieważ zestawy rekordów są tworzone w serii, importowanie dużego pliku strefy może potrwać kilka minut.

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

Weryfikowanie strefy

Aby sprawdzić strefę DNS po zaimportowaniu pliku, możesz użyć dowolnej z następujących metod:

  • Aby wyświetlić listę rekordów, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure:

    az network dns record-set list -g myresourcegroup -z contoso.com
    
  • Rekordy można również wyświetlić za pomocą polecenia interfejsu wiersza polecenia az network dns record-set ns listplatformy Azure .

  • Użyj polecenia nslookup , aby zweryfikować rozpoznawanie nazw rekordów. Jeśli strefa nie została jeszcze delegowana, musisz jawnie określić poprawne serwery nazw usługi Azure DNS. W poniższym przykładzie pokazano, jak pobrać nazwy serwerów nazw przypisanych do strefy.

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

    Użyj wiersza polecenia systemu Windows, aby wysłać zapytanie do rekordu "www" za nslookup pomocą polecenia .

    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
    

Aktualizowanie delegowania DNS

Po sprawdzeniu, czy strefa została zaimportowana poprawnie, należy zaktualizować delegowanie DNS, aby wskazywało serwery nazw usługi Azure DNS. Aby uzyskać więcej informacji, zobacz Aktualizowanie delegowania DNS.

Eksportowanie pliku strefy DNS z usługi Azure DNS

Aby wyeksportować strefę DNS, użyj następującego polecenia interfejsu wiersza polecenia platformy Azure:

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

Wartości:

  • <resource group> to nazwa grupy zasobów strefy w usłudze Azure DNS.
  • <zone name> to nazwa strefy.
  • <zone file name> to ścieżka/nazwa pliku strefy do wyeksportowania.

Podobnie jak w przypadku importowania strefy, musisz najpierw zalogować się, wybrać subskrypcję i skonfigurować interfejs wiersza polecenia platformy Azure do korzystania z trybu usługi Resource Manager.

Aby wyeksportować plik strefy

Aby wyeksportować istniejącą strefę usługi Azure DNS contoso.com w grupie zasobów myresourcegroup do pliku contoso.com.txt (w bieżącym folderze), uruchom polecenie azure network dns zone export. To polecenie wywołuje usługę Azure DNS, aby wyliczyć zestawy rekordów w strefie i wyeksportować wyniki do pliku strefy zgodnego z powiązaniem.

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

Następne kroki