Что такое dnc. Введение в терминологию, элементы и понятия DNS. Для чего служат DNS сервера

Являясь провайдером виртуальной инфраструктуры, компания 1cloud интересуется сетевыми технологиями, о которых мы регулярно рассказываем в своем блоге. Сегодня мы подготовили материал, затрагивающий тему доменных имен. В нем мы рассмотрим базовые аспекты функционирования DNS и вопросы безопасности DNS-серверов.

Также стоит пару слов сказать про процедуру обратного сопоставления – получение имени по предоставленному IP-адресу. Это происходит, например, при проверках сервера электронной почты. Существует специальный домен in-addr.arpa, записи в котором используются для преобразования IP-адресов в символьные имена. Например, для получения DNS-имени для адреса 11.22.33.44 можно запросить у DNS-сервера запись 44.33.22.11.in-addr.arpa, и тот вернёт соответствующее символьное имя.

Кто управляет и поддерживает DNS-сервера?

Когда вы вводите адрес интернет-ресурса в строку браузера, он отправляет запрос на DNS-сервер отвечающий за корневую зону. Таких серверов 13 и они управляются различными операторами и организациями. Например, сервер a.root-servers.net имеет IP-адрес 198.41.0.4 и находится в ведении компании Verisign, а e.root-servers.net (192.203.230.10) обслуживает НАСА.

Каждый из этих операторов предоставляет данную услугу бесплатно, а также обеспечивает бесперебойную работу, поскольку при отказе любого из этих серверов станут недоступны целые зоны интернета. Ранее корневые DNS-серверы, являющиеся основой для обработки всех запросов о доменных именах в интернете, располагались в Северной Америке. Однако с внедрением технологии альтернативной адресации они «распространились» по всему миру, и фактически их число увеличилось с 13 до 123, что позволило повысить надёжность фундамента DNS.

Еще один вариант – использование функции IP Source Guard. Она основывается на технологии uRPF и отслеживании DHCP-пакетов для фильтрации поддельного трафика на отдельных портах коммутатора. IP Source Guard проверяет DHCP-трафик в сети и определяет, какие IP-адреса были назначены сетевым устройствам.

После того как эта информация была собрана и сохранена в таблице объединения отслеживания DHCP-пакетов, IP Source Guard может использовать ее для фильтрации IP-пакетов, полученных сетевым устройством. Если пакет получен с IP-адресом источника, который не соответствует таблице объединения отслеживания DHCP-пакетов, то пакет отбрасывается.

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

DNS — что такое и для чего используется?

Интернет — это бесчисленное количество физических устройств (серверов, компьютеров, планшетов и т.д.), связанных между собой в сеть. Любой сайт в Интернете по факту находится на физическом устройстве. Каждое устройство имеет свой уникальный номер — IP-адрес вида 123.123.123.123.

Чтобы попасть на сайт, нужно знать IP-адрес устройства, на котором расположен этот сайт. А теперь представьте, сколько сайтов в день вы посещаете и сколько цифр вам пришлось бы запомнить. Конечно, это нереально. Поэтому для удобства работы в Интернете в 80-х годах была создана система доменных имен — DNS (Domain Name System). Смысл её в том, что каждому цифровому IP-адресу присваивается понятное буквенное имя (домен). Когда вы вводите в браузере доменное имя, сервера DNS преобразуют его в IP-адрес..58.116.30.

Для чего нужны DNS-серверы?

Служба доменных имён работает благодаря DNS-cерверам. Именно эти жизненно важные «программы» хранят таблицы соответствий вида «имя домена» — «IP-адрес». Кроме того, DNS-серверы служат для хранения ресурсных записей доменов: В Интернете огромное количество DNS-серверов, каждый выполняет свою функцию в общей системе. Служба Domain Name System необходима для того, чтобы мы могли без проблем находить свои любимые сайты, не запоминая вереницы цифр.

Итак, вы вводите название сайта в адресную строку и нажимаете Enter. В те самые секунды, перед тем как сайт отобразится на вашем экране, DNS-серверы работают не щадя себя. Посмотрим, что делают DNS-серверы. Следите за стрелочками.

  1. 1.

    Получив от вас доменное имя, компьютер связывается с DNS-серверами вашего интернет-провайдера (стрелка 1 ). DNS-серверы провайдера ищут IP-адрес в кеше. Если находят, выдают вам IP-адрес (стрелка 6 ) и по этому IP-адресу ваш компьютер обращается к серверу, на котором размещён сайт (стрелка 7 ).Сайт отображается на экране компьютера. И всё :)

  2. 2.

    Если же пара «домен — IP-адрес» отсутствует в кеше DNS-серверов интернет-провайдера, DNS-сервер провайдера отправляет запрос корневым DNS-серверам (стрелка 2 ). Таких серверов всего несколько штук по всему миру, а информация на них обновляется несколько раз сутки. Корневые серверы сообщают адреса DNS-серверов домена (стрелка 3 ). Тех самых, которые нужно прописать для домена после регистрации и которые хранят всю актуальную информацию о домене (IP-адрес, ресурсные записи и т.д.).

  3. 3.

    Получив адреса DNS-серверов домена, провайдер делает запрос к одному из них (стрелка 4 ), получает в ответ долгожданный IP-адрес (стрелка 5 ), запоминает его в кеше (чтобы потом не обращаться каждый раз к корневому DNS-серверу) и наконец сообщает этот IP-адрес вашему браузеру (стрелка 6 ).

  4. 4.

    И только теперь довольный браузер обращается по IP-адресу к серверу, на котором расположен сайт (стрелка 7 ), и отображает вам сайт на экране компьютера (стрелка 8 ).

Зачем прописывать DNS-серверы для домена?

Допустим, вы зарегистрировали домен. Пока никто, кроме вас, об этом не знает. Чтобы о существовании вашего домена узнал Интернет, нужно выбрать и прописать для домена DNS-серверы. Они-то и расскажут другим DNS-серверам Интернета о вашем домене. Так что запоминаем: зарегистрировал домен — пропиши DNS-серверы !

Прописывают DNS-серверы чаще всего парами. Один из DNS является первичным, а остальные серверы, которых может быть от 1 до 12 для каждого домена, называются вторичными. Это делается для лучшей отказоустойчивости: если выйдет из строя один DNS-сервер, домен и сайт продолжат свою работу.

Почему домены начинают работать не сразу?

DNS-серверы интернет-провайдера обновляются раз в сутки (). Если вы только что прописали или сменили DNS-серверы, придётся подождать 24 часа . Смена DNS-сервера чревата временным отсутствием работающего сайта. После обновления DNS сайт станет доступен. Если сайт не работает — в помощь вам инструкция: .

(8)

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

Домен, который вы вводите в браузере, не является настоящим адресом сайта. Это равносильно тому, что вы отправите письмо человеку, указав на конверте лишь его Ф.И.О. и город проживания. Но как доставить ему письмо, если почтальон не знает конкретно, где находится адресат? Для этого на конверте и указывают почтовый адрес.

Роль почтового адреса в интернете играет IP-адрес(по рус. Айпи). Он есть у всех устройств в сети, будь то домашняя сеть или Интернет. С его помощью устройства могут общаться между собой, отправляя запросы и отвечая на них по определенным IP-адресам. Они задают, на какое устройство необходимо отправить данные.

Айпи состоит из четырех чисел, начиная от 0 и заканчивая 255. К примеру, один из интернет-адресов сайта компании Google выглядит так: 77.214.53.237. Если вы скопируете данное сочетание цифр и вставите в адресную строку в браузере, то автоматически попадете на страницу google.com. Позже мы расскажем, почему домены могут иметь несколько IP.

Вы спросите: «А зачем вообще усложнять жизнь и почему нельзя оставить только доменные имена»? Суть в том, что любой доступный во Всемирной паутине сайт – это, грубо говоря, тот же компьютер со своим айпи. Все его файлы, папки и прочие материалы хранятся на сервере. Компьютеры способны работать только с цифрами – без DNS они не поймут символьный запрос.

В отличие от компьютеров, человеку тяжело держать в голове уйму цифр. IP-адрес очень похож на длинный мобильный номер. Чтобы не было необходимости запоминать номера телефонов, мы записываем их в «контакты» и называем, зачастую, именами владельцев этих номеров. Например: Иван Сидорович, +7-123-456-78-90. В следующий раз, когда мы захотим позвонить Ивану, нам достаточно ввести его имя, а про номер можно и вовсе забыть.

В Интернете роль подобной телефонной книжки отводится именно DNS. В этой системе прописана и сохранена связь сравнительно легко запоминающихся имен сайтов с тяжелыми к запоминанию цифровыми адресами. Вот только во Всемирной сети такую «книгу» ведут не знакомые Ивана Сидоровича, которые в собственных «контактах» могут назвать его как угодно, а лично он.

Например, чтобы зайти на сайт Ивана с доменным адресом yavanya.com, который он выбрал сам, достаточно ввести его в браузере, после чего DNS отправит компьютеру (через который вы сидите в браузере) необходимый IP-адрес. Допустим, 012.012.012.012 – это айпи, соответствующее сайту yavanya.com. Тогда сервер (компьютер), на котором размещен сайт, с таким адресом проанализирует введенный пользователем запрос и пришлет данные браузеру для отображения запрошенной страницы.

Где находятся записи соответствия доменов IP-адресам?


Система доменных имен владеет собственными DNS-серверами. Именно в них содержится вся информация о принадлежности того или иного домена определенному IP-адресу. Подобных серверов большое количество и они выполняют две важных функции:

  • хранение списка айпи и соответствующих им доменов;
  • кэширование записей из других серверов системы.

Здесь стоит пояснить суть второй функции – кэширования. При каждом запросе пользователя, серверам приходится находить IP-адрес в соответствии с указанным названием ресурса. И если страница, которую вы запрашиваете, расположена слишком далеко, потребуется «добраться» до стартового DNS-сервера, где хранится эта информация, что значительно замедляет загрузку сайтов.

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

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

Что такое DNS-зона?

Выше мы привели самый простой пример соответствия IP-адреса домену, которое происходит по такой схеме: одно доменное имя – один ресурс – один адрес. Тем не менее, к единственному домену, кроме сайта, одновременно может относиться и почтовый сервер, адресуемый уже другим айпи. В данном случае нельзя не упомянуть о поддоменах, про которые мы писали раньше. Простой пример поддомена популярного в России почтового сервиса: mail.yandex.ru.

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

  • А – адрес «сайта» домена.
  • MX – адрес «почтового сервера» того же домена.
  • CNAME – синоним домена. То есть, доменный адрес www.yavanya.com – синоним yavanya.com и, введя в браузере запрос без «www», вас все равно перенаправит на сайт.
  • NS – в данной записи содержатся домены DNS-серверов, обслуживающих конкретный домен.
  • TXT – тут может содержаться любое примечание в текстовом формате.

Это сокращенный список, включающий в себя основные поля DNS-зоны.

Дополнительная информация

Есть еще множество нюансов, касающихся описания доменов. Но чтобы облегчить для начинающего изучение новой темы, мы избежали их. Однако, для общего понимания тематики рекомендуем вам ознакомиться еще с несколькими важными деталями:

  1. Мы говорили о доменах с адресами, включающими в себя четыре числа. Они относятся к стандарту IPv4 и могут обслужить ограниченное количество устройств: 4 294 967 296. Да, более четырех миллиардов компьютеров – это немало, но технологический прогресс стремителен и устройства, подключаемые к Интернету, приумножаются с каждым днем. Это привело к нехватке адресов. Во избежание данной проблемы были внедрены новые IPv6 – адреса с шестью числами, которые в DNS-зоне обозначаются, как AAAA. Благодаря новому стандарту, IP-адреса смогут получить значительно больше компьютеров.
  2. Чтобы повысить продуктивность и надежность сайта, одно доменное имя привязывают к нескольким адресам. Как правило, при запросе страницы DNS-сервера выдают IP в непроизвольном порядке.
  3. Один и тот же IP-адрес может быть связан с несколькими доменами. Вообще, это никак не отвечает принципам DNS, где предполагается однозначная связь айпи с доменом. Но, как мы уже упоминали выше, адресов IPv4 уже не хватает на все существующие сегодня интернет-устройства, и приходится экономить. На деле это выглядит так: на сервере с определенным IP-адресом размещают несколько мелких веб-ресурсов с разными доменами, но с одинаковыми адресами. Получая запрос, обслуживающий сайты компьютер обрабатывает запрашиваемый домен и отсылает пользователю нужный веб-ресурс.

Подводим итоги

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

Что такое 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 день. Значение указывается в секундах.

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

В этом руководстве мы обсудим некоторые фундаментальные понятия системы доменных имен, которые помогут вам разобраться с настройкой вашей DNS. После знакомства с этим руководством вы научитесь настраивать собственное доменное имя или свой собственный DNS-сервер.

Прежде чем мы приступим к настройке серверов для преобразования вашего домена или настройке наших доменов в панели управления, давайте познакомимся с некоторыми основными понятиями о работе DNS.

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

Мы должны начать с определения терминов. Хотя некоторые из этих тем могут быть вам знакомы из других сфер, есть много других терминов, используемых в разговоре о доменных именах и DNS, которые не слишком часто используются в других компьютерных областях. Давайте начнем с простого:

Система доменных имен

Система доменных имен, более известная как "DNS", является сетевой системой, которая позволяет нам преобразовать удобные для человека имена (обычно буквенные) в уникальные адреса.

Доменное имя

Доменное имя это удобная для человека форма имени, которую мы привыкли ассоциировать с интернет-ресурсом. Например, "google.com" является доменным именем. Некоторые скажут, что часть "Google" является доменом, но в целом мы можем считать эту комбинированную форму доменным именем.

URL-адрес "google.com" соединен с сервером, находящимся в собственности Google Inc. Система доменных имен позволяет нам соединиться с сервером Google при вводе "google.com" в браузере.

IP-адрес

IP-адресом мы называем сетевой адрес узла. Каждый IP-адрес должен быть уникальным в пределах своей сети. Когда мы говорим о веб-сайтах, этой сетью является весь интернет.

IPv4 , наиболее распространенная форма адресов, записывается в виде четырех наборов цифр, каждый набор содержит до трех цифр, разделенных точкой. Например, "111.222.111.222" может считаться правильным IPv4 IP-адресом. С помощью DNS мы соединяем имя с этим адресом и избавляем себя от необходимости запоминать сложный набор цифр для каждого места посещения в сети.

Домен верхнего уровня

Домен верхнего уровня, или TLD, это самая общая часть домена. Является последней частью доменного имени справа (отделен точкой). Распространенными доменами верхнего уровня считаются "com", "net", "org", "gov", "edu" и "io".

Домены верхнего уровня находятся на вершине иерархии доменных имен. Некоторым компаниям предоставлен контроль над управлением доменами верхнего уровня структурой ICANN (Корпорация по управлению доменными именами и IP-адресами). Эти компании также могут распространять доменные имена под TLD, как правило, через доменного регистратора, который занимается .

Узел

В пределах домена его владелец может определять собственные узлы, которые ссылаются на отдельные компьютеры или услуги, доступные через домен. Например, большинство владельцев доменов делают свой веб-сервер доступным через корневой домен (example.com), а также через "узел", определенный как "www" (www.example.com).
У вас могут быть другие определения узлов под общим доменом. Вы можете иметь API доступ через "api" узел (api.example.com) или FTP доступ, обозначив узел "FTP" или "files" (ftp.example.com или files.example.com). Имена узлов могут быть произвольными, при условии, что они являются уникальными для данного домена.

Поддомен

Объект, связанный с узлами, называется поддомен.
DNS работает в иерархии. Домены верхнего уровня могут иметь множество доменов под ними. Например, домен верхнего уровня "com" включает в себя "google.com" и "ubuntu.com". Поддомен это домен, который является частью домена более высокого уровня. В этом случае можно сказать, что "ubuntu.com" явлется поддоменом "com". Как правило, он называется просто доменом или часть "Ubuntu" называется SLD, что означает домен второго уровня.

Точно так же каждый домен может контролировать "поддомены", которые находятся под ним. Например, у вас мог бы быть поддомен для отдела истории в вашей школе по адресу "www.history.school.edu". В этом случае часть "history" считается поддоменом.
Разница между именем узла и поддомена в том, что узел указывает на компьютер или ресурс, в то время как поддомен расширяет родительский домен.

Читая о поддоменах или узлах, вы можете заметить, что самый левые части доменов наиболее конкретные. Это объясняет работу DNS: от наиболее конкретного к наименее конкретному, так как вы читаете слева направо.

Полностью определенное имя домена

Полностью определенное имя домена часто называют FQDN, или полное имя домена. Домены в системе DNS могут быть определены по отношению друг к другу и, по существу, неоднозначны. FQDN является полным именем, которое указывает его место в отношении к абсолютному корню системы доменных имен.

Это означает, что он указывает на каждый родительский домен, включая TLD. Правильный FQDN заканчивается точкой, указывая на корень иерархии DNS. Примером FQDN является "mail.google.com.". Иногда программное обеспечение, которое запрашивает FQDN, не нуждается в точке на конце, но завершающая точка требуется для соответствия стандартам ICANN.

DNS-сервер

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

DNS-сервера могут быть "авторитетными", что означает, что они предоставляют ответы на запросы о доменах под своим контролем. В противном случае они могут указать на другие серверы или предоставить кэшированные копии данных других DNS-cерверов.

Файл зоны

Файл зоны представляет собой простой текстовый файл, который содержит соединение между доменными именами и IP-адресами. С помощью него DNS выясняет, с каким IP-адресом необходимо связаться, когда пользователь запрашивает определенное доменное имя.

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

Ресурсные записи

Записи хранятся в пределах файла зоны. В своей простейшей форме запись это простое соединение между ресурсом и именем. Эти записи могут соединять имя домена с IP-адресом, определять DNS-серверы и почтовые серверы для домена и т.д.

Как работает DNS

Теперь, когда вы знакомы с некоторой терминологией, связанной с DNS, возникает вопрос, как действительно работает система?

Система очень проста, если смотреть в общем, но очень сложна, если вы углубитесь в детали. В целом, это очень надежная инфраструктура, которая была необходима для адаптации интернета таким, каким мы знаем его сегодня.

Корневые серверы DNS

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

В настоящее время 13 корневых серверов находятся в эксплуатации. Тем не менее, так как каждую минуту появляется немыслимое количество имен для преобразования, каждый из этих серверов имеет зеркало. Интересно, что все зеркала для одного корневого сервера делят один IP-адрес. Когда выполняется запрос к определенному серверу, он будет перенаправлен к ближайшему зеркалу этого корневого сервера.

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

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

Таким образом, если запрос "www.wikipedia.org" производится в корневой сервер, то он ответит, что не может найти результат в своих записях. Он проверит свои файлы зоны на наличие соответствий "www.wikipedia.org". И также не найдет их.
Вместо этого он найдет запись для домена верхнего уровня "org" и предоставит запрашивающему адрес DNS-сервера, отвечающего за адреса "org".

TLD Серверы

После этого запрашивающий отправит новый запрос на IP-адрес (предоставленный ему корневым сервером), который отвечает за необходимый домен верхнего уровня.

Продолжая наш пример, запрос был бы отправлен на DNS-сервер, отвечающий за информацию о домене "org", чтобы проверить, есть ли у него информация о том, где находится "www.wikipedia.org".
Опять же запрашивающий будет искать "www.wikipedia.org” в своих файлах зоны. И не найдет эту запись в своих файлах
Тем не менее он найдет запись с упоминанием IP-адреса DNS-сервера, ответственного за "wikipedia.org". И это приближает нас гораздо ближе к результату.

DNS-сервер на уровне домена

На этом этапе у запрашивающего есть IP-адрес DNS-сервера, который хранит информацию о фактическом IP-адресе ресурса. Он отправляет новый запрос на DNS-сервер с уточнением, может ли он предоставить "www.wikipedia.org ".

DNS-сервер проверяет свои файлы зоны и обнаруживает, что у него есть файл зоны, соотносящийся с "wikipedia.org ". Внутри этого файла находится запись для "WWW" узла. Эта запись указывает IP-адресу, где находится этот узел. DNS-сервер возвращает окончательный ответ на запрос.

Что такое публичный DNS-сервер?

В приведенном выше сценарии мы ссылались на "запрашивающего”. Что же это может значить?

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

Как правило, пользователь будет иметь несколько публичных DNS-серверов, настроенных на их компьютерной системе. Публичные DNS-серверы обычно предоставляются ISP или другими организациями. Например, Google предоставляет публичные DNS-сервера, которые вы можете запросить. Они могут быть настроены на вашем компьютере автоматически или вручную.

При вводе URL в адресной строке браузера ваш компьютер прежде всего проверяет, может ли он найти, где находится ресурс, на локальном уровне. Он проверяет "узлы" файлов на компьютере и других местах. Затем он отправляет запрос на публичный DNS-сервер и ожидает получить обратно IP-адрес ресурса.
Затем публичный DNS-сервер проверяет свой кэш на наличие ответа. Если он не найдет то, что необходимо, он проделает шаги, указанные выше.

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

Файлы зоны

Мы уже упоминали в перечисленных выше процессах "файлы зоны" и "записи".

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

Файл зоны описывает DNS "зону", которая, по существу, является подмножеством всей системы DNS. Как правило, она используется для настройки только одного домена. Она может содержать некоторое количество записей, которые указывают, где находятся ресурсы для запрашиваемого домена.

Параметр зоны $ORIGIN эквивалентен высшему уровню полномочий в зоне по умолчанию.
Таким образом, если файл зоны используется для настройки домена "example.com.", то параметр $ORIGIN также будет установлен для этого домена.

Это настраивается на верхнем уровне файла зоны или может быть указано в настройках файла DNS-сервера, который ссылается на файл зоны. В любом случае этот параметр описывает то, за что зона будет ответственна.

Точно так же $TTL настраивает "время жизни" информации, которую он предоставляет. По сути, это таймер. Кэширующий DNS-сервер может использовать ранее запрошенные результаты для ответа на вопросы, пока заданное значение TTL не истечет.

Типы записи

В файле зоны может быть множество различных типов записей. Мы рассмотрим некоторые из наиболее распространенных видов (или обязательных) ниже.

Записи SOA

Начальная запись зоны или SOA (Start of Authority) - обязательная запись для всех файлов зоны. Она должна быть первой записью в файле (хотя $ORIGIN или $TTL могут появиться выше). Она также является одной из самых сложных для понимания.

Начальная запись зоны выглядит примерно так:

Domain.com. In SOA ns1.domain.com. admin.domain.com. (12083 ; serial number 3h ; refresh interval 30m ; retry interval 3w ; exiry period 1h ; negative TTL)

Поясним, что означает каждая часть:

  • domain.com. : Это корень зоны. Он указывает, что файл зоны относится к домену domain.com.domain. Часто вы будете видеть, что он заменен на “@”, что является только заполнителем, который замещает содержимое переменной $ORIGIN, о которой мы узнали выше.
  • In SOA : Часть "In" означает Интернет (и будет присутствовать во многих записях). SOA является показателем того, что это начальная запись зоны.
  • ns1.domain.com. : Эта часть определяет мастер-сервер для этого домена. DNS-сервер может быть либо мастером, то есть первичным, либо слейв, или вторичным.
  • admin.domain.com. : Это электронный адрес администратора этой зоны. Символ "@" заменяется точкой в ​​адресе электронной почты. Если в части имени email адреса обычно стоит точка, это означает замену символа "\" в этой части ([email protected] становится your\name.domain.com).
  • 12083 : Это серийный номер файла зоны. Каждый раз, когда вы редактируете файл зоны, необходимо увеличивать это число. Слейв серверы проверят, если серийный номер мастер сервера для зоны больше, чем тот, который находится у них в системе. Если это так, то сервер запросит новый файл зоны, а если нет, то он продолжит обслуживать исходный файл.
  • 3h : Это интервал обновления для зоны. Это количество времени, которое слейв сервер будет ждать прежде, чем запросит у мастер сервера изменение файла зоны.
  • 30m : Это интервал повтора для этой зоны. Если слейв сервер не может подключиться к мастеру, когда наступает период обновления, он будет ждать данное количество времени, а после повторит запрос мастер серверу.
  • 3w : Это период истечения. Если слейв DNS-сервер не смог связаться с мастер сервером в течение этого периода времени, он больше не будет возвращать запросы к авторитетному источнику этой зоны.
  • 1h : Это количество времени, которое DNS-сервер будет кэшировать ошибку, если не сможет найти запрашиваемое имя в файле.

А и AAAA записи

Обе эти записи соединяют узел с IP-адресом. "А" запись используется для соединения узла с IPv4 IP-адреса, в то время как запись “AAAA" используется для соединения хоста для адреса IPv6.
Общий формат этих записей выглядит следующим образом:
host IN IPv4_address
host IN AAAA IPv6_address

Таким образом, если SOA запись обращается к основному мастер серверу в "ns1.domain.com", мы должны соединить этот адрес с IP-адресом, так как "ns1.domain.com" находится в зоне domain.com, которую определяет этот файл.
Запись может выглядеть примерно так:
ns1 IN A 111.222.111.222

Обратите внимание, что нет необходимости указывать полное имя. Мы можем просто указать узел (без FQDN), и DNS-сервер заполнит остальное согласно значению $ORIGIN. Тем не менее мы могли бы так же легко использовать FQDN:
ns1.domain.com. IN A 111.222.111.222

В большинстве случаев это то место, где вы укажете свой веб-сервер как "WWW":
WWW IN A 222.222.222.222

Мы должны также сказать, где находится основной домен. Мы можем сделать это следующим образом:
domain.com. IN A 222.222.222.222

Мы также могли бы использовать символ "@", чтобы обратиться к основному домену:
@ IN A 222.222.222.222

У нас также есть возможность преобразования всего, что находится под этим доменом, но не явно относится к этому серверу. Мы можем сделать это с помощью символа "*":
* IN A 222.222.222.222

Все выше перечисленное также работает с AAAA записями для IPv6-адресов.

Запись CNAME

CNAME записи указывает псевдоним для канонического имени вашего сервера (который определен А или AAAA записью).

Например, у нас может быть A запись, определяющая узел "server1", а затем мы можем использовать "WWW" в качестве псевдонима для данного узла:
server1 IN A 111.111.111.111
www IN CNAME server1

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

Запись MX

MX записи указывают серверы обмена почты для домена. Это помогает сообщениям электронной почты приходить в ваш почтовый сервер правильно.
В отличие от многих других типов записей, почтовые записи, как правило, не присоединяют узел к чему-либо, потому что они распространяются на всю зону. Они, как правило, выглядит следующим образом:
IN MX 10 mail.domain.com.

Обратите внимание, что в начале нет имени узла.
Также в записи присутствует дополнительный номер. Это предпочтительный номер, который помогает компьютерам определить, какому серверу отправлять почту, если указаны несколько почтовых серверов. Более низкие значения имеют более высокий приоритет.

Запись MX должна, по сути, переправлять на узел, указанный в записи A или AAAA, а не к той, что указана CNAME.
Представим, что у нас есть два почтовых сервера. Там должны быть записи, которые выглядят примерно так:
IN MX 10 mail1.domain.com.
IN MX 50 mail2.domain.com.
mail1 IN A 111.111.111.111
mail2 IN A 222.222.222.222

В этом примере узел "mail1" является предпочтительным сервером обмена почты.
Мы могли бы также написать это следующим образом:
IN MX 10 mail1
IN MX 50 mail2
mail1 IN A 111.111.111.111
mail2 IN A 222.222.222.222

NS записи

Этот тип записи указывает на DNS-сервера, используемые для этой зоны.
Вы можете спросить: “Почему файлу зоны, находящемуся на DNS-сервере, необходимо ссылаться на себя самого?” DNS-сервер настолько удобен, потому что имеет несколько уровней кэширования. Одной из причин для указания DNS-серверов в файле зоны служит то, что файл зоны может быть фактически обслужен с кэшированной копии на другом DNS-сервере. Есть и другие причины, объясняющие необходимость DNS-серверов ссылаться на сами DNS-сервера, но мы не будем вдаваться в эти подробности.

Как MX записи, NS записи являются параметрами всей зоны, так что они также не соединяют узлы. Выглядят они так:
IN NS ns1.domain.com.
IN NS ns2.domain.com.

Вы должны иметь по крайней мере два DNS-сервера, указанные в каждом файле зоны для того, чтобы правильно действовать, если есть проблема с одним из серверов.
Большая часть программного обеспечения DNS-серверов считает файл зоны недействительным, если указан только один DNS-сервер.

Как всегда, учитывайте соединение для узлов с записями A или AAAA:
IN NS ns1.domain.com.
IN NS ns2.domain.com.
ns1 IN A 111.222.111.111
ns2 IN A 123.211.111.233

Есть немало других типов записей, которые можно использовать, но это, вероятно, наиболее распространенные типы, которые вы встретите.

Вывод

Теперь у вас должно сформироваться достаточно хорошее представление о том, как работает DNS. В то время как идея, в общем, довольно проста для понимания, если вы знакомы с основными принципами, некоторые детали все еще могут быть непонятны для неопытных администраторов в процессе практики.