Содержание
Что такое DNS
DNS (domain name system) — это система, обеспечивающая работу привычных нам доменных имен сайтов. Связь между устройствами в сети Интернет осуществляется по IP адресам, например: «192.64.147.209». Однако, запомнить IP адреса сложно, поэтому были придуманы удобные для человека доменные имена, например: «google.com».
Компьютер / сервер не хранит таблицу соответствия доменов и их IP адресов. Точнее, не хранит всю таблицу, а временно запоминает данные для часто используемых доменов. Когда в браузере вводится домен сайта, компьютер автоматически узнает его IP адрес, и отправляет по нему запрос. Этот процесс называется «разрешение адреса домена» (domain resolving).
Разберемся, из чего состоит система DNS, и как она работает.
Как работает DNS
Система доменных имен состоит из следующих компонентов:
Иерархическая структура доменных имен:
- Доменные зоны верхнего уровня (первого уровня) – например: «ru», «com», или «org». Они включают в себя все доменные имена, входящие в эту зону. В любую доменную зону может входить неограниченное количество доменов.
- Доменные имена (доменные зоны второго уровня) – например: «google.com» или «yandex.ru». Т.к. система доменных имен является иерархичной, то «yandex.ru» можно также назвать поддоменом вышестоящей зоны «ru». Поэтому, правильнее указывать именно уровень домена. Однако, на практике, доменную зону любого уровня называют просто «доменом».
- Поддомены (доменные зоны третьего уровня) – например: «api.google.com» или «mail.yandex.ru». Могут быть доменные зоны 4, 5 уровней и так далее.
Обратите внимание, что «www.gооgle.com» и «google.com» — это, фактически, разные домены. Надо не забывать указывать А-записи для каждого из них.
DNS сервер или NS (name server) сервер – поддерживает (обслуживает) доменные зоны, которые ему делегированы. Он непосредственно хранит данные о ресурсных записях для зоны. Например, что сервер, на котором находится сайт «example.ru», имеет IP адрес «1.1.1.1». DNS сервер отвечает на все запросы, касательной этих доменных зон. Если ему приходит запрос о домене, который ему не делегирован, то он спрашивает ответ у других DNS серверов.
DNS записи (ресурсные записи) – это набор записей о доменной зоне на NS сервере, которые хранят данные необходимые для работы DNS. На основании данных в этих записях, DNS сервер отвечает на запросы по домену. Список записей, и их значение, вы можете найти ниже.
Корневые DNS сервера (на данный момент их 13 во всем мире) хранят данные о том, какие DNS сервера обслуживают зоны верхнего уровня.
DNS сервера доменных зон верхнего уровня — хранят информацию, какие NS сервера обслуживают тот или иной домен.
Для того, чтобы узнать IP адрес, домена компьютер / сервер обращается к DNS-серверу, который указан у него в сетевых настройках. Обычно, это DNS сервер Интернет провайдера. DNS сервер проверяет делегирован домен ему или нет. Если да, то сразу отвечает на запрос. Если нет, то запрашивает информацию о DNS сервере, обслуживающем этот домен, у корневого сервера, и затем у сервера доменных зон верхнего уровня. После этого, непосредственно делает запрос на NS сервер, обслуживающий этот домен, и транслирует ответ вашему компьютеру / серверу.
Кэширование данных используется на всех устройствах (компьютерах, северах, DNS серверах). То есть, они запоминают ответы на последние пришедшие к ним запросы. И когда приходит аналогичный запрос, они просто отвечают то же самое, что и в предыдущий раз. Например, если вы в браузере открыли сайт google.com первый раз после включения, то компьютер сделает DNS запрос, а при последующих запросах будет брать данные, которые ему были присланы DNS сервером в первый раз. Таким образом, для популярных запросов не надо каждый раз проходить всю цепочку и генерировать запросы к NS серверам. Это значительно снижает нагрузку на них, и увеличивает скорость работы. Однако, как результат, обновление данных в системе DNS происходит не сразу. При изменении IP адреса домена, информацию об этом будет расходиться по сети Интернет от 1 до 24 часов.
Регистрация/выделение доменов
У каждой доменной зоны первого уровня есть своя организация, которая устанавливает правила выделения доменов и обеспечивает работу этой зоны. Например, для доменных зон RU, SU и РФ – это Координационный центр национального домена сети Интернет https://cctld.ru. Эти организации устанавливают правила работы и технические требования к регистраторам доменов.
Регистраторы доменов – это компании, которые непосредственно регистрируют новые домены в рамках доменной зоны первого уровня для конечных клиентов. Организуют техническое взаимодействие с реестром доменных имен. В их личном кабинете владелец домена настраивает, какой DNS сервер будет поддерживать домен.
Администратор домена (владелец) – лицо, которому непосредственно принадлежат права на доменное имя. Он может управлять доменом, от него регистратор принимает заявки на внесение изменений.
Делегирование домена – указание для него DNS серверов, которые будут его обслуживать.
Основные DNS записи
Существуют следующие основные DNS (ресурсные) записи:
А – содержит информацию об IPv4 адресе хоста (сервера) для домена. Например, 1.1.1.1.
ААА – содержит информацию об IPv6 адресе хоста (сервера) для домена. Например, 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d.
MX – содержит данные о почтовом сервере домена. При этом указывается именно имя почтового сервера, например mail.example.com. Т.к. у домена может быть несколько почтовых серверов, то для каждого из них указывает приоритет. Приоритет задается числом от 0 до 65535. При этом «0» — это самый высокий приоритет. Принято по умолчанию для первого почтового сервера указывать приоритет «10».
TXT – дополнительная информация о домене в виде произвольного текста. Максимальная длина 255 символов.
SRV – содержит информацию об имени хоста и номере порта, для определенных служб / протоколов в соответствии с RFC 2782 http://www.rfc-editor.org/rfc/rfc2782.txt. Содержит следующие поля:
- _Service._Proto.Name ( Пример: _jabber._tcp.jabber ), где:
- Service: название службы (пример: ldap, kerberos, gc и другие).
- Proto: протокол, при помощи которого клиенты могут подключиться к данной службе (пример: tcp, udp).
- Name: имя домена, в котором размещена данная служба.
- Приоритет – также как для MX записи указывает приоритет для данного сервера. Задается числом от 0 до 65535. При этом «0» — это самый высокий приоритет.
- Вес – Относительный вес для распределения нагрузки между серверами с одинаковым приоритетом. Задается целым числом.
- Порт – номер порта, на котором располагается служба на данном сервере.
- Назначение — доменное имя сервера, предоставляющего данную службу.
NS – имя DNS сервера, поддерживающего данный домен.
CNAME (каноническое имя хоста / canonical name) – используется для перенаправления на другое доменное имя. Например, имя сервера изменилось с example.com на new.com. В таком случае в поле «Alies» для записи cname надо указать — example.com, а в поле «Canonical name» — new.com. Таким образом, все запросы на example.com автоматически будут перенаправлены на new.com.
SOA – базовая запись о домене. В ней хранится само имя домена и время жизни данных о домене — TTL. TTL (time-to-live) определяет какой период времени DNS сервер получив информацию о зоне будет хранить ее у себя в памяти (кэшировать). Рекомендуемое значение 86400 – 1 день. Значение указывается в секундах.
</ul>
Что такое DNS?
DNS – это аббревиатура от Domain Name System. Переводится как система доменных имён, и является системой, которая сопоставляет между собой доменное имя и IP адрес хоста. Так, зная имя хоста, можно получить его адрес и наоборот. Для чего это нужно? Всемирная сеть Интернет устроена таким образом, что каждое устройство (компьютер, телефон, планшет, маршрутизатор) имеет свой уникальный адрес (на самом деле адреса могут повторяться, если речь идет о разных ЛОКАЛЬНЫХ сетях, но в данной статье мы говорим о глобальной сети и не будем вдаваться в подробности NAT, PAT и маршрутизации), и обратиться к этому устройству можно только зная его адрес в сети. Работая в Интернете, мы обращаемся к десяткам сайтов каждый день. Трудно было бы запомнить все их адреса, состоящие из последовательности номеров и точек, например, что проще запомнить 77.222.61.238 или integrus.compumur.ru? Конечно, второе. А адрес за вас вспомнит система доменных имен.
Как установить DNS-сервер?
Сервер может выполнять различные функции, он может исполнять роль глобального каталога, хранить файловую информацию, работать с базами данных, работать одновременно с несколькими пользователями. В зависимости от предназначения сервера на нем устанавливают роли – специальный набор программ, позволяющих серверу выполнять необходимые функции.
Как установить роль DNS сервера? Установку будем проводить на Windows Server 2012 R2.
Чаще всего роль DNS-сервера устанавливается вместе с контроллером домена. Но в случае если во время установки Active Directory вы сняли галочку «DNS-сервер», либо AD просто не нужен, то необходимо провести установку только DNS-сервера. Для этого нужно зайти в диспетчер сервера и нажать кнопку «Добавить роли и компоненты».
Откроется окно «Мастера добавления ролей и компонентов». Прочитайте вступительный текст мастера и нажмите «Далее».
Убедитесь, что выбран пункт «Установка ролей и компонентов» и нажмите «Далее».
Выберите сервер из пула серверов. В нашем случае сервер всего один, у вас может быть больше.
Выбираем Роль DNS-сервер.
Отметив необходимый пункт галочкой, увидим появившееся окно «Мастера добавления ролей и компонентов». Эти компоненты необходимы для управления устанавливаемой ролью. В случае, если вы собираетесь администрировать DNS-сервер с другого сервера, то можно пропустить добавление данных компонентов.
Вернувшись в окно, с отмеченной галочкой DNS-сервер, нажмите кнопку «Далее», затем «Далее и снова «Далее», пока не станет активна кнопка «Установить».
Нажмите кнопку «Установить».
Начнется установка.
После завершения установки (установка будет длится менее 5 минут) появится надпись: «Установка выполнена на ИмяВашегоСервера». Можно нажать кнопку «Закрыть». Теперь в Панели мониторинга сервера, а также в Меню Пуск появится новая строчка «DNS». Если кликнуть по этой строчке, то запустится «Диспетчер DNS».
Он выглядит следующим образом.
На данный момент на DNS-сервере не настроена ни одна зона. Такой сервер называется кэширующим. Зоны – это части пространства имен, за которые отвечает сервер. Зоны прямого просмотра предполагают преобразование имени в IP-адрес. Зона обратного просмотра наоборот, сопоставляет IP-адрес с именем.
Создадим зону прямого просмотра и сделаем её простую настройку.
Для этого кликнем правой кнопкой мыши на надписи «Зоны прямого просмотра» и затем «Создать новую зону».
Откроется окно «Мастера создания новой зоны», жмем «Далее». Откроется окно выбора типа зоны. Если у Вас нет другого сервера DNS выбирайте «Основная зона» и «Далее».
В следующем окне нужно задать имя зоны. Рекомендуется использовать ваш домен. В нашем случае в качестве имени было бы указано: integrus.compumur.ru. Жмем «Далее».
Выбираем «Создать новый файл» и жмем «Далее».
В следующем окне выберите тип динамического обновления. Рекомендуется разрешить динамические обновления, но только если DNS будет использоваться исключительно в вашей локальной сети. В противном случае этот пункт может повлечь за собой риски безопасности, о чем «Мастер создания новой зоны» вас предупредит.
Жмем «Далее» и «Готово». Зона прямого просмотра успешно создана, проведем её простую настройку. Настройка зоны просмотра осуществляется путем добавления в зону DNS-записей. Существует несколько типов DNS-записей. Рассмотрим основные типы:
- А-запись. Соотносит Имя хоста и адрес протокола IPV
- АААА-запись. Соотносит Имя хоста и адрес протокола IPV
- CNAME-запись. Псевдоним, используется для переадресации на другое имя.
- MX-запись. Почтовая запись, указывает на почтовые сервера.
- NS-запись. Указывает на DNS-сервер домена.
Создадим А-запись для нашей новой зоны прямого просмотра. Для этого кликнем правой кнопкой мыши на зоне и выберем соответствующий пункт контекстного меню, как показано на рисунке.
В открывшемся окне «Новый узел» вводим Имя узла, например GateWay и его IP-адрес, например 192.168.0.1. Нажмите кнопку «Добавить узел».
Готово! Запись успешно создана!
В данной статье мы постарались максимально понятным языком объяснить простому человеку без глубоких знаний IT что такое DNS, как установить роль DNS-сервера на Windows Server 2012, познакомились с основными типами записей и в картинках показали как эти записи делаются. А если все вышеописанное показалось Вам трудным, то наши специалисты настроят Вам сервер менее, чем за час.
Что такое, и как работает DNS сервер?
Любой компьютер, который выходит в сеть (глобальную или локальную), сразу получает адрес в цифровом виде. Всем он известен как IP адрес. Этот адрес может быть использован другими машинами с целью пообщаться. Однако без надлежащей, человеку-понятной аналогии этому набору цифр было бы трудно запомнить и идентифицировать нужный компьютер среди сотен миллионов других машин.
И сегодня в поиске нужной информации, чтобы мы по запросу в поисковике или по прямому набору в адресной строке смогли попасть на нужный нам сайт, сами того не подозревая, работаем с DNS серверами.
По ходу статьи будут приводится некоторые термины, которые желательно сразу запомнить: с ними Вы будете сталкиваться не раз, я же буду их выделять жирным шрифтом. Внизу статьи, с помощью этих терминов, я покажу как работает DNS сервер, когда Вы щёлкаете по ссылке или просто набираете адрес сайта в строке браузера.
Как было раньше, или если бы не DNS сервер…
Изначально для этой (поиск нужного компьютера по сети и самоидентификации) цели был создан знаменитый файл hosts, и каждый из компьютеров был просто обязан иметь его в корневой директории операционной системы. Файл, находящийся по пути:
C:WindowsSystem32driversetchosts
В Вашей Windows до сих пор обладает наивысшим приоритетом, когда речь заходит о том, можно ли посетить какой-то сайт или нельзя.
Но время шло, и вскоре пользователи и администраторы при выходе в сеть стали сталкиваться с некоторыми проблемами. И среди самых назойливых оказались следующие:
- Файл hosts, для нормальной работы в сети, должен был редактироваться: какие-то записи добавлялись, какие-то затирались. И представьте себе, что это нужно было бы проделывать ВРУЧНУЮ.
- Представьте, каким бы стал этот файл сегодня, когда мы гуляем по сети беспрепятственно, посещая десятки, а то и сотни хостов ежедневно, даже не подозревая, что такие существовали до сей минуты. Hosts файл разросся бы до гигантских размеров.
Впрочем, идея с заменой цифрового адреса на символьный пришла почти сразу. Так появилась мысль, а затем и техническое решение создать сетевой сервер ИМЁН. И когда в сети появляется DNS Система Доменных Имён, остальным компьютерам в этой сети нужно знать лишь две вещи:
- Цифровой адрес самого сервера DNS.
- Понятный человеку адрес нужного компьютера.
Теперь, чтобы узнать истинный IP адрес нужного компьютера-сервера-сайта (а это по-прежнему адрес в виде ХХХ.ХХХ.ХХХ.ХХХ), наш компьютер спрашивает об этом DNS сервер в форме:
Проблемы, обозначенные вверху, исчезли: всё теперь происходит внутри серверов. А сразу после того, как случайно пролили кофе на клавиатуру единственного DNS сервера, возникла идея создания множества DNS серверов, чтобы в случае сбоя на любом из них проблем с поиском не было. Чтобы их между собой не путать, некоторые из них стали первичными, остальные вторичными.
Если на главном сервере проводилось техническое обслуживание, проблемы с поиском брал на себя вторичный DNS. Однако, с течением времени, некоторые проблемы стали появляться:
- Устройств, которые выходили в сеть, становилось всё больше, и для DNS серверов стало трудно обрабатывать миллионы запросов на преобразование адресов. Так, помимо увеличения количества самих DNS серверов, возникла проблема систематизации самих имён в сети.
- Некоторые сайты принимали несколько десятков посетителей в день, а какие-то – сотни в минуту. А значит нужно распределять и нагрузку по каждому из ресурсов в случае необходимости
Вот так мы и подобрались к современной структуре DNS.
Глобальная DNS
Выражаясь формальным языком, структура глобальной DNS представляется в виде «соответствия основополагающим документам» из целой, конечно, их серии/набора. Вот их названия:
RFC 1034
RFC 1035
RFC – это имя документа, который обязывает участников сети соответствовать неким правилам работы в сети, чтобы не мешать остальным и при этом находиться и отображаться для других правильно и быстро. И эти два документа предписывают DNS серверам структурироваться в обратную древовидную структуру:
- Корневой сервер имён, он же ROOT сервер – представлен символом ТОЧКА “.“.
- Домены верхнего уровня (Top Level Domens – TLD) – делятся внутри на Общие домены (gTLD) типа .com, .net, .org, .edu и т.п. и Национальные домены (ccTLD) типа .us, .uk, .ru, .fr и т.п.
- Домены второго уровня (Secondary Level Domain – SLD) – это остальная часть доменов, которые раздаются коммерческими или государственными организациями. Характерный вид: наличие справа от главного имени адреса ещё одной точки:
сайт.msk.ru сайт.spb.ru и т.д.
Таким образом, структура DNS выглядит так:
- Корневой уровень.
- Домены верхнего уровня.
- Домены второго уровня.
- Поддомены.
- Конечные хосты.
В состав такой иерархии вводится понятие доменов третьего уровня, чьё место в URL сразу слева от имени второго домена. Так часто именуют поддомены на ресурсах, которые играют роль специального раздела основного сайта.
Теперь вы знаете, какие DNS серверы принимают участие, когда вы обращаетесь к моему блогу:
Каждая ветка или пункт доменной системы закреплён за ответственной организацией, которая отвечает за его администрирование. Так что привыкайте к следующему понятию в DNS системе: авторитетный источник. Авторитетной мы будем называть именно ту организацию, которая ответственна именно за конкретную часть DNS цепочки или DNS узла.
Структура DNS
Корневые сервера имён, которые главенствуют над другими в иерархии DNS, объединяют в себе работу чуть более десятка организаций «под эгидой» ICANN («Корпорацией по управлению доменными именами и IP-адресами»). Всего существует 13 корневых серверов со специальными адресами. Официально ICANN не является коммерческой организацией, а другие конторы юридически с ICANN не связаны.
Такая разобщённая структура была нарочно придумана для того, чтобы система была максимально независима от давления извне, хотя в числе авторитетных организаций есть те, которые работают напрямую с министерством обороны США. Так что «эгида» очень условна.
Самой ICANN принадлежит один из таких серверов, и она отвечает за распределение адресов в зоне gTLD. У ICANN есть право делегирования полномочий другим организациям, которые авторизуют отдельные узлы цепочек DNS на основании подписанных с ICANN договоров.
А что такое WWW в начале адреса?
Традиционное в прошлом WWW слева от адреса – не более, чем часть ИМЕНИ ХОСТ-КОМПЬЮТЕРА, к которому вы собираетесь обратиться. Тройная W используется сайтами как дань традиции, никакой ресурс более не обязан упоминать в своём названии заветные некогда WWW. Так что блоги
samsebeadmin.ru
и
www.samsebeadmin.ru
могут оказаться разными ресурсами, а я свой мог бы, к примеру, легко назвать:
zyx.samsebeadmin.ru
При обработке двух первых из примера запросов DNS, скорее всего, сработает безошибочно, направив куда нужно. Однако применение www слева от адреса может дать некоторые преимущества: это может быть дополнительный субдомен в числе остальных для расширения функционала сайта, но с каноническим видом URL.
С точки зрения развития или популяризации ресурса разговоров по поводу WWW ведётся немало, однако факт есть факт: специально настроенный ресурс, доступный (как администрации сайта необходимо и выгодно) с WWW и без WWW – часто либо пустая трата сил, либо требующая вложений операция, которая сама по себе «просто так» смысла не имеет.
Набираем адрес в строке или DNS сервер в работе
Чтобы там не заявляли, но основным сервером, который будет направлять Вас при поиске нужного ресурса (где бы он не находился), будет один из тринадцати корневых зарубежных серверов. Любой из вновь подключаемых серверов верхнего уровня ПО УМОЛЧАНИЮ знает IP адреса каждого из них, и дополнительного сервера ему не требуется. И теперь цепочка
поиск – запрос – ответ
выглядит так (напрягайте память – все аббревиатуры и понятия из текста выше сейчас понадобятся):
- Набираем в браузере нужный адрес (или щёлкаем по ссылке – без разницы).
- Операционная система, получившая сигнал от браузера на выход в сеть, быстренько заглядывает в /etc/hosts файл за дополнительными правилами или разрешениями, а затем в файл /etc/resolv.conf за IP адресом закреплённого за этим компьютером адресом DNS.
- DNS сервер, получивший запрос, шерстит свою базу в поисках адреса. Если находит, возвращает пользователю в браузер (часто на этом цепочка и заканчивает свой срок жизни). Если нет, он звонит корневому серверу.
- Корневой сервер передаёт запрос на подходящий TLD DNS-сервер “.XXX” в форме:
«Тут один DNS ищет сайт.xxx: найдёшь – вернёшь ответ сам»
Все TLD сервера, в свою очередь, знают IP адреса всех SLD серверов. Так, если француз искал блог samsebeadmin.ru, то корневой сервер делегирует поиск другим авторизованным серверам, которые контролируют работу зоны .RU. Продолжаем пример с французом.
- Цепочку запроса подхватывает один из TLD RU-зоны серверов, который отвечает за работу моего домена (доменного имени) – samsebeadmin.ru. Сайт обнаружился.
- Теперь TLD сервер для зоны .RU выдаёт французу ссылку на адрес того DNS сервера, который отвечает за адрес найденного сайта (за домен).
- DNS сервер для samsebeadmin.ru выдаёт клиенту готовый IP адрес блога. Цепочка замкнулась, француз – на сайте.
С первого раза, возможно, трудно всё это понять. Прочтите материал ещё раз внимательно и не торопясь. И тогда, я думаю, Вы во всём разберётесь.
Используемые источники:
- https://neoserver.ru/kak-rabotaet-dns
- https://integrus.ru/blog/nastrojka-dns.html
- https://samsebeadmin.ru/internet/chto-takoe-dns-server.html