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

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


dns

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

dns [2018/12/24 07:35] (текущий)
Строка 1: Строка 1:
 +====== Что такое DNS ======
 +{{htmlmetatags>​
 +metatag-description=(DNS - сервер обеспечивает трансляцию имен сайтов в IP адреса.)
 +}}
 +
 +**DNS** (Domain Name System - система доменных имён) - распределённая система (распределённая база данных),​ способная по запросу,​ содержащему доменное имя хоста (компьютера или другого сетевого устройства),​ сообщить IP адрес или (в зависимости от запроса) другую информацию. DNS работает в сетях [[TCP]]/IP.
 +
 +{{::​ddo_dns.pdf|Диаграмма DNS}}
 +====== Существующие DNS сервера ======
 +  * [[BIND]] - в Unix этот сервер является стандартом де-факто
 +  * [[http://​www.powerdns.com|PowerDNS]]
 +  * MyDNS - DNS-сервер,​ использующий в качестве БД MySQL
 +  * Microsoft DNS Server - входит в состав серверных версий Windows.
 +  * [[Dnsmasq]] - простой в настройке кеширующий DNS транслятор и [[DHCP]] сервер.
 +===== Теория DNS =====
 +  * **Рекурсивные и нерекурсивные сервера**
 +DNS-сервера могут быть рекурсивные и нерекурсивные. Разница в них в том, что рекурсивные всегда возвращают клиенту ответ, так как самостоятельно отслеживают отсылки к другим DNS-серверам и опрашивают их, а нерекурсивные - возвращают клиенту эти отсылки,​ и клиент должен самостоятельно опрашивать указанный сервер.
 +
 +Рекурсивные сервера обычно используют на низких уровнях,​ например,​ в локальных сетях, так как они кэшируют все промежуточные ответы,​ и так при последующих к нему запросах,​ ответы будут возвращаться быстрее. А нерекурсивные сервера зачастую стоят на верхних ступенях иерархии,​ поскольку они получают так много запросов,​ что для кэширования ответов попросту не хватит никаких ресурсов.
 +
 +  * **Forwarders - «пересыльщики» запросов и ускорители разрешения имён**
 +У DNS-серверов есть довольно полезное свойство - умение использовать так называемых «пересыльщиков» (forwarders). «Честный» DNS-сервер самостоятельно опрашивает другие сервера и находит нужный ответ. Но вот если ваша сеть подключена к Интернету по медленной линии (например,​ dial-up), то этот процесс может занять много времени. Поэтому можно перенаправлять эти запросы,​ например,​ на сервер провайдера,​ и после этого просто принимать его ответ.
 +
 +Применение таких «пересыльщиков» может стать полезным для больших компаний,​ у которых есть несколько сетей. Так в каждой сети можно установить относительно слабый DNS-сервер,​ и указать в качестве «пересыльщика» более мощную машину с более быстрой линией . Вот и получится,​ что все ответы будут кэшироваться этим более мощным сервером,​ что приведёт к ускорению разрешение имен для целой сети.
 +
 +Для каждого домена ведётся своя база данных DNS, которая выглядит как набор простых текстовых файлов. Они расположены на первичном (основном) DNS- сервере,​ и их время от времени копируют к себе вторичные сервера. А в конфигурации сервера указывается,​ какой файл содержит описания зон, а так же является ли сервер первичным или вторичным для этой зоны.
 +
 +  * **Кэширующий сервер имён**. ​
 +Кэширующий сервер имён выполняет запросы от своего имени и сохраняет результаты для последующего использования в своем локальном кеше (просмотр локального кеша). Кеширующий DNS сервер может не отвечать ни за какую зону, можно исключить все описания зон из стандартной конфигурации сервера имён.
 +<​note>​Для того, чтобы не возникало проблем с повторяющимися запросами,​ **все DNS- сервера являются кэшируюшими**.</​note>​
 +Время хранения информации в кэше сервера зависит от настроек зоны (обычно около суток).
 +===== Терминология =====
 +
 +|Термин|English|Определение|
 +|Прямой запрос к DNS| forward DNS|Преобразование имён хостов в адреса IP|
 +|Ориджин |origin |Обозначает домен, покрываемый конкретным файлом зоны|
 +|named, bind, сервер имён ||Общеупотребительные названия для обозначения пакета BIND, обеспечивающего работу сервера имён во FreeBSD.|
 +|Резолвер| | Системный процесс,​ посредством которого машина обращается к серверу имён для получения информации о зоне|
 +|Обратный DNS|reverse 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 =====
 +  * [[http://​info.nic.ru/​st/​8/​out_261.shtml|Запись "Start Of Authority"​]]
 +
 +Основная информация о конкретном домене располагается в файле описания зоны. В файле описываются так называемые "​записи"​ о ресурсах. В файле описания зоны можно использовать следующие специальные символы:​
 +  * ";"​ — комментарий.
 +  * @ — Имя текущего домена. Берется либо из инструкции zone, либо определяется в файле описания зоны директивой $ORIGIN.
 +  * () — Разбивка данных на несколько строк.
 +  * * — используется только в именах машин или доменов.
 +Директивы:​
 +  * $TTL время - определяет время жизни записей в кэше DNS-сервера для всех записей зоны.
 +  * $ORIGIN домен - определяет имя домена,​ подставляемое вместо символа “@”, или подставляется в конце не полностью определённого имени компьютера или домена.
 +
 +
 +  * Учетная запись адреса (A)
 +  * Учетная запись канонического имени (CNAME)
 +  * Учетная запись почтового сервера (MX)
 +  * Учетные записи указателя (PTR)
 +  * Учетная запись именного сервера (NS)
 +  * Учетная запись начала полномочий (SOA - Start Of Autority) – определяет начало описания зоны. Это одна из обязательных записей,​ которая должна ​ присутствовать в файле описания зона. Эта запись должна быть самой первой в файле описания зоны. Описание зоны в файле продолжается до тех пор, пока не встретиться другая запись SOA.
 +
 +===== Glue record (приклеивающая запись) =====
 +**Glue record** (приклеивающая запись) это просто стандартный прием, часто используемый при делегировании зоны ответственности. Посмотреть Glue record можно утилитой [[whois]].
 +
 +Суть в следующем. Когда вы подаете заявку на делегирование,​ от вас требуются по крайней мере две обязательные вещи: название домена (зоны) и список неймсерверов. По стандарту неймсерверы для зоны указываются по DNS- именам,​ а не IP-адресам. Это означает,​ что ресолвер,​ получив имя неймсервера,​ у которого можно узнать адрес интересующего нас хоста, должен выполнить еще один DNS-запрос,​ с помощью которого мы узнаем IP-адрес нужного неймсервера. Если имя этого неймсервера находится в другой зоне ответсвенности,​ все будет ОК. Однако если имя неймсервера находится в той же зоне, ситуация зациклится. Чтобы этого не произошло,​ администратор верхней по отношению к нам зоны должен прописать дополнительную А-запись для нашего неймсервера – glue record. ​
  
загрузка...
dns.txt · Последние изменения: 2018/12/24 07:35 (внешнее изменение)