Написать письмо
 

Ваш е-майл

Ваше имя

Ваше сообщение


 

Если вдруг нашли что-то неверным, отпишите мне, пожалуйста, используя форму вышеили на е-майл r.aliev@gmail.com

Алиев Рауф, РБК

резюме | фото | жж | программы | проекты | новости
iway.ru

Кто хочет — тот ищет способ, кто не хочет — ищет причины...

все для PM | рисунки
полезное

Некоторые технические полезности для менеджера интернет-проектов.

Алиев Р.В.

Домены и доменная ситема имен

Тут я хочу прояснить отдельные моменты по доменам, 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://whois-service.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