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

22

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

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

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

Nishan
источник

Ответы:

24

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

С делегированием DNS это очень похоже. Когда у comсерверов имен запрашивается место для определения полномочий зоны 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записи (ИПС) , что эти 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, которые делегируют зону example.comна сервера имен (сотрудники) , чтобы сделать работу по предоставлению базовой информации о зоне ( SOA, NS, A). Вы также можете обслуживать любые дополнительные записи, такие как записи почтового сервера MXили могут быть Aзаписи для вашего www.example.comадреса.

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

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

Драв Слоан
источник
спасибо @Dav Слоан, за объяснение на таком простом языке
Nishan
2
+1. Я бы также добавил, что в последнем случае, когда сервер имен не является частью одного и того же домена, нет необходимости в «склеивающей» записи, просто в простой записи ns в регистраторе / gTLD. Это часто смущает людей.
GnP
+1 на ответ! Клей @GnP необходим только при наличии круговой зависимости. Поскольку, когда сервер имен не является частью одного и того же домена, нет круговой зависимости, и поэтому клей не нужен? Правильно ли сделан этот вывод?
Сумасшедший Психильд
5

Делегирование с точки зрения 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ответы для каждого из серверов имен.

hroptatyr
источник
5

Например, вы можете определять хосты в своем домене так, как вам нравится 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....

user1129682
источник
+1 за окончание "." в FQDN. который ошибочно часто опускается.
Nass