DNS (Domain Name System - система доменных имён) - распределённая система (распределённая база данных), способная по запросу, содержащему доменное имя хоста (компьютера или другого сетевого устройства), сообщить IP адрес или (в зависимости от запроса) другую информацию. DNS работает в сетях Порты TCP. Что такое TCP / IP порт/IP.
Я рекомендую для стандартных задач покупки и парковки доменных имен использовать Namecheap.
DNS-сервера могут быть рекурсивные и нерекурсивные. Разница в них в том, что рекурсивные всегда возвращают клиенту ответ, так как самостоятельно отслеживают отсылки к другим DNS-серверам и опрашивают их, а нерекурсивные - возвращают клиенту эти отсылки, и клиент должен самостоятельно опрашивать указанный сервер.
Рекурсивные сервера обычно используют на низких уровнях, например, в локальных сетях, так как они кэшируют все промежуточные ответы, и так при последующих к нему запросах, ответы будут возвращаться быстрее. А нерекурсивные сервера зачастую стоят на верхних ступенях иерархии, поскольку они получают так много запросов, что для кэширования ответов попросту не хватит никаких ресурсов.
У DNS-серверов есть довольно полезное свойство - умение использовать так называемых «пересыльщиков» (forwarders). «Честный» DNS-сервер самостоятельно опрашивает другие сервера и находит нужный ответ. Но вот если ваша сеть подключена к Интернету по медленной линии (например, dial-up), то этот процесс может занять много времени. Поэтому можно перенаправлять эти запросы, например, на сервер провайдера, и после этого просто принимать его ответ.
Применение таких «пересыльщиков» может стать полезным для больших компаний, у которых есть несколько сетей. Так в каждой сети можно установить относительно слабый DNS-сервер, и указать в качестве «пересыльщика» более мощную машину с более быстрой линией . Вот и получится, что все ответы будут кэшироваться этим более мощным сервером, что приведёт к ускорению разрешение имен для целой сети.
Для каждого домена ведётся своя база данных DNS, которая выглядит как набор простых текстовых файлов. Они расположены на первичном (основном) DNS- сервере, и их время от времени копируют к себе вторичные сервера. А в конфигурации сервера указывается, какой файл содержит описания зон, а так же является ли сервер первичным или вторичным для этой зоны.
Кэширующий сервер имён выполняет запросы от своего имени и сохраняет результаты для последующего использования в своем локальном кеше (просмотр локального кеша). Кеширующий DNS сервер может не отвечать ни за какую зону, можно исключить все описания зон из стандартной конфигурации сервера имён.
Время хранения информации в кэше сервера зависит от настроек зоны (обычно около суток).
Термин | English | Определение |
Прямой запрос к DNS | forward DNS | Преобразование имён хостов в адреса IP |
Ориджин | origin | Обозначает домен, покрываемый конкретным файлом зоны |
named, bind, сервер имён | Общеупотребительные названия для обозначения пакета BIND, обеспечивающего работу сервера имён во FreeBSD. | |
Резолвер | Системный процесс, посредством которого машина обращается к серверу имён для получения информации о зоне | |
Обратный DNS | reverse DNS | Операция, обратная прямому запросу к DNS; преобразование адресов IP в имена хостов. Что такое PTR запись обратного просмотра DNS |
Корневая зона | Начало иерархии зон Интернет. Все зоны находятся под корневой зоной, подобно тому, как все файлы располагаются ниже корневого каталога. | |
Зона | Отдельный домен, поддомен или часть DNS, управляемая одним сервером. |
Примеры зон:
Как можно видеть, уточняющая часть имени хоста появляется слева. Например, example.org. более точен, чем org., также, как org. более точен, чем корневая зона. Расположение каждой части имени хоста сильно похоже на файловую систему: каталог /dev расположен в корневой файловой системе, и так далее.
Основная информация о конкретном домене располагается в файле описания зоны. В файле описываются так называемые "записи" о ресурсах. В файле описания зоны можно использовать следующие специальные символы:
Директивы:
Glue record (приклеивающая запись) это просто стандартный прием, часто используемый при делегировании зоны ответственности. Посмотреть Glue record можно утилитой WHOIS информация о владельце домена, IP, AS.
Суть в следующем. По стандарту неймсерверы для зоны указываются по DNS- именам, а не IP-адресам. Это означает, что ресолвер, получив имя nameserver, у которого можно узнать адрес интересующего нас хоста, должен выполнить еще один DNS-запрос, с помощью которого мы узнаем IP-адрес нужного неймсервера. Если имя этого неймсервера находится в другой зоне ответственности, все будет ОК. Однако если имя неймсервера находится в той же зоне, ситуация зациклится. Чтобы этого не произошло, администратор верхней по отношению к нам зоны должен прописать дополнительную А-запись для нашего неймсервера – glue record.
Рассмотрим пример: Glue record, или добавочная запись — это А-запись, в которой хранится IP-адрес, присвоенный домену или поддомену. Эти записи становятся крайне важными, когда сервер имён домена находится на поддомене этого же домена. Давайте посмотрим на примере, как работают эти дополнительные записи. Предположим, у вас есть домен yourdomain.com, серверы имён которого имеют адреса:
ns1.yourdomain.com ns2.yourdomain.com
И тут возникает коллизия, чтобы определить адрес yourdomain.com, надо получить его у ns1.yourdomain.com, адрес которого надо получить у него же самого. Получается бесконечный цикл.
Чтобы его разорвать, как раз и нужны Glue record, которые прямо сообщают IP-адрес серверов имён в процессе обработки запроса на получение адреса для yourdomain.com.
Регистраторы доменных имен с простой поддержкой Glue records это Hover, собственно Glue records поддерживают все современные регистраторы доменных имен, но найти как это сделать довольно нетривиальная задача. Как говорится курите мануалы!