LINUX.ORG.RU
ФорумAdmin

Запутался в DNS


0

0

Пусть мы резолвим somedomain.tld

И у нас есть такие записи (упрощенно, без двойных ns-ов):

  • Root server: NS .tld -> ns0.nic.tld
  • ns0.nic.tld: NS somedomain.tld -> ns1.someserver.tld
  • ns1.someserver.tld: NS somedomain.tld -> ns2.onemorebind.tld; A somedomain.tld -> 94.11.11.11
  • ns2.onemorebind.tld: A somedomain.tld -> 95.22.22.22

То есть мы поговорили с рут-сервером, он нас направил на сервер, ответственный за .tld. Тот имеет соответствующую NS-запись о зоне somedomain.tld и отправляет нас на третий сервер. Третий сервер, в свою очередь, имеет NS запись о том, что авторитетным сервером для somedomain.tld является ns1.someserver.tld. Что будет, если на ns1.someserver.tld прописана ещё одна NS-запись для somedomain.tld (допустим, ns2.onemorebind.tld) и A-запись для него же? Воспримется ли эта A-запись, или же запрос передастся ns2.onemorebind.tld?

В общем, какой айпишник нам в итоге вернут и почему?

★★★★★

Имхо варианта два: либо 94.11.11.11, либо обматерит и скажет 2(SERVFAIL). Потому что ситуация заведомо некорректная. Емнип список NS-серверов в зоне должен совпадать со списком NS-серверов, на которые она делегирована. И на всех этих серверах зона должна быть одной версии и с одинаковыми записями.

nnz ★★★★
()
Ответ на: комментарий от nnz

Т.е. корректно только так:

  • Root server: NS .tld -> ns0.nic.tld
  • ns0.nic.tld: NS somedomain.tld -> ns1.someserver.tld
  • ns1.someserver.tld: A somedomain.tld -> 94.11.11.11

Только что посмотрел поведение панели управления неймсервером одного хостера. Они дают 2 ns, соответственно я у регистратора их прописываю.

Но при создании зоны в этой панели оно по дефолту делает 2 ns-записи — те же 2 ns, на которых собственно находятся записи. Т.е. схема выходит такая.

  • Root server: NS .tld -> ns0.nic.tld
  • ns0.nic.tld: NS somedomain.tld -> ns1.someserver.tld, NS somedomain.tld -> ns2.someserver.tld
  • ns1.someserver.tld:

    NS somedomain.tld -> ns1.someserver.tld,

    NS somedomain.tld -> ns2.someserver.tld,

    A somedomain.tld -> 94.11.11.11,

    ...

Зачем оно так? Эти NS-записи надо удалять?

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

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

nnz ★★★★
()
Ответ на: комментарий от Obey-Kun

Почему? Это старая добрая традиция, и она имеет определенное логическое обоснование. Но сейчас я слишком устал и хочу спать... сорри.

nnz ★★★★
()
Ответ на: комментарий от nnz

ну только завтра объясни, пожалуйста, а то я в конец запутался

на старом неймсервере никаких NS-записей не было...

Obey-Kun ★★★★★
() автор топика

авторитетным сервером для somedomain.tld является ns1.someserver.tld

в таком случае нужно создать Glue Record. дальше в гугль.

Komintern ★★★★★
()
Ответ на: комментарий от Obey-Kun

>ну только завтра объясни, пожалуйста, а то я в конец запутался

Идея предельно проста: если запрос, следуя по цепоче рекуррентных резольверов (это типа прокси для DNS), ВНЕЗАПНО натыкается на авторитетного ответчика (т.е. один из резольверов в цепочке оказался сервером, который держит запрашиваемую зону), то клиент может получить всю необходимую информацию, не обращаясь дальше (к корневым серверам и авторитетам TLD).

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

>на старом неймсервере никаких NS-записей не было...


Это неправильно.

Вообще имхо неплохую школу доменного мастерства дает регистрация бесплатных доменов третьего уровня в релкоме и рипне
http://www.ripn.net:8082/nic/dns/3d_level/dom_t_3.html#nserver:
http://www.ripn.net:8082/nic/dns/test_st.html
http://www.relcom.ru/Services/Domain/Geographical/Rules/

Проверки для доменов второго уровня обычно не такие жесткие. Оно и понятно — клиент деньги плотит, зачем ему портить жизнь какими-то спецификациями :)

nnz ★★★★
()
Ответ на: комментарий от Komintern

>> авторитетным сервером для somedomain.tld является ns1.someserver.tld

>в таком случае нужно создать Glue Record. дальше в гугль.


Ну, someserver и somedomain — какбэ разные слова. Так что glue RR тут ни при чем (во всяком случае я так понял этот топик).

nnz ★★★★
()
Ответ на: комментарий от nnz

эм. ну тогда я тоже запутался и таки провтыкал )))

Komintern ★★★★★
()
Ответ на: комментарий от nnz

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

делал так что регистратор перенаправлял на два НСа, которые редиректили еще дальше (каждый на еще пару разных), на которых были разные А-записи.

Вообще имхо неплохую школу доменного мастерства дает регистрация бесплатных доменов третьего уровня в релкоме и рипне

ох как меня достал этот рипн...!!! ведь он не позволяет делегировать зону дальше, что очень нужно. ну типа того:

root: .com IN NS ns1.nic.com
ns1.nic.com: mydomain.com IN NS ns1.mydomain.com
             mydomain.com IN NS ns2.mydomain.com

ns1.mydomain.com: mydomain.com IN NS ns7.mydomain.com
ns2.mydomain.com: mydomain.com IN NS ns8.mydomain.com

ns7.mydomain.com: mydomain.com IN A 1.2.3.4
ns8.mydomain.com: mydomain.com IN A 9.8.7.6

drull ★☆☆☆
()
Ответ на: комментарий от drull

>делал так что регистратор перенаправлял на два НСа, которые редиректили еще дальше (каждый на еще пару разных), на которых были разные А-записи.

Ошшень сомневаюсь, что такой расклад является корректным с точки зрения спецификаций DNS. Но искать соответствующие RFC сейчас банально лень :)

>ох как меня достал этот рипн...!!!


Ничего ты не понимаешь! Рипн — это СПАРТААА!!! ;) В смысле, своими жесткими правилами прививает навыки корректной работы с днс.

nnz ★★★★
()
Ответ на: комментарий от nnz

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

drull ★☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.