Как именно я должен настроить DNS для делегирования полномочий для поддоменов?


15

У меня есть серверы, размещенные у хостинг-провайдера, и они также размещают записи DNS для моих доменных имен. Теперь я хочу добавить субдомены, которые разрешаются моей собственной службой DNS. Так, например:

  • сервер имен хостинг-провайдера знает IP-адрес econemon.com
  • один из моих серверов знает IP-адрес для ftp.econemon.com

Также,

  • неизвестные или неопределенные субдомены должны быть направлены на тот же IP-адрес, что и родительский домен
  • при сбое моей службы DNS было бы замечательно, если бы все запросы шли на IP-адрес, с которым связан econemon.com, но я не уверен, как это должно работать.

Теперь я прочитал статьи в Википедии о DNS, чтобы стереть свои знания, но часть, которая меня смущает, такова: как клиент узнает, какой сервер запрашивать IP-адрес ftp.econemon.com? Получает ли он эту информацию от хостера? Если да, нужно ли регистрировать поддомен там (и для чего мне тогда понадобится мой сервер имен)?

Ответы:


14

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

Когда рекурсивный DNS-сервер запрашивает адрес ftp.econemon.com, он проходит через несколько шагов. Сначала он попросит один из корневых серверов, который ответит серверами имен для домена .com (этот шаг, вероятно, будет кэширован и будет выполняться нечасто). Затем он запросит серверы .com, и они ответят серверами имен для домена econemon.com. Наконец, он запросит у этих серверов запись адреса для ftp.econemon.com.

Теоретически вы можете просто добавить ftp.econemon.com в качестве записи NS в родительской зоне.

например:

услуги NS ns1.econemon.com.
ns1 A 192.0.2.1

А затем создайте ftp.econemon.com в качестве зоны на вашем сервере имен. Но если вы сделаете это таким образом, вам придется создать новую зону для каждого сервера. Что вы, вероятно, хотите сделать, это попросить вашего провайдера добавить делегированный поддомен.

например:

услуги NS ns1.services.econemon.com.
службы NS ns2.services.econemon.com.
ns1.services A 192.0.2.1
ns2.services A 192.0.2.2

Затем вы можете добавить services.econemon.com в качестве зоны на ваших серверах имен и просто добавлять новые записи по мере необходимости в этой отдельной зоне.

Если вам действительно нужны короткие имена, добавление записей CNAME не должно вызывать особых затруднений, так что ftp.econemon.com имеет каноническое имя ftp.services.econemon.com, что позволяет вам изменять IP-адрес всякий раз, когда Вы хотите, и позволяет пользователям использовать короткое имя.

ftp.econemon.com. CNAME ftp.services.econemon.com.

Итак, верно ли то, что запись "econemon.com. IN NS ns.provider-domain.com." на самом деле означает "для домена econemon.com и всех поддоменов, иди спроси ns.provider-domain.com"? Я думаю, что это то, что я, возможно, неправильно понял в первую очередь.
Ханно Фиц

Это правильно, хотя для поиска в реальном мире подавляющее большинство решений поиска будет приниматься на основе записей в родительской зоне (т.е. в данном случае в зоне .com). Записи NS на верхнем уровне домена на самом деле в значительной степени косметичны и должны поддерживать согласованность (т. Е. Убедиться, что когда ns.provider-domain.com и a.gtld-servers.net запрашиваются записи NS для econemon. ком они оба дают один и тот же ответ)
Рассел Хиллинг

Я немного запутался здесь. Разве это не должно быть ftp NS ns1.econemon.com.в первом примере?
Хольгер Бонке

2

Вам нужно добавить запись NS для ftp.econemon.com, указывающую на ваш собственный DNS-сервер. Когда клиент захочет разрешить что-нибудь .ftp.econemon.com, он запросит у вашего провайдера DNS, что ответит, что это можно разрешить на вашем собственном сервере. пример будет:

ftp.econemon.com. В NS myownns.econemon.com.

myownns.econemon.com. IN YOUR_DNS_SERVER_IP

Чтобы иметь что-нибудь до .econemon.com. для работы вы можете использовать подстановочный знак (*)


1

Но для чего-то вроде ftp.econemon.com вам не нужно ничего делегировать. Нечто подобное ftp.econemon.com обычно является именем хоста, а не поддоменом. Если это так, просто добавьте запись A для него.

ftp.econemon.com. IN A 192.168.1.1

Вы также можете добавить записи A с точками в них, например:

ftp.something.econemon.com. IN A 192.168.1.3

Если DNS привязан, вы можете использовать подстановочные знаки, например:

*.something.econemon.com. IN A 192.168.1.3

Я не уверен, что делегирование действительно полезно, если вы на самом деле не хотите, чтобы какой-то другой человек или организация управляли поддоменом.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.