Управление делегированием DNS-зон

Делегирование — это процесс передачи ответственности за дочернюю зону другому DNS-серверу через NS-запись в родительской зоне. Клиент elles-dns-cli предоставляет команды для создания, изменения, просмотра и удаления делегирований.

Команды для работы с делегированием

Список команд:

  • DelegationCreate — создать новое делегирование;

  • DelegationUpdate — обновить NS-запись делегирования;

  • DelegationList — вывести список всех делегирований в зоне;

  • DelegationDelete — удалить делегирование (NS-запись).

Обязательные параметры для всех команд

Параметр Описание

--parentzone

FQDN родительской зоны (обязательно). Например: example.com

--name

Имя дочерней зоны (обязательно). Например: sub → дочерняя зона sub.example.com

DelegationCreate — создать делегирование

Создает новую дочернюю зону и добавляет в родительскую зону NS-запись, указывающую на авторитативный сервер.

Параметры:

Параметр Описание

--nsserver

FQDN авторитативного DNS-сервера для дочерней зоны (обязательно). Должен быть разрешаемым и доступным

--ttl

TTL в секундах для NS-записи (по умолчанию: 3600)

--partition

Партиция: domain, forest, legacy, custom (по умолчанию: domain)

Примеры использования:

dnscli DelegationCreate --parentzone example.com --name sub --nsserver ns1.sub.example.com
dnscli DelegationCreate --parentzone example.com --name apps --nsserver ns-apps.example.com --ttl 7200

Особенности использования:

  • NS-сервер (--nsserver) должен иметь A/AAAA-запись в DNS;

  • дочерняя зона не создается автоматически — только NS-запись в родительской зоне; создание самой дочерней зоны — отдельная операция.

DelegationUpdate — изменить делегирование

Изменяет NS-запись делегирования: заменяет старый сервер на новый и/или обновляет TTL.

Параметры:

Параметр Описание

--nsserver

Новый FQDN авторитативного DNS-сервера (обязательно)

--oldnsserver

Старый FQDN NS-сервера (обязательно, если в зоне несколько NS-записей с одинаковым именем)

--ttl

Новое значение TTL в секундах (по умолчанию: 3600)

--partition

Партиция: domain, forest, legacy, custom (по умолчанию: domain)

Примеры использования:

dnscli DelegationUpdate --parentzone example.com --name sub --nsserver ns2.sub.example.com
dnscli DelegationUpdate --parentzone example.com --name sub --oldnsserver ns1.sub.example.com --nsserver ns2.sub.example.com --ttl 7200

Особенности использования:

  • если в родительской зоне есть несколько NS-записей с одинаковым именем (например, ns1.sub.example.com и ns1.sub.example.com), необходимо явно указать --oldnsserver для точного совпадения;

  • без --oldnsserver команда обновит первую найденную запись с указанным --name.

DelegationList — получить список делегирований

Выводит все делегирования в указанной родительской зоне. Можно фильтровать по имени дочерней зоны.

Параметры:

Параметр Описание

--name

Имя дочерней зоны для фильтрации (опционально). Если не указано, выводятся все делегирования

--partition

Партиция: domain, forest, legacy, custom (по умолчанию: domain)

Примеры использования:

dnscli DelegationList --parentzone example.com
dnscli DelegationList --parentzone example.com --name sub

Особенности использования:

  • параметр --parentzone обязателен; без него команда завершится ошибкой;

  • вывод содержит: имя дочерней зоны, NS-сервер, TTL, партицию.

DelegationDelete — удалить делегирование

Удаляет NS-запись делегирования из родительской зоны. Не удаляет саму подзону.

Параметры:

Параметр Описание

--nsserver

FQDN NS-сервера, который нужно удалить (обязательно)

--partition

Партиция: domain, forest, legacy, custom (по умолчанию: domain)

Примеры использования:

dnscli DelegationDelete --parentzone example.com --name sub --nsserver ns1.sub.example.com

Особенности использования:

  • удаление требует точного совпадения --nsserver;

  • если NS-запись не найдена, команда завершится ошибкой;

  • для удаления всех NS-записей дочерней зоны выполните команду для каждого сервера отдельно.

Обновлено: