Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

dns

DNS

DNS (Domain Name System - система доменных имён) - распределённая система (распределённая база данных), способная по запросу, содержащему доменное имя хоста (компьютера или другого сетевого устройства), сообщить IP адрес или (в зависимости от запроса) другую информацию. DNS работает в сетях TCP/IP.

Существующие DNS сервера

Теория DNS

  • Рекурсивные и нерекурсивные сервера

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

Рекурсивные сервера обычно используют на низких уровнях, например, в локальных сетях, так как они кэшируют все промежуточные ответы, и так при последующих к нему запросах, ответы будут возвращаться быстрее. А нерекурсивные сервера зачастую стоят на верхних ступенях иерархии, поскольку они получают так много запросов, что для кэширования ответов попросту не хватит никаких ресурсов.

  • Forwarders - «пересыльщики» запросов и ускорители разрешения имён

У DNS-серверов есть довольно полезное свойство - умение использовать так называемых «пересыльщиков» (forwarders). «Честный» DNS-сервер самостоятельно опрашивает другие сервера и находит нужный ответ. Но вот если ваша сеть подключена к Интернету по медленной линии (например, dial-up), то этот процесс может занять много времени. Поэтому можно перенаправлять эти запросы, например, на сервер провайдера, и после этого просто принимать его ответ.

Применение таких «пересыльщиков» может стать полезным для больших компаний, у которых есть несколько сетей. Так в каждой сети можно установить относительно слабый DNS-сервер, и указать в качестве «пересыльщика» более мощную машину с более быстрой линией . Вот и получится, что все ответы будут кэшироваться этим более мощным сервером, что приведёт к ускорению разрешение имен для целой сети.

Для каждого домена ведётся своя база данных DNS, которая выглядит как набор простых текстовых файлов. Они расположены на первичном (основном) DNS- сервере, и их время от времени копируют к себе вторичные сервера. А в конфигурации сервера указывается, какой файл содержит описания зон, а так же является ли сервер первичным или вторичным для этой зоны.

  • Кэширующий сервер имён.

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

Для того, чтобы не возникало проблем с повторяющимися запросами, все DNS- сервера являются кэшируюшими.

Время хранения информации в кэше сервера зависит от настроек зоны (обычно около суток).

Терминология

ТерминEnglishОпределение
Прямой запрос к DNS forward DNSПреобразование имён хостов в адреса IP
Ориджин origin Обозначает домен, покрываемый конкретным файлом зоны
named, bind, сервер имён Общеупотребительные названия для обозначения пакета BIND, обеспечивающего работу сервера имён во FreeBSD.
Резолвер Системный процесс, посредством которого машина обращается к серверу имён для получения информации о зоне
Обратный DNSreverse DNS Операция, обратная прямому запросу к DNS; преобразование адресов IP в имена хостов
Корневая зона Начало иерархии зон Интернет. Все зоны находятся под корневой зоной, подобно тому, как все файлы располагаются ниже корневого каталога.
Зона Отдельный домен, поддомен или часть DNS, управляемая одним сервером.

Примеры зон:

  • . является корневой зоной
  • org. – домен верхнего уровня (TLD) в корневой зоне.
  • example.org. является зоной в домене верхнего уровня (TLD) org..
  • 1.168.192.in-addr.arpa является зоной, в которую включены все IP-адреса, формирующие пространство адресов 192.168.1.*.

Как можно видеть, уточняющая часть имени хоста появляется слева. Например, example.org. более точен, чем org., также, как org. более точен, чем корневая зона. Расположение каждой части имени хоста сильно похоже на файловую систему: каталог /dev расположен в корневой файловой системе, и так далее.

Общие рекомендации

  • Отрицательный ответ от одного DNS-сервера не является основанием для обращения к другому.
  • Файл named.root в последствие нужно периодически забирать с анонимного FTP ftp://ftp.rs.internic.net/domain/named.root, так как IP-адреса top-level серверов через несколько месяцев могут поменяться.
  • После каждого изменения не забывайте менять серийные номера в файлах зон, согласовывать прямые и обратные зоны, перезапускать named.
  • Опции запуска named во FreeBSD описаны в переменных named_* файла /etc/defaults/rc.conf и странице справочника rc.conf(5).
  • Все зоны на одном DNS-сервере. Внутренняя зона поддерживается тем же DNS-сервером, что и внешняя, а чтобы извне нельзя было посмотреть структуру внутренних зон, для них пишутся правила allow-query и allow-transfer.

Типы записей DNS

Основная информация о конкретном домене располагается в файле описания зоны. В файле описываются так называемые "записи" о ресурсах. В файле описания зоны можно использовать следующие специальные символы:

  • ";" — комментарий.
  • @ — Имя текущего домена. Берется либо из инструкции zone, либо определяется в файле описания зоны директивой $ORIGIN.
  • () — Разбивка данных на несколько строк.
  • * — используется только в именах машин или доменов.

Директивы:

  • $TTL время - определяет время жизни записей в кэше DNS-сервера для всех записей зоны.
  • $ORIGIN домен - определяет имя домена, подставляемое вместо символа “@”, или подставляется в конце не полностью определённого имени компьютера или домена.
  • Учетная запись адреса (A)
  • Учетная запись канонического имени (CNAME)
  • Учетная запись почтового сервера (MX)
  • Учетные записи указателя (PTR)
  • Учетная запись именного сервера (NS)
  • Учетная запись начала полномочий (SOA - Start Of Autority) – определяет начало описания зоны. Это одна из обязательных записей, которая должна присутствовать в файле описания зона. Эта запись должна быть самой первой в файле описания зоны. Описание зоны в файле продолжается до тех пор, пока не встретиться другая запись SOA.

Glue record (приклеивающая запись)

Glue record (приклеивающая запись) это просто стандартный прием, часто используемый при делегировании зоны ответственности. Посмотреть Glue record можно утилитой WHOIS информация о владельце домена, IP, AS.

Суть в следующем. Когда вы подаете заявку на делегирование, от вас требуются по крайней мере две обязательные вещи: название домена (зоны) и список неймсерверов. По стандарту неймсерверы для зоны указываются по DNS- именам, а не IP-адресам. Это означает, что ресолвер, получив имя неймсервера, у которого можно узнать адрес интересующего нас хоста, должен выполнить еще один DNS-запрос, с помощью которого мы узнаем IP-адрес нужного неймсервера. Если имя этого неймсервера находится в другой зоне ответсвенности, все будет ОК. Однако если имя неймсервера находится в той же зоне, ситуация зациклится. Чтобы этого не произошло, администратор верхней по отношению к нам зоны должен прописать дополнительную А-запись для нашего неймсервера – glue record.

Ссылки




dns.txt · Последние изменения: 2015/08/06 06:42 (внешнее изменение)