Назад | Перейти на главную страницу

Как делегировать DNS для поддомена в домен с отдельными размещенными зонами

TL; DR: Когда первичная размещенная зона содержит две записи NS, содержащие серверы имен для первичной размещенной зоны (example.com) и размещенной зоны поддомена (sub.example.com), этого будет достаточно для разрешения sub.domain.com. через сервер имен example.com?


В настоящее время доменами управляет name.com, но DNS должен управляться AWS Route 53, чтобы автоматизировать создание новых поддоменов и динамически настраивать записи.

Владельцем домена должно оставаться name.com, что означает, что для домена необходимо настроить собственный сервер имен. example.com

Поддомены вроде sub.example.com должен быть разрешен через сервер имен example.com кроме того, в противном случае для добавления нового поддомена потребуется настроить собственный сервер имен на name.com.

В текущей настройке каждый домен и субдомен находятся в своей собственной зоне хостинга. example.com имеет запись NS и sub.example.com тоже есть. Теперь, чтобы делегировать, я добавил еще NS запись в example.com для sub.example.com содержащие серверы имен sub.example.com

Итак, две записи NS в зоне хостинга example.com. Но когда я бегу

dig @ns-of-example.com sub.example.com

Я не получаю раздела ответов, хотя авторитетный раздел, содержащий нужные серверы имен. Я бы предположил, что dig выполняет рекурсию, а затем запрашивает авторитетные серверы имен, перечисленные там.

Но я предполагаю, что у меня есть изъян в моей логике того, как здесь работает протокол DNS.

Я не получаю раздела ответов, хотя авторитетный раздел, содержащий нужные серверы имен.

Тогда тебе должно быть хорошо. По умолчанию, dig запрашивает только сервер, который вы ему сказали, и показывает ответ от этого сервера.

Я бы предположил, что dig выполняет рекурсию, а затем запрашивает авторитетные серверы имен, перечисленные там.

Это неверное предположение. Если вам нужен рекурсивный поиск, который является полностью достоверным тестом поведения домена в Интернете, вам нужно попросить общедоступный рекурсивный преобразователь сделать это за вас, например dig @8.8.8.8 my-sub.example.com.

В противном случае вы можете получить желаемое поведение. dig ... +trace но имейте в виду, что есть обстоятельства, при которых это может дать вам ложное ощущение успеха, потому что поиск не выполняется с помощью рекурсивного преобразователя - именно так обычные машины будут выполнять поиск.