• Страница 1 из 1
  • 1
Модератор форума: $Vladimir$  
Сообщество uCoz » Мастерская uCoz » Домен для сайта » Что такое "система DNS" и с чем ее едят (Или как проверить, правильно ли прописан домен и где)
Что такое "система DNS" и с чем ее едят
Admin
Разработчик
Сообщений: 194
Репутация: 174

Сообщение # 1 | 13:15:14
Каждый компьютер, включенный в интернет и обслуживающий запросы пользователей(например, компьтер содержащий сайт - веб-сервер или принимающий почту - почтовый сервер) имеет уникальный IP-адрес (айпи-адрес). Такие компьютеры (имеющие уникальный айпи) называются хостами. IP-адрес - это набор чисел вида 101.120.156.204, с помощью которого компьютер пользователя находит путь к заданному хосту сквозь очень обширную и ветвистую сеть Интернет. Можно на любой хост зайти, зная только его айпи, проблема в том, что эти адреса неудобно запоминать.

Система DNS (Domain Name System - доменная система имен) служит для преобразования имен хостов (удобных для запоминания) в айпи-адреса, понятные собственно самим компьютерам.

Эта система имеют иерархичную структуру, при чем как в именах, так и в физической организации, каждый уровень иерархии называется уровнем домена (или поддоменом). На самом высоком, первом, уровне имен доменов находятся все региональные и специальные домены, набор которых жестко регламентирован международными организациями. Например: com net org ru ua us lv eu info и т.д. В любом домене первого уровня можно создать домен второго уровня, приписав его название слева через точку:
my.com ucoz.ru mysite.ua и т.п. Точно так же можно записать домены третьего уровня:
alex.my.com super.mysite.ua www.ucoz.ru и т.п. Чтобы понять, кто имеет право создавать домены второго и более высоких уровней, нужно обратиться к физической организации.

Физически, как сказано выше, система DNS также является иерархичной. Преобразованием доменных имен в айпи-адреса занимаются специальные DNS-сервера и это преобразование выполняется за несколько этапов, путем опроса цепочки таких серверов. Причина проста: один или даже несколько серверов не способны содержать в себе все созданные доменные имена. На самом верху стоят так называемые "коренные DNS-сервера" (root servers). Их несколько, но исключительно для распределения нагрузки и отказоустойчивости всей системы. Их айпи-адреса жестко прописаны на всех других DNS-серверах. В частности, у любого пользователя Интернет в компьютере прописан один или несколько адресов DNS-серверов, чаще всего взятых от провайдера, а уже на них прописаны адреса коренных DNS-серверов. Коренные сервера "пропускают" через себя все запросы на преобразование имен. Их задача - посмотреть на домен первого уровня в указанном имени и сообщить, какому DNS-серверу отправить запрос дальше, чтобы найти окончательный ответ (а именно айпи-адрес). Это называется "делегированием полномочий". Т.е., например, весь домен ru обслуживается российскими DNS-серверами, им было делегировано право на этот домен, даны полномочия создавать в этом домене поддомены второго уровня. И так по цепочке дальше. Любой домен второго уровня может быть делегирован произвольному DNS-серверу (их обычно несколько, для надежности, функции дублируются). В любом домене второго уровня можно выделить домен третьего уровня и делегировать его кому-то еще. Но обычно, все-таки, конечные пользователи (физ. и юр. лица) регистрируют себе домены второго уровня, реже третьего (вроде site.net.ru). Регистрация чаще всего платная, т.к. и коренные сервера и сервера, обслужвающие региональные домены требуют ухода.

Владение доменом подразумевает, что владелец имеет право ПОЛНОСТЬЮ распоряжаться тем, какие сервера будут обрабатывать конечные запросы в этом домене, какие имена содержатся в его домене и, возможно, какие домены более высокого уровня и кому делегируются. Отсюда нужно вынести вывод: домен должен обрабатываться какими-то серверами, или, другими словами, он должен где-то "хоститься" или быть "припаркованным". Главные DNS-сервера того же домена ru могут только сообщить пользователю, к какому серверу послать запрос дальше, где искать окончательный ответ.
Большинство регистраторов (организаций, которые продают домены) предоставляют бесплатную услугу парковки домена на своих серверах и дают интерфейс для внесения указанных выше модификаций в параметры домена (т.е. для выполнения всех действий, на которые вы как владелец домена имеете право - как минимум изменять адреса ответственных DNS серверов). В случае, если домен остается припаркованным на серверах регистратора, интерфейс должен позволять также добавить в домен любые имена. Конечное задание соответствия конкретного имени в вашем домене айпи-адресу делается просто, нужно указать имя и айпи-адрес. В интерефейсах для продвинутых это может называться "созданием A-записей" (A - address). Имя может быть пустым, если задается адрес для базового имени (без поддомена). Если не пользоваться серверами регистратора, то интерфейс должен позволять указать адреса ваших DNS-серверов, т.е. серверов, где домен рально припаркован, и которые готовы обслуживать по нему запросы. Это может называться "указанием NS-записей" (NS - Name Server).
Для практической иллюстрации и проверок будем пользоваться программой nslookup, которая имеется в Windows XP (и, наверно, в 2000) и в любой юникс-системе. Чтобы запустить программу под Windows, в меню "Пуск" найдите "Выполнить.." (или нажмите клавиши Win-R), наберите в поле "cmd", нажмите Enter, в появившемся окне наберите nslookup, нажмите Enter.
Теперь нужно набрать:
Code
set q=ns
. (точка)

и появится нечто вроде
Code
Server: *********
Address: *********

Non-authoritative answer:
(root) nameserver = b.root-servers.net
(root) nameserver = c.root-servers.net
(root) nameserver = d.root-servers.net
(root) nameserver = e.root-servers.net
(root) nameserver = f.root-servers.net
(root) nameserver = g.root-servers.net
(root) nameserver = h.root-servers.net
(root) nameserver = i.root-servers.net
(root) nameserver = j.root-servers.net
(root) nameserver = k.root-servers.net
(root) nameserver = l.root-servers.net
(root) nameserver = m.root-servers.net
(root) nameserver = a.root-servers.net

a.root-servers.net internet address = 198.41.0.4
b.root-servers.net internet address = 192.228.79.201
c.root-servers.net internet address = 192.33.4.12
d.root-servers.net internet address = 128.8.10.90
e.root-servers.net internet address = 192.203.230.10
f.root-servers.net internet address = 192.5.5.241
g.root-servers.net internet address = 192.112.36.4
h.root-servers.net internet address = 128.63.2.53
i.root-servers.net internet address = 192.36.148.17
j.root-servers.net internet address = 192.58.128.30
k.root-servers.net internet address = 193.0.14.129
l.root-servers.net internet address = 198.32.64.12
m.root-servers.net internet address = 202.12.27.33

сервера с адресами вида j.gtld-servers.net - не что иное, как коренные. Все запросы системы DNS проходят через них. Давайте и мы ими воспользуемся. Выбираем айпи-адрес любого сервера, например 198.41.0.4, и выполняем команду:
Code
server 198.41.0.4

Получаем:
Code
Default Server: a.root-servers.net
Address: 198.41.0.4

А теперь узнаем, на каких серверах содержится информация о доменах .ru:
Code
ru.

получаем:
Code
Server: a.root-servers.net
Address: 198.41.0.4

Non-authoritative answer:
ru nameserver = AUTH60.NS.UU.NET
ru nameserver = NS2.NIC.FR
ru nameserver = NS.RIPN.NET
ru nameserver = NS2.RIPN.NET
ru nameserver = SUNIC.SUNET.SE
ru nameserver = NS1.RELCOM.ru
ru nameserver = NS5.MSK-IX.NET
ru nameserver = NS9.RIPN.NET

AUTH60.NS.UU.NET internet address = 198.6.1.181
NS2.NIC.FR internet address = 192.93.0.4
NS.RIPN.NET internet address = 194.85.119.1
NS2.RIPN.NET internet address = 194.226.96.30
SUNIC.SUNET.SE internet address = 192.36.125.2
NS1.RELCOM.ru internet address = 193.125.152.3
NS5.MSK-IX.NET internet address = 193.232.128.6
NS9.RIPN.NET internet address = 194.85.252.62

К любому из этих серверов можно сделать запрос на любой поддомен в домене ru:
server 192.36.125.2
тут может вывестить список ненужных нам адресов...
Code
> Default Server: [192.36.125.2]
Address: 192.36.125.2

собственно запрос:
Code
> ucoz.ru.
Server: [192.36.125.2]
Address: 192.36.125.2

ucoz.ru nameserver = ns2.ucoz.ru
ucoz.ru nameserver = ns1.ucoz.ru
ucoz.ru nameserver = ns3.ucoz.ru
ns1.ucoz.ru internet address = 217.16.29.178
ns2.ucoz.ru internet address = 212.176.124.197
ns3.ucoz.ru internet address = 83.222.11.33

и что мы видим? Домен ucoz.ru обслуживается серверами ns1.ucoz.ru, ns2.ucoz.ru и ns3.ucoz.ru.
Посылаем запрос к любому из них, чтобы узнать айпи-адрес для имени www.ucoz.ru:
Code
> server 217.16.29.178
....ерунда всякая....
Default Server: [217.16.29.178]
Address: 217.16.29.178

> set q=a
> www.ucoz.ru.
Server: [217.16.29.178]
Address: 217.16.29.178

Name: www.ucoz.ru
Address: 217.73.201.52

Обратите внимание на команду "set q=a", она необходима, чтобы сказать программе nslookup получать именно "А-записи", в которых указывается конечное соответствие имен айпи-адресам. До этого мы использовали "set q=ns" для получения NS-записей.
Ответ сервера "Address: 217.73.201.52" и является тем, что мы искали, адресом для имени www.ucoz.ru.
Admin
Разработчик
Сообщений: 194
Репутация: 174

Сообщение # 2 | 13:28:33
Повторим то же для другого домена, прикрепленного к сайту на uCoz методом 1 (путем указания наших DNS-серверов в настройке домена) - домен puzan.ru. Как это должно быть. Перезапускаем nslookup (для выхода нужно выполнить "exit"). Помним один из серверов для доменов ru, я лично запомнил ns2.ripn.net. Если не помните, не знаете, то смотрите процедуру выше.
Code
C:\Documents and Settings\>nslookup
Default Server: ********
Address: *********

> server ns2.ripn.net
Default Server: ns2.ripn.net
Address: 194.226.96.30

> set q=ns
> puzan.ru.
Server: ns2.ripn.net
Address: 194.226.96.30

puzan.ru nameserver = ns3.ucoz.ru
puzan.ru nameserver = ns1.ucoz.ru
puzan.ru nameserver = ns2.ucoz.ru
ns1.ucoz.ru internet address = 217.16.29.178
ns2.ucoz.ru internet address = 212.176.124.197
ns3.ucoz.ru internet address = 83.222.11.33

Здесь все правильно, для домена установлены наши DNS, на которых для имен puzan.ru и www.puzan.ru уже прописаны нужные айпи-адреса:
Code
> server 217.16.29.178
......возможна всякая ерунда тут........
Default Server: [217.16.29.178]
Address: 217.16.29.178

> set q=a
> www.puzan.ru.
Server: [217.16.29.178]
Address: 217.16.29.178

Name: puzan.ru
Address: 217.73.201.55
Aliases: www.puzan.ru

217.73.201.55 - адрес нашего второго сервера.
Admin
Разработчик
Сообщений: 194
Репутация: 174

Сообщение # 3 | 13:37:51
Посмотрим, что будет в случае несуществующего домена или домена, для которого не были указаны никакие DNS-сервера:
Code
C:\Documents and Settings\>nslookup
Default Server: *********
Address: **********

> server ns2.ripn.net
Default Server: ns2.ripn.net
Address: 194.226.96.30

> set q=ns
> paravozik.ru.
Server: ns2.ripn.net
Address: 194.226.96.30

*** ns2.ripn.net can't find paravozik.ru: Non-existent domain

Как здесь видно, на одном из главных серверов домена ru нету информации о поддомене paravozik. Это проблема исключительно настройки домена его владельцем. В данном случае этот домен уже прописан на наших серверах по просьбе пользователя, но т.к. на главном сервере российской зоны информации нет, работать он не будет все равно:
Code
C:\Documents and Settings\>nslookup
Default Server: ********
Address: *********

> server ns1.ucoz.ru
Default Server: ns1.ucoz.ru
Address: 217.16.29.178

> set q=ns
> paravozik.ru.
Server: ns1.ucoz.ru
Address: 217.16.29.178

paravozik.ru nameserver = ns3.ucoz.ru
paravozik.ru nameserver = ns1.ucoz.ru
paravozik.ru nameserver = ns2.ucoz.ru
ns1.ucoz.ru internet address = 217.16.29.178
ns2.ucoz.ru internet address = 212.176.124.197
ns3.ucoz.ru internet address = 83.222.11.33
Admin
Разработчик
Сообщений: 194
Репутация: 174

Сообщение # 4 | 13:48:37
И рассмотрим случай корректного прикрепления домена вторым способом, по айпи, без участия наших адресов:
Code
C:\Documents and Settings\>nslookup  
Default Server: ********  
Address: *********  
> server ns2.ripn.net  
Default Server: ns2.ripn.net  
Address: 194.226.96.30  

> set q=ns  
> safonovo.ru.
Server: ns2.ripn.net
Address: 194.226.96.30

safonovo.ru   nameserver = ns2.i-node.ru
safonovo.ru   nameserver = ns1.i-node.ru
ns1.i-node.ru  internet address = 72.232.197.82
ns2.i-node.ru  internet address = 72.232.209.16
> server 72.232.197.82
....................
Default Server: [72.232.197.82]
Address: 72.232.197.82

> set q=a
> www.safonovo.ru.
Server: [72.232.197.82]
Address: 72.232.197.82

Name:  www.safonovo.ru
Address: 217.73.201.55
> safonovo.ru.
Server: [72.232.197.82]
Address: 72.232.197.82

Name:  safonovo.ru
Address: 217.73.201.55

Здесь домен припаркован на серверах ns1.i-node.ru и ns2.i-node.ru, а в настройках домена явно прописан айпи-адрес правильного сервера uCoz (того, где физически находится сайт)
Admin
Разработчик
Сообщений: 194
Репутация: 174

Сообщение # 5 | 16:51:07
В качестве регистратора можем предложить вам воспользоваться нашим сервисом https://domain.ucoz.com/
тема обсуждения
FAQ (ЧАВО)
Сообщество uCoz » Мастерская uCoz » Домен для сайта » Что такое "система DNS" и с чем ее едят (Или как проверить, правильно ли прописан домен и где)
  • Страница 1 из 1
  • 1
Поиск: