Руководство пользователя DNSaaS
Для создания сервера DNS необходима лицензия DNSaaS. Как только данная лицензия будет получена, появится вкладка в левом боковом меню DNSaaS.
Что нужно для создания DNS-сервера
В проекте должна быть хотя бы одна внешняя сеть.
Нужно убедиться, что в списке образов в проекте доступен образ с тэгом
dns-image. ВМ на его основе и будет являться DNS-сервером.
Как создать сервер DNS
Перейти в раздел DNSaaS.
Нажать Создать DNS сервер.
Выбрать имя и внешнюю сеть.
Подождать около 5 минут.
Как пересоздать сервер DNS
Опция Пересоздать сервер позволяет быстро восстановить работоспособность DNS-сервера, что особенно полезно при компрометации сервера в результате атаки или взлома, чтобы минимизировать простой и вернуть управление зонами в исходное безопасное состояние. При выборе такой опции создается новый DNS-сервер и вся информация о зонах и записях, созданных «законным» путем переносится на него. В тот момент, когда новый сервер запущен - старый отключается и удаляется.
Перейти в раздел DNSaaS.
Нажать Пересоздать DNS сервер.
Нажать Подтвердить.
Подождать около 5 минут.
Управление сервером DNS
В реестре DNS-серверов нажать на имя сервера.
Откроется страница деталей сервера (эта страница считается базовой точкой отсчёта).
Доступные действия:
Просмотр первичных зон DNS (Первичные зоны).
Создание первичной зоны DNS (Создать первичную зону DNS).
Просмотр зон перенаправления DNS (Зоны перенаправления).
Сросздание зоны перенаправления DNS (Создать зону перенаправления DNS).
Изменение имени и описания (Редактировать).
В секции Подробности нажать Изменить настройки.
Как создать первичную зону DNS
Перейти на вкладку Первичные зоны.
Нажать Создать первичную зону DNS.
Ввести название зоны.
Нажать кнопку ОК.
Управление зоной
Нажать в деталях DNS-сервера на имя зоны.
Откроется страница деталей зоны.
Доступные действия:
Просмотр различных записей DNS-зоны.
Создать запись (Создать DNS запись).
Как создать запись типа A или AAAA
Перейти в детали нужной зоны.
Нажать Создать DNS запись.
Ввести доменное имя записи.
Выбрать тип записи (A или AAAA).
Указать IPv4-адрес для записи A или IPv6-адрес для записи AAAA.
Примечание
Можно создать обратную запись (PTR) для A и AAAA записей, для этого переключите тумблер PTR. Стоит учитывать, что при активации этого тумблера должна существовать корректная обратная зона.
Как создать зону перенаправления DNS
Перейти на вкладку Зоны перенаправления в деталях сервера DNS.
Нажать Создать зону перенаправления DNS.
Ввести название зоны.
Если тумблер Перенаправлять на текущий сервер выключен, то:
Выберите протокол перенаправления.
Укажите адрес перенаправления.
Выберите тип прокси.
Если был выбран тип прокси, отличный от Default Proxy и No Proxy, то:
Укажите адрес прокси-сервера.
Укажите порт прокси-сервера.
Заполните имя пользователя для прокси, если требуется аутентификация.
Укажите пароль для прокси, если он необходим для подключения.
Нажмите кнопку ОК.
Как создать обратную зону (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
Перейдите в раздел DNSaaS и откройте детали вашего DNS-сервера.
На вкладке Первичные зоны нажмите Создать первичную зону DNS.
В поле Название зоны введите имя обратной зоны в соответствующем формате:
Для IPv4:
[обратные-октеты].in-addr.arpaДля IPv6:
[обратный hex].ip6.arpa
Нажмите кнопку ОК.
Пример создания обратной зоны для сети 192.168.10.0/24
Определите обратный порядок октетов: 10.168.192
Добавьте суффикс:
.in-addr.arpaПолное имя зоны:
10.168.192.in-addr.arpaСоздайте первичную зону с этим именем.
Интеграция Neutron с DNSaaS
Виртуальные сети Neutron могут быть интегрированы с DNSaaS для автоматического управления DNS-записями (при использовании SDN Amano), аналогично стандартному расширению DNS в OpenStack. Вместо использования Designate, интеграция выполняется с серверами DNSaaS, доступными в проекте.
Привязка домена к сети
Для привязки домена к сети необходимо:
В настройках сети (Neutron) указать DNS-домен в поле
dns_domain.Система автоматически найдет среди доступных DNS-серверов в проекте зону с соответствующим именем.
Если зона найдена, она будет привязана к сети.
Пример команды через CLI:
openstack network set <network_id> --dns-domain example.com.
Важно
После привязки домена к существующей сети все порты (виртуальные интерфейсы) в этой сети получат автоматически сгенерированные DNS-имена.
Привязка имени к порту
Для явного задания DNS-имени для порта необходимо:
Указать поле
dns_nameпри создании или обновлении порта.Система автоматически создаст или обновит соответствующую A или AAAA запись в привязанной зоне.
Кроме того, автоматически будет создана обратная зона для подсети, которой принадлежит порт и PTR-запись в ней, соответствующая адресам данного порта.
Пример команды через CLI:
openstack port set <port_id> --dns-name vm1
Если явное имя не задано в dns_name, система назначает имя автоматически по следующему приоритету:
Указанное имя в свойствах порта (
dns_name), если задано.Имя порта (
name), если задано.Имя ВМ, к которой принадлежит порт, если ВМ существует.
Шаблонное имя на основе IP-адреса:
host-<ip_address>, если возможно.Шаблонное имя на основе 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.
Отвязка и изменение привязки зоны
При изменении DNS-домена сети система автоматически ищет зону с новым именем среди доступных серверов DNSaaS.
Если зона найдена, происходит перепривязка.
Старые записи, связанные с предыдущим доменом, удаляются из старой зоны и создаются в новой.
При отвязке домена (установке
dns_domainв пустое значение) все связанные DNS-записи удаляются.
Пример отвязки:
openstack network set <network_id> --dns-domain ""
Особенности работы с несколькими DNS-серверами
При создании или поиске зоны система проверяет все DNS-серверы DNSaaS в проекте.
Если зона с нужным именем существует на нескольких серверах, запись будет создана в каждой Primary зоне с таким именем.
Для обеспечения отказоустойчивости записи могут реплицироваться между серверами DNSaaS в рамках проекта.
Пример рабочего процесса
Создана сеть
private-netс доменомinternal.example.com.Система находит зону
internal.example.comна одном из DNS-серверов.В сеть добавлена ВМ
webс портом, имеющим IP10.0.0.5.Порт получает имя
web.internal.example.com(на основе имени ВМ).Пользователь явно задает для порта имя
app.internal.example.com.Система обновляет запись в зоне.
При отвязке домена все записи удаляются.