Руководство пользователя DNSaaS

Для создания сервера DNS необходима лицензия DNSaaS. Как только данная лицензия будет получена, появится вкладка в левом боковом меню DNSaaS.

Что нужно для создания DNS-сервера

  1. В проекте должна быть хотя бы одна внешняя сеть.

  2. Нужно убедиться, что в списке образов в проекте доступен образ с тэгом dns-image. ВМ на его основе и будет являться DNS-сервером.

Как создать сервер DNS

  1. Перейти в раздел DNSaaS.

  2. Нажать Создать DNS сервер.

  3. Выбрать имя и внешнюю сеть.

  4. Подождать около 5 минут.

../../../_images/dns_serv.png

Как пересоздать сервер DNS

Опция Пересоздать сервер позволяет быстро восстановить работоспособность DNS-сервера, что особенно полезно при компрометации сервера в результате атаки или взлома, чтобы минимизировать простой и вернуть управление зонами в исходное безопасное состояние. При выборе такой опции создается новый DNS-сервер и вся информация о зонах и записях, созданных «законным» путем переносится на него. В тот момент, когда новый сервер запущен - старый отключается и удаляется.

  1. Перейти в раздел DNSaaS.

  2. Нажать Пересоздать DNS сервер.

  3. Нажать Подтвердить.

  4. Подождать около 5 минут.

../../../_images/dns_recreate1.png ../../../_images/dns_recreate2.png

Управление сервером DNS

  1. В реестре DNS-серверов нажать на имя сервера.

  2. Откроется страница деталей сервера (эта страница считается базовой точкой отсчёта).

../../../_images/dns_settings.png
  1. Доступные действия:

    • Просмотр первичных зон DNS (Первичные зоны).

    • Создание первичной зоны DNS (Создать первичную зону DNS).

    • Просмотр зон перенаправления DNS (Зоны перенаправления).

    • Сросздание зоны перенаправления DNS (Создать зону перенаправления DNS).

    • Изменение имени и описания (Редактировать).

  2. В секции Подробности нажать Изменить настройки.

Как создать первичную зону DNS

  1. Перейти на вкладку Первичные зоны.

  2. Нажать Создать первичную зону DNS.

../../../_images/create_primry_zone.png
  1. Ввести название зоны.

  2. Нажать кнопку ОК.

Управление зоной

  1. Нажать в деталях DNS-сервера на имя зоны.

  2. Откроется страница деталей зоны.

../../../_images/primary_zones_details.png
  1. Доступные действия:

    • Просмотр различных записей DNS-зоны.

    • Создать запись (Создать DNS запись).

Как создать запись типа A или AAAA

  1. Перейти в детали нужной зоны.

  2. Нажать Создать DNS запись.

../../../_images/create_record.png
  1. Ввести доменное имя записи.

  2. Выбрать тип записи (A или AAAA).

  3. Указать IPv4-адрес для записи A или IPv6-адрес для записи AAAA.

Примечание

Можно создать обратную запись (PTR) для A и AAAA записей, для этого переключите тумблер PTR. Стоит учитывать, что при активации этого тумблера должна существовать корректная обратная зона.

Как создать зону перенаправления DNS

  1. Перейти на вкладку Зоны перенаправления в деталях сервера DNS.

  2. Нажать Создать зону перенаправления DNS.

../../../_images/create_forwarder_simple.png
  1. Ввести название зоны.

  2. Если тумблер Перенаправлять на текущий сервер выключен, то:

../../../_images/create_forwarder.png
  1. Выберите протокол перенаправления.

  2. Укажите адрес перенаправления.

  3. Выберите тип прокси.

  4. Если был выбран тип прокси, отличный от Default Proxy и No Proxy, то:

../../../_images/create_forwarder_proxy.png
  1. Укажите адрес прокси-сервера.

  2. Укажите порт прокси-сервера.

  3. Заполните имя пользователя для прокси, если требуется аутентификация.

  4. Укажите пароль для прокси, если он необходим для подключения.

  5. Нажмите кнопку ОК.

Как создать обратную зону (PTR) для записей A/AAAA

Для создания обратных записей (PTR) необходимо предварительно создать соответствующую обратную зону DNS.

Важно

Для создания зоны PTR необходимо просто создать первичную зону с корректным названием, соответствующую обратному пространству адресов.

Форматы имен обратных зон

Для IPv4

Имя обратной зоны формируется из обратного порядка октетов IPv4-адреса или подсети с добавлением суффикса .in-addr.arpa.

Примеры:

  • Для подсети 192.168.1.0/24: 1.168.192.in-addr.arpa

  • Для адреса 10.0.0.5: 5.0.0.10.in-addr.arpa (зона для отдельного адреса)

  • Для подсети 172.16.0.0/16: 16.172.in-addr.arpa

Для IPv6

Имя обратной зоны формируется из обратного представления IPv6-адреса или префикса, где каждый шестнадцатеричный символ разделяется точками, с добавлением суффикса .ip6.arpa.

Примеры:

  • Для префикса 2001:db8::/32: 8.b.d.0.1.0.0.2.ip6.arpa

  • Для адреса 2001:db8::1: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa

Пошаговая инструкция создания обратной зоны PTR

  1. Перейдите в раздел DNSaaS и откройте детали вашего DNS-сервера.

  2. На вкладке Первичные зоны нажмите Создать первичную зону DNS.

  3. В поле Название зоны введите имя обратной зоны в соответствующем формате:

    • Для IPv4: [обратные-октеты].in-addr.arpa

    • Для IPv6: [обратный hex].ip6.arpa

  4. Нажмите кнопку ОК.

Пример создания обратной зоны для сети 192.168.10.0/24

  1. Определите обратный порядок октетов: 10.168.192

  2. Добавьте суффикс: .in-addr.arpa

  3. Полное имя зоны: 10.168.192.in-addr.arpa

  4. Создайте первичную зону с этим именем.

Интеграция Neutron с DNSaaS

Виртуальные сети Neutron могут быть интегрированы с DNSaaS для автоматического управления DNS-записями (при использовании SDN Amano), аналогично стандартному расширению DNS в OpenStack. Вместо использования Designate, интеграция выполняется с серверами DNSaaS, доступными в проекте.

Привязка домена к сети

Для привязки домена к сети необходимо:

  1. В настройках сети (Neutron) указать DNS-домен в поле dns_domain.

  2. Система автоматически найдет среди доступных DNS-серверов в проекте зону с соответствующим именем.

  3. Если зона найдена, она будет привязана к сети.

Пример команды через CLI:

openstack network set <network_id> --dns-domain example.com.

Важно

После привязки домена к существующей сети все порты (виртуальные интерфейсы) в этой сети получат автоматически сгенерированные DNS-имена.

Привязка имени к порту

Для явного задания DNS-имени для порта необходимо:

  1. Указать поле dns_name при создании или обновлении порта.

  2. Система автоматически создаст или обновит соответствующую A или AAAA запись в привязанной зоне.

  3. Кроме того, автоматически будет создана обратная зона для подсети, которой принадлежит порт и PTR-запись в ней, соответствующая адресам данного порта.

Пример команды через CLI:

openstack port set <port_id> --dns-name vm1

Если явное имя не задано в dns_name, система назначает имя автоматически по следующему приоритету:

  1. Указанное имя в свойствах порта (dns_name), если задано.

  2. Имя порта (name), если задано.

  3. Имя ВМ, к которой принадлежит порт, если ВМ существует.

  4. Шаблонное имя на основе IP-адреса: host-<ip_address>, если возможно.

  5. Шаблонное имя на основе UUID порта: host-<port_uuid>, если остальные варианты неприменимы.

Примеры автоназначения:

  • Если в поле dns_name порта есть запись, например vm1, в таком случае DNS-имя будет vm1.example.com.

  • Если порт имеет имя my-port, то DNS-имя будет my-port.example.com.

  • Если порт не имеет имени, но привязан к ВМ с именем webserver, то DNS-имя будет webserver.example.com.

  • Если ни имя порта, ни имя ВМ не заданы, но есть IP-адрес 192.168.1.10, то DNS-имя будет host-192-168-1-10.example.com.

  • В остальных случаях: host-<uuid>.example.com.

Отвязка и изменение привязки зоны

  1. При изменении DNS-домена сети система автоматически ищет зону с новым именем среди доступных серверов DNSaaS.

  2. Если зона найдена, происходит перепривязка.

  3. Старые записи, связанные с предыдущим доменом, удаляются из старой зоны и создаются в новой.

  4. При отвязке домена (установке dns_domain в пустое значение) все связанные DNS-записи удаляются.

Пример отвязки:

openstack network set <network_id> --dns-domain ""

Особенности работы с несколькими DNS-серверами

  • При создании или поиске зоны система проверяет все DNS-серверы DNSaaS в проекте.

  • Если зона с нужным именем существует на нескольких серверах, запись будет создана в каждой Primary зоне с таким именем.

  • Для обеспечения отказоустойчивости записи могут реплицироваться между серверами DNSaaS в рамках проекта.

Пример рабочего процесса

  1. Создана сеть private-net с доменом internal.example.com.

  2. Система находит зону internal.example.com на одном из DNS-серверов.

  3. В сеть добавлена ВМ web с портом, имеющим IP 10.0.0.5.

  4. Порт получает имя web.internal.example.com (на основе имени ВМ).

  5. Пользователь явно задает для порта имя app.internal.example.com.

  6. Система обновляет запись в зоне.

  7. При отвязке домена все записи удаляются.