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

Что такое делегирование DNS?

В ответ на мой предыдущий вопрос Я заметил эти строки:

Обычно именно этот последний этап делегирования нарушается при большинстве настроек домашнего пользователя. Они прошли через процесс покупки домена у регистратора / поставщика услуг, но затем не смогли настроить домен, чтобы направить делегирование на свои собственные серверы имен. На самом деле вы должны сообщить регистратору, где находятся ваши серверы имен, прежде чем они смогут разместить склеивающие записи, чтобы ваш шаг делегирования работал.

Что такое делегирование DNS? Как это работает? Полное объяснение гипотетической области abc.com было бы полезно.

С физической точки зрения делегирование очень похоже на то, как менеджер делегирует ответственность за выполнение задач своим сотрудникам. Результаты такие же, однако в процессе участвовало более одного человека. Менеджер получает заявку на работу, передает обязанность другому сотруднику, и либо сотрудник, либо менеджер возвращается с результатами работы. Это все при условии, что работа, которую выполняет сотрудник, на самом деле правильная и именно то, о чем просил первоначальный запросчик (или что запрашивающий действительно запросил что-то, что было правильным с самого начала!).

С делегированием DNS все очень похоже. Когда com DNS-серверы запрашивают место для поиска авторитетных зон example.com, они часто делегировать эта работа выполняется для отдельных серверов имен (фактически в подавляющем большинстве случаев они действительно делегируют ответ другим серверам имен). Когда вы впервые регистрируете домен, скажите наш example.com домен, это часто делается через третью сторону, называемую регистратором. Регистраторы часто используют свои серверы имен для делегирования и обслуживают зону по умолчанию с этих серверов имен. Эта зона по умолчанию включает в себя основные требования для обслуживания этой зоны в Интернете ( SOA, NS и A записи, связанные с этими записями NS).

Очевидно, если вы сами хотите взять под контроль власть домена, вы должны попросить регистратора вместо этого делегировать домен вашему серверу имен. Разные регистраторы по-разному относятся к этому процессу: «изменить серверы имен», «использовать сторонний DNS», «Добавить связующие записи» и так далее. Механизм внизу остался прежним. Обычно вы указываете 2 или более «имен серверов имен» (например, ns0.example.com и ns1.example.com) и IP-адреса, на которых ns0 и ns1 являются. Затем они обрабатывают запрос, и делегирование передается от вашего регистратора указанным вами серверам имен.

С технической точки зрения, именно на этом этапе вы должны убедиться, что ваши серверы имен работают и обслуживают домен. example.com, с минимум из SOA (начало авторитетной записи), 1 или более NS записи и A записи (IP-адреса), из которых разрешаются эти NS-записи:

example.com.   IN SOA ns0.example.com. hostmaster.example.com. ( 10 3600 900 604800 7200 )
           IN NS  ns0.example.com.
           IN NS  ns1.example.com.
ns0        IN A   192.0.2.8
ns1        IN A   192.0.2.44

(Я выбрал несколько произвольных значений для значений SOA, имен для записей NS и IP-адресов, на которые разрешаются эти серверы имен). Все они должны отражать зону, в которой вы работаете.

Эта служба DNS должна быть видна из везде в Интернете и не должны быть защищены брандмауэром (то есть должны быть разрешены UDP-порт 53 и входящий TCP-трафик). Также ваш провайдер услуг не должен блокировать этот порт (который некоторые провайдеры блокируют входящий трафик, направленный на эти порты).

Учитывая мое первоначальное сравнение, com DNS-серверы - это DNS-менеджеры, которые делегируют зону example.com серверам имен (сотрудникам) для выполнения работы по предоставлению основной информации о зоне (SOA, NS, A). Вы также можете обслуживать любые дополнительные записи, такие как записи почтового сервера. MX или может быть A запись для вашего www.example.com адрес.

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

Также стоит отметить, что домен НЕ нужно делегировать серверам имен в том же домене, поэтому ns0.example.net и ns0.example.org оба могут быть допустимыми серверами имен, которые могут иметь example.com делегировал им. При условии, что оба этих сервера имен обслуживают example.com домен.

В вашем домене вы можете определять хосты по своему усмотрению, например mymailserver. Чтобы подключиться к вашему почтовому серверу, мне нужно использовать DNS для определения его IP-адресов, и для этого мне нужно знать, где в дереве имен я должен искать mymailserver.

Звучит сложно, но это именно то, для чего мы используем «полное доменное имя» (FQDN). Если вы определяете хост mymailserver в вашем домене abc.com. у этого хоста есть полное доменное имя mymailserver.abc.com.. С помощью этой информации я могу преобразовать это имя в правильный IP-адрес.

Вам не нужно создавать все хосты формы <hostname>.abc.com., вы также можете ветвиться по своему желанию. Вы можете иметь servers.abc.com. и поместите туда все свои сервера, например mymailserver.servers.abc.com.. Вы можете это сделать, потому что домен abc.com. был делегированный тебе. Это означает, что вы имеете право запрашивать любой домен и доменное имя, заканчивающееся на abc.com.. Поэтому вы можете определять хосты и поддомены веток, сколько вам угодно.

Делегирование означает, что владелец домена передает полный контроль над филиалом кому-то другому. Как и владелец com. делегировал поддомен abc.com. для вас вы можете разветвлять субдомены, например def.abc.com. и делегируй это мне. В моем домене я могу делать / определять все, что хочу / нравится, без необходимости спрашивать, говорить вам или даже com. владельцы о.

Как это работает? Вы просто помещаете в свои записи DNS часть информации, которая гласит: «Для информации, касающейся def.abc.com спросите DNS-сервер hisdnsserver.def.abc.com.". Конечно, чтобы запросить этот сервер, нужно знать IP-адрес hisdnsserver.def.abc.com.. Вот для чего нужны клейкие пластинки. Фактически вы помещаете 2 части информации, одну только что заявленную, а другую - IP-адрес hisdnsserver.def.abc.com.. Таким образом вы зададите кому-нибудь вопрос о def.abc.com. с достаточной информацией, чтобы указать им на авторитетный домен для этого поддомена.

Почему программы спрашивали вас о def.abc.com. в первую очередь? Потому что вы являетесь авторитетом для abc.com. и авторитет для com. предоставил запрашивающей две части информации о yourdnsserver и abc.com. ...

Делегирование с точки зрения DNS означает, что сервер имен в иерархии выше вам ответит каждый запрос в ваш домен с NS ответ.

Так что в случае abc.com вы бы сделали:

$ dig com.
=>
com.        896 IN  SOA a.gtld-servers.net.  ...

Затем запросите этот сервер имен специально для abc.com:

$ dig abc.com @a.gtld-servers.net.
=>
;; AUTHORITY SECTION:
abc.com.    172800  IN  NS  sens01.dig.com.
abc.com.    172800  IN  NS  sens02.dig.com.
abc.com.    172800  IN  NS  orns01.dig.com.
abc.com.    172800  IN  NS  orns02.dig.com.

Связанные записи означают, что помимо имен хостов ваших серверов имен .com орган также знает об их IP-адресах.

Если настроены записи склеивания, приведенный выше запрос будет также дать тебе A/AAAA ответы для каждого из серверов имен.