DNS сервер

123 просмотра

DNS – распределенная система, позволяющая компьютерам моментально находить серверы по доменным именам. Благодаря существованию системы доменных имен браузер пользователя может узнать IP-адрес нужного сервера уже через несколько миллисекунд после ввода определенного URL-адреса. Сеть DNS распределена по всему миру и обеспечивает высокий уровень надежности и безопасности.

Как работает DNS?

Мы будем рассматривать принцип функционирования системы DNS в контексте работы web-сайтов (хотя спектр её применения гораздо шире). Каждый сайт находится на физическом сервере в дата-центре, месторасположение которого браузеру заранее не известно. В мире существуют тысячи дата-центров и миллионы общедоступных серверов. Чтобы получить возможность обратиться к конкретному серверу, необходимо точно знать его IP-адрес. Система DNS позволяет браузерам моментально преобразовывать адреса страниц в IP серверов, на которых они находятся.

При переходе на определенный сайт пользователь вводит его URL в адресной строке (либо кликает по ссылке, которая автоматически переносится в адресную строку). Для пользователя процесс перехода выглядит прозрачным и моментальным, но в действительности браузер осуществляет серию действий:

  1. Сначала отправляется запрос на DNS-сервер, IP-адрес которого вручную прописан в настройках сети локального компьютера или получен от DHCP-сервера.
  2. Сервер преобразовывает строковый URL в IP-адрес и возвращает его браузеру. Этот IP кешируется на локальном компьютере, чтобы избежать повторных запросов в дальнейшем.
  3. Браузер обращается к целевому серверу, на котором расположен сайт, и получает запрошенную страницу.

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

Как настроить DNS для своего сайта?

В мире существуют тысячи DNS-серверов, и каждый интернет-провайдер рекомендует пользователям собственные серверы. Чтобы эти серверы узнали IP-адрес вашего сайта, необходимо выполнить два условия:

  1. Внести соответствующую информацию на NS-серверы.
  2. Указать адреса NS-серверов в служебной информации домена.

Обратите внимание, что если вы зарегистрировали домен у одного провайдера, а хостинг или VPS арендуете у другого, процесс настройки несколько усложняется. Указывать адреса NS-серверов необходимо в панели управления доменом на сайте регистратора, а редактировать NS-записи – на сайте хостинг-провайдера. Учитывайте, что при переезде на другой хостинг вам придется актуализировать обе настройки. Убедившись, что настройки внесены правильно, необходимо дождаться, когда DNS-серверы обновят информацию в кэше. Обычно это происходит за несколько часов.

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

Учитывайте, что настройки DNS следует редактировать с максимальной внимательностью, поскольку ошибку вы заметите далеко не сразу (кэш серверов может обновляться до 72 часов). Неправильные настройки могут надолго сделать сайт неработоспособным. И даже после исправления ошибки он станет доступен далеко не сразу, поскольку придётся повторно ждать обновления кэша.

Почему всё так сложно?

Интернет устроен так, что веб-ресурс можно идентифицировать по доменному имени, а сервер – по IP-адресу. Доменное имя указывает на конкретный сайт, который в любой момент можно перенести на другой сервер, расположенный в другом ДЦ. В отличие от домена, IP позволяет установить физическое месторасположение сервера. Именно для однозначного преобразования одного типа адресации в другой и создана система DNS. Благодаря ей даже после переезда в другой дата-центр сайт остаётся доступным по старому доменному имени.

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

Почему информация обновляется так долго?

Служба DNS представляет собой масштабную сеть, распределенную по всему миру. Серверы сети хранят огромные массивы информации. Получать её "на лету" невозможно физически, поэтому у каждого сервера присутствует собственный кэш, который обновляется за несколько часов. При первой попытке перехода на сайт (сразу после регистрации) обновление происходит принудительно, поэтому он иногда становится доступным буквально через несколько минут. При переезде на другой хостинг на полное обновление информации во всех серверах сети DNS может потребоваться до 72 часов (на практике практически всегда хватает нескольких часов).

Если вы перенесли сайт на новый хостинг, а в DNS-записях долго остается устаревшая информация, лучше перестраховаться и определить, что мешает обновлению. Возможных причин может быть три:

  1. В настройках домена сохранились адреса старых NS-серверов.

    Решение: Необходимо указать корректные значения. Узнать адреса серверов можно в письме, полученном от хостера. Настройки следует вводить на сайте регистратора доменного имени (если услуги заказаны у разных провайдеров).

  2. Прежний хостинг-провайдер не удалил NS-записи.

    Решение:Написать предыдущему провайдеру письмо с просьбой удалить устаревшие данные о домене, поскольку они могут мешать актуализации данных на серверах DNS. Также убедитесь, что выполнены рекомендации из предыдущего пункта.

  3. Информация не успела обновиться.

    Решение: При изменении NS-сервера информация распространяется по сети DNS медленно. Возможно, придется просто подождать. Если проблема сохраняется, обратитесь в техподдержку нового провайдера. Возможно, они смогут найти ошибки в настройках.

Узнать, обновилась ли информация об IP-адресе на конкретном сервере доменных имен можно при помощи утилиты nslookup. Команда для её вызова в Windows и Linux выглядит одинаково (на примере публичного сервера DNS от Google 8.8.8.8):

nslookup site.ru 8.8.8.8

Не забывайте, что интернет-провайдеры предоставляют пользователям собственные серверы DNS, производительность (а значит, и скорость обновления) которых может сильно отличаться. Также возможно, что прежний IP-адрес сохранился в кэше вашего рабочего компьютера. В подобной ситуации сайт уже будет доступен другим пользователям, а вам будет казаться, что он не работает.