Раздел DNS: Что такое DNS
DNS (Domain Name System - система доменных имён) - распределённая система (распределённая база данных), способная по запросу, содержащему доменное имя хоста (компьютера или другого сетевого устройства), сообщить IP адрес или (в зависимости от запроса) другую информацию. DNS работает в сетях Порты TCP. Что такое TCP / IP порт/IP.
Существующие DNS сервера
- DNS сервер BIND - в Unix этот сервер является стандартом де-факто
- MyDNS - DNS-сервер, использующий в качестве БД MySQL
- Microsoft DNS Server - входит в состав серверных версий Windows.
- Настройка Dnsmasq Ubuntu - простой в настройке кеширующий DNS транслятор и Настройка DHCP сервера Linux, FreeBSD сервер.
Работающие облачные DNS сервера
- ClouDNS профессиональны DNS сервера для сложных настроек, таких как балансировка нагрузки на сайты, отказоустойчивый DNS. 1 Домен бесплатно.
- Namecheap - использую в повседневной жизни как для покупки доменов, так и для настройки DNS. Мне хватает бесплатного DNS тарифа.
- AlexHost РАБОТАЮЩИЙ бесплатный тариф для парковки.
Я рекомендую для стандартных задач покупки и парковки доменных имен использовать Namecheap.
Все о DNS
- Бесплатные Быстрые Публичные DNS Сервера (DNS Leak) и список бесплатных secondary и primary DNS серверов.
- DNS: запись Запись CNAME DNS - создание мнемонических имен
- DNS: запись Что такое SPF - универсальная SPF запись
- DNS: запись PTR PTR обратный просмотр DNS запись MX для почтового сервера.
Теория DNS
- Рекурсивные и нерекурсивные сервера
DNS-сервера могут быть рекурсивные и нерекурсивные. Разница в них в том, что рекурсивные всегда возвращают клиенту ответ, так как самостоятельно отслеживают отсылки к другим DNS-серверам и опрашивают их, а нерекурсивные - возвращают клиенту эти отсылки, и клиент должен самостоятельно опрашивать указанный сервер.
Рекурсивные сервера обычно используют на низких уровнях, например, в локальных сетях, так как они кэшируют все промежуточные ответы, и так при последующих к нему запросах, ответы будут возвращаться быстрее. А нерекурсивные сервера зачастую стоят на верхних ступенях иерархии, поскольку они получают так много запросов, что для кэширования ответов попросту не хватит никаких ресурсов.
- Forwarders - «пересыльщики» запросов и ускорители разрешения имён
У 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, управляемая одним сервером. |
Примеры зон:
- . является корневой зоной
- 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-адресам. Это означает, что ресолвер, получив имя 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 поддерживают все современные регистраторы доменных имен, но найти как это сделать довольно нетривиальная задача. Как говорится курите мануалы!
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах