|
||||||
![]() |
|
|||
![]() |
| |||
![]() |
Некоторые технические полезности для менеджера интернет-проектов.Алиев Р.В.Домены и доменная ситема именТут я хочу прояснить отдельные моменты по доменам, DNSи всему, с чем приходится связываться при разработке Интернет-проектов, точнее по их завершении - когда дело доходит до размещения уже созданного сайта в Интернет. Сначала я опишу некоторые общие сведения о DNS и доменной системе – опуская те моменты, которые и так всем известны и те моменты, которые в практической работе менеджеру не понадобятся. После приведу несколько примеров и описания работы некоторых утилит. Начнем с доменных имен. Доменное имя – это своеобразные «слова», разделенные знаком «точка». Это ясно уже каждому школьнику. Большинство доменных имен в Интернете – доменные имена второго уровня – это как раз разнообразные что-то-там-точка-ру. Доменное имя третьего уровня – это дополнительное словечко впереди – например, тот же cooler.irk.ru. Вообще говоря, доменные имена, начинающиеся с www – это уже третий уровень, ничем принципиально не отличающиеся от любых других. А то, что что-то-там-точка-ру и ввв-что-то-там-точка-ру - это одно и то же, просто принятая условность, о которой нужно специально заботиться, когда вы открываете сервер в Интернете. Изначально доменные имена третьего, четвертого и последующих уровней задумывались как отражение какой-то логической структуры организации. Во многих крупных образовательных учреждениях это правило выдерживается. Например, полное доменное имя кафедры при институте складывается из доменного имени института и ее краткой аббревиатуры. Сейчас в Интернете доменные имена третьего и последующих уровней рождаются по двум причинам: или это подпроект основного сайта (как, например, разнообразные подпрооекты yandexи google), или хозяин основного домена раздает домены третьего уровня за что-то не совсем имеющим к нему отношение людям или группам (например, домены на narod.ru – за рекламу). Еще один важный момент: если домены второго уровня (что-то-там-точка-ру) практически всегда что-то стоят, то доменные имена третьего и последующих уровней по сути бесплатны. Их можно создавать силами владельца домена великое множество и никаких денег, никакой специальной регистрации для них не нужно. Мало того, в DNSможно прописать один IPна все поддомены, а выдачей разных сайтов в ответ на разные домены занимается веб-сервер. Далее – несколько слов о DNS. Это сокращение от «Доменная система имен», представляет собой распределенную по Интернету базу данных по доменам, хранящую, в основном, информацию о соответствии доменного имени IP-адресу. По сути, это такие таблицы, в которых указывается, как минимум, доменное имя и связанный с ним IP-адрес. IP-адрес – это уникальный идентификатор компьютера в сети. Это очень упрощенно – в действительности, на одном сервере может быть несколько IP-адресов, а некоторые IP-адреса не имеют отношения к позиционированию сервера в глобальной сети. Например, два диапазона IP-адресов выделены под использование в локальных сетях – т.е. не предназначаются для глобальной идентификации, а только для локальной – в рамках локальной сети. IP-адрес записывается в виде четырех чисел, разделенных точкой. 76.116.200.10. В IP-сетях есть определенная иерархия – организации выдается связный диапазон номеров, которые она использует для своих целей – например, выдает свои подмножества своим дочерним компаниям. Теперь посмотрим, как это все работает. В вашей организации или у провайдера вашего интернет, наверняка, есть свой DNS-сервер. Адрес этого сервера (или серверов) вписывается в настройки сети на каждом из компьютеров сети. DNS-сервер выполняет т.н. резолвинг адресов (как иначе перевести resolvingна русский на ум не приходит): как минимум, переводит доменные имена в IP-адреса. То есть, когда вы набираете в браузере www.ru , первый запрос делается к DNS-серверу для получения IP-адреса сервера www.ru . Если эта операция не удалась, значит, сервер с этого компьютера не доступен. Откуда ваш DNS-сервер знает для каждого домена в сети свой IP-адрес? Доменов же великое множество? Разумеется, он делает обращение к вышестоящему DNS-серверу, который, при необходимости, делает еще один запрос и так по цепочке. Так работают рекурсивные сервера, нерекурсивные отдают адрес вышестоящего сервера обратно запрашивающему, чтобы тот сам обращался к нему. Так или иначе, ваш DNS-сервер в конце концов тем или иным способом получает ответ и отдает его вашему браузеру. Следующий запрос пройдет быстрее, т.к. эта информация вашим DNS-сервером закэшируется и браузер получит ответ моментально. Этот момент важен – к нему я обращусь позже. Эта цепочка показывает, что где-то «наверху» есть сервер, на котором хранится самая актуальная информация о том, к какому IP-адресу привязан тот или иной домен. Этот сервер содержит первичную информацию о том, к какому IP-адресу привязан домен. Он так и называется - PrimaryDNS. Именно его адрес прописывается в параметрах домена при регистрации. Также там где-то «наверху» есть DNS-сервера, на которые замыкаются все запросы к доменам из зоны “.ru” или “.com”. Информация в конце концов всеми другими DNSполучается именно отсюда. Но поскольку эти сервера не являются первичными для всех доменов, они обновляют информацию с первичных DNSкаждого из доменов с некоторой периодичностью. И вот тут мы дошли до самого интересного. Что будет, если в первичном DNS информация о домене изменится? Например, изменится IP-адрес, с которым связан домен? Каким-то образом же должны узнать об этом изменении все остальные DNS-сервера, ранее уже обращающиеся к этому серверу и уже закэшировавшие эту информацию у себя? Для этого в PrimaryDNSу домена указывается время обновления. С этой периодичностью все DNS-сервера делают повторные запросы на обновление информации о домене. А поскольку все DNS-сервера увязаны в иерархию, обновление ведется как минимум в два шага – сначала DNSпровайдера обновляет инфорацию о домене у вышестоящего (например, у DNSдоменной зоны .ru– где хранится вся информация о всех доменах .ru), а потом этот вышестоящий обновляет информацию о домене от первичного DNS для этого домена. Именно поэтому изменить «срочно» информацию по домену нельзя – просто нет механизмов заставить все сервера обновить информацию по домену. Еще есть SecondaryDNS – это «запасной сервер», используемый в случае, если первичный не отвечает. Это дублирование повышает надежность всей системы. Когда вы регистрируете домен, например, в зоне .ru, регистратор прописывает его в своей базе, в базе whois, в DNSзоны “.ru”. В числе параметров домена требуется указать PrimaryDNSи SecondaryDNS. Это сервера, на которых этот домен будет связан с каким-нибудь IP и с которыми остальные будут синхронизироваться прямо или опосредованно. Часто эти DNSпринадлежат провайдеру Интернет-услуг, который помогал с процессом регистрации. В самой DNSхранится информация о соответствии IP-адреса в сети и доменного имени. Я не буду вдаваться в подробности – там все очень непросто для доступного изложения и формат данной статьи не позволяет углубиться в такие детали. Думаю, интересующиеся без труда найдут в Интернете эту информацию. Упрощенно говоря, в DNSдля каждой зоны записи, соответствующие поддоменам этой зоны. Есть т.н. А-записи, описывающие, по какому IP-адресу расположен этот поддомен и есть т.н. MX-записи, описывающие, какой сервер отвечает за маршутизацию почты для данного домена. То есть для любого домена сервер, обрабатывающий входящую почту может быть на ином IP-адресе, чем, скажем, веб-сервер. Итак, резюмируем: - сменить PrimaryDNS и SecondaryDNSможет только владелец домена. Как правило, через веб-интерфейс, пароли выдаются регистратором. - сменить IP-адрес, связанный с доменом может администратор, имеющий право модифицировать информацию в DNS, прописанном в параметрах домена как PrimaryDNS. Часто для этого предоставляются веб-интерфейсы, позволяющие выполнять эти операции силами владельца домена. В Windowsи Unix-системах для исследования DNSесть специальные команды. Приведу примеры с комментариями: В Unix: #whois domain.ru Выдает информацию по домену. Для этого делает запрос в базу whois. Утилитка сама определяет, к кому серверу обращаться, но для уверенности для доменов в зоне «.ru» лучше явно указывать сервер: whois –hwhois.ripn.netdomain.ru Через веб-интерфейс: http://ripn.net:8080/nic/whois/index.html В Windowsстандартной утилитки для этого нет – пользуйтесь веб-интерфейсом (выше). В ответ выдеается следующая информация: domain: <имя домена> type: <на юр. лицо или на физ. лицо зарегистрирован домен> descr: <описание> nserver: <Primary DNS> nserver: <Secondary DNS> state: <текущий статус домена> person: <Ф.И.О> ….
Результат whoisнам интересен в отношении следующих вопросов: 1) зарегистрирован ли домен вообще? Если в ответ выдается что-то типа «Noentriesfoundfortheselectedsource(s)”, то домен не зарегистрирован. Внимание – распространенная ошибка, когда указывается домен с приставкой www– в этом случае запрос посылается на домен третьего уровня, а как сказано выше, они не регистрируются у регистратора и в базе отсутствуют. 2) на кого зарегистрирован домен и как с ним связаться? Для этого выделены поля person, phone, fax-no, email. 3) какие PrimaryDNS и SecondaryDNSуказаны для домена? Для этого выделены две строчки nserver. Первая – Primary, вторая – Secondary. Обратите внимание, тут никогда не указываются прямые IP-адреса, а только имена серверов, т.к. в случае «переезда» DNSна другой IPменять придется только DNS, а не все домены, в которых были прописаны старые IP-адреса. 4) на какой срок оплачен домен и сколько остается времени для его продления? Для этого есть строчка paid-till.
Итак, получаем информацию по домену iway.ru. На момент написания данной статьи мы видим, что домен зарегистрирован на персону SergeyPlugotarenko, а DNS-серверами для него являются два DNS-сервера Artstylens.artstyle.netи ns2.artstyle.net.
Для того, чтобы проверить, какой IP-адрес связан с доменом, достаточно воспользоваться командой nslookup.
#nslookupiway.ru Server: ns.rbc.ru Address: 80.68.240.10
Non-authoritative answer: Name: iway.ru Address: 195.14.38.103
Строчка «Non-authoritativeanswer» говорит о том, что выдается информация из кэша. Поскольку в примере выше мы уже выяснили, что первичным DNSявляется ns.artstyle.net, то сделаем запрос прямо к нему. Для этого наберем nslookupбез параметров, а в приглашении ввелем server=ns.artstyle.net, а после – домен. В результате получим ответ от DNS ns.artstyle.net.
#nslookup Default Server: ns.rbc.ru Address: 80.68.240.10 > server=ns.artstyle.net Server: ns.artstyle.net Address: 212.118.39.129 > iway.ru Server: ns.artstyle.net Address: 212.118.39.129
Name: iway.ru Address: 195.14.38.103 Программа dig входит в комплект поставки BIND. Ее основное назначение - проверка правильности работы сервера доменных имен. При исполнении программы она сообщает свою версию, которая, как правило, совпадает с версией BIND. # dig iway.ru # dig iway.ru @ns.artstyle.net |
|
|