|
|
Модератор форума: Yuri_G, ilia_halupko |
Сообщество uCoz Мастерская uCoz Домен для сайта Что такое "система DNS" и с чем ее едят (Или как проверить, правильно ли прописан домен и где) |
Что такое "система DNS" и с чем ее едят |
Каждый компьютер, включенный в интернет и обслуживающий запросы пользователей(например, компьтер содержащий сайт - веб-сервер или принимающий почту - почтовый сервер) имеет уникальный 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. |
Повторим то же для другого домена, прикрепленного к сайту на 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 - адрес нашего второго сервера. |
Посмотрим, что будет в случае несуществующего домена или домена, для которого не были указаны никакие 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 |
И рассмотрим случай корректного прикрепления домена вторым способом, по айпи, без участия наших адресов:
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 (того, где физически находится сайт) |
В качестве регистратора можем предложить вам воспользоваться нашим сервисом https://domain.ucoz.com/
тема обсуждения FAQ (ЧАВО) |
| |||
| |||