Поделиться через


Краткое руководство: создание частной зоны DNS Azure с помощью Azure CLI

В этом кратком руководстве описаны шаги по созданию первой частной зоны DNS и записи с помощью Azure CLI.

Зона DNS используется для размещения записей DNS для определенного домена. Чтобы разместить свой домен в Azure DNS, необходимо создать зону DNS для этого доменного имени. Каждая запись DNS для вашего домена создается внутри этой зоны DNS. Чтобы опубликовать частную зону DNS в вашей виртуальной сети, укажите список виртуальных сетей, которым разрешено разрешать записи в зоне. Они называются связанными виртуальными сетями. Когда автоматическая регистрация включена, Azure DNS также обновляет записи зоны при каждом создании виртуальной машины, изменении ее IP-адреса или удалении.

Сводная схема настройки быстрого запуска.

Если у вас нет аккаунта Azure, создайте бесплатную учетную запись перед началом.

Предпосылки

  • Вы можете также воспользоваться Azure PowerShell для выполнения этого краткого руководства.

Создание группы ресурсов

Сначала нужно создать группу ресурсов, которая будет включать зону DNS.

az group create --name MyAzureResourceGroup --location "East US"

Создание частной зоны DNS

В следующем примере создается виртуальная сеть с именем myAzureVNet. Затем создается зона DNS с именем private.contoso.com в группе ресурсов MyAzureResourceGroup, которая связывает зону DNS с виртуальной сетью MyAzureVnet и включает автоматическую регистрацию.

az network vnet create \
  --name myAzureVNet \
  --resource-group MyAzureResourceGroup \
  --location eastus \
  --address-prefix 10.2.0.0/16 \
  --subnet-name backendSubnet \
  --subnet-prefixes 10.2.0.0/24

az network private-dns zone create -g MyAzureResourceGroup \
   -n private.contoso.com

az network private-dns link vnet create -g MyAzureResourceGroup -n MyDNSLink \
   -z private.contoso.com -v myAzureVNet -e true

Если вы хотите создать зону только для разрешения доменных имен (без автоматической регистрации имени узла), можно использовать параметр -e false.

Список частных зон DNS

Чтобы перечислить зоны DNS, используйте az network private-dns zone list. Чтобы получить справку, см. az network dns zone list --help.

Указание группы ресурсов содержит только те зоны в группе ресурсов:

az network private-dns zone list \
  -g MyAzureResourceGroup

Если не указывать группу ресурсов, отображаются все зоны в подписке.

az network private-dns zone list 

Создание тестовых виртуальных машин

Теперь создайте две виртуальные машины, чтобы иметь возможность проверить частную зону DNS.

az vm create \
 -n myVM01 \
 --admin-username AzureAdmin \
 -g MyAzureResourceGroup \
 -l eastus \
 --subnet backendSubnet \
 --vnet-name myAzureVnet \
 --nsg NSG01 \
 --nsg-rule RDP \
 --image win2016datacenter
az vm create \
 -n myVM02 \
 --admin-username AzureAdmin \
 -g MyAzureResourceGroup \
 -l eastus \
 --subnet backendSubnet \
 --vnet-name myAzureVnet \
 --nsg NSG01 \
 --nsg-rule RDP \
 --image win2016datacenter

Создание виртуальной машины займет несколько минут.

Создание дополнительной записи DNS

Чтобы создать запись DNS, используйте az network private-dns record-set [record type] add-record команду. Дополнительные сведения о добавлении записей A см. в разделе az network private-dns record-set A add-record --help.

В следующем примере создается запись с относительным именем db в зоне DNS private.contoso.com в группе ресурсов MyAzureResourceGroup. Полное доменное имя набора записей — db.private.contoso.com. Тип записи — "A", с IP-адресом "10.2.0.4".

az network private-dns record-set a add-record \
  -g MyAzureResourceGroup \
  -z private.contoso.com \
  -n db \
  -a 10.2.0.4

Просмотр записей DNS

Чтобы просмотреть список записей DNS в зоне, используйте следующую команду:

az network private-dns record-set list \
  -g MyAzureResourceGroup \
  -z private.contoso.com

Проверка частной зоны

Теперь вы можете проверить разрешение имени для частной зоны private.contoso.com.

Настройка виртуальных машин для получения входящего ICMP-трафика

Можно использовать команду ping для проверки разрешения имён. Для этого настройте брандмауэр для обеих виртуальных машин, чтобы получать входящие пакеты ICMP.

  1. Подключитесь к myVM01 и откройте окно Windows PowerShell с правами администратора.

  2. Выполните следующую команду:

    New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
    

Повторите действия для myVM02.

Проверка связи с виртуальными машинами по имени

  1. Из командной строки Windows PowerShell на виртуальной машине myVM02 выполните команду ping для myVM01, используя автоматически зарегистрированное имя узла.

    ping myVM01.private.contoso.com
    

    Вы должны увидеть выходные данные, которые выглядят примерно так:

    PS C:\> ping myvm01.private.contoso.com
    
    Pinging myvm01.private.contoso.com [10.2.0.4] with 32 bytes of data:
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time=1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.2.0.4:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
    PS C:\>
    
  2. Теперь выполните команду ping для имени db, созданного ранее.

    ping db.private.contoso.com
    

    Вы должны увидеть выходные данные, которые выглядят примерно так:

    PS C:\> ping db.private.contoso.com
    
    Pinging db.private.contoso.com [10.2.0.4] with 32 bytes of data:
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    Reply from 10.2.0.4: bytes=32 time<1ms TTL=128
    
    Ping statistics for 10.2.0.4:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    PS C:\>
    

Очистка ресурсов

При отсутствии необходимости удалите группу ресурсов MyAzureResourceGroup , чтобы удалить ресурсы, созданные в этом кратком руководстве.

az group delete --name MyAzureResourceGroup

Дальнейшие действия