Что такое DNS? – Знакомство с DNS – AWS
DNS (система доменных имен) преобразует доменные имена, удобные для человеческого восприятия (например, www.amazon.com), в IP-адреса, понимаемые машиной (например, 192.0.2.44).
Все компьютеры, подключенные к Интернету, включая смартфоны, настольные компьютеры и серверы, предоставляющие контент для огромных торговых веб-сайтов, находят друг друга и обмениваются информацией с помощью цифр. Эти цифры называются IP-адресами. Чтобы открыть веб-сайт в браузере, не требуется запоминать длинные наборы цифр. Достаточно ввести доменное имя, например example.com, и браузер откроет нужную страницу.
Служба DNS, например Amazon Route 53, – это глобальный распределенный сервис, преобразующий доменные имена, удобные для человеческого восприятия (например, www.example.com), в числовые IP-адреса (например, 192.
Авторитативный DNS-сервис. Авторитативный DNS-сервис предоставляет механизм обновления, используемый разработчиками для управления публичными именами DNS. Он отвечает на запросы к DNS, преобразуя доменные имена в IP-адреса, чтобы обеспечить взаимодействие компьютеров между собой. Авторитативный DNS-сервис полностью отвечает за домен и предоставляет информацию об IP-адресах в ответ на запросы
Рекурсивный DNS-сервис. Обычно клиенты не отправляют запросы напрямую к авторитативным DNS-сервисам. Вместо этого они взаимодействуют с другим DNS-сервисом, который называется преобразователь имен или рекурсивный DNS-сервис. Рекурсивный DNS-сервис похож на управляющего в отеле: сам он не хранит записи DNS, но действует в качестве посредника, который может достать нужную информацию для вас. Если рекурсивный DNS-сервис хранит информацию в
Что такое DNS-сервер и для чего он нужен?
480 auto
Если спросить среднего пользователя интернета, что такое сайт, скорее всего, он назовёт, например, yandex.ru, mail.
В практическом смысле этого вполне достаточно: нашёл интересный сайт, сообщил знакомым его доменное имя (или проще, «адрес»).
Однако настоящим адресом доменное имя не является. Ну это примерно так же, как отправить письмо с надписью на конверте: «город Екатеринбург, Петру Иванову». Здесь дело даже не в том, что Петров Ивановых в Екатеринбурге может быть несколько (представим, что человек с таким именем там единственный). Проблема в том, что адресат может перемещаться, минимум, по городу, и вручить ему письмо будет крайне проблематично.
Но письма-то доставляют и получают! — Да, конечно. Потому что они отправляют по почтовым адресам. Например, «город Ленинград, 3-я улица Строителей, дом 25, квартира 12».
Почтовым адресом в интернете является IP-адрес, состоящий из четырёх чисел от 0 до 255, например, 74.125.131.100. Это — один из IP-адресов сайта google.com. Если в адресной строке вашего браузера ввести эти числа, вы окажетесь на портале google. com, точнее, на google.ru, куда вас автоматически перенаправят.
Почему «один из адресов», и какого типа бывают IP-адреса, пока оставим в стороне.
В интернете IP-адрес задаёт, на какой компьютер нужно доставить данные.
Вам что-то напоминает IP-адрес? — Мне он напоминает длинный номер мобильного телефона.
Телефонная книга
К сожалению, запоминать длинные телефонные номера непросто. Мы их вносим в свои записные книжки («контакты», по-мобильнофонному) и добавляем к ним понятные имена, например,
Пётр Иванов, +7-343-123-45-67.
В дальнейшем нам не потребуется помнить сам телефонный номер Петра, достаточно того, что этот номер записан в нашу телефонную книгу. Когда нам будет нужно позвонить Петру, мы найдём его в списке наших контактов даже не взглянув на его номер.
В интернете роль телефонной книги играет система доменных имён (DNS, Domain Name System). В ней хранится связь между относительно легко запоминаемым названием сайта и его трудно запоминаемым числовым адресом.
Правда, есть одно существенное отличие этой «интернет-книги» от телефонной. — Её ведёт не каждый знакомый Петра Иванова в отдельности, а он сам.
В частной телефонной книге можно написать: «Петя», «Пётр», «Петруша», «Петруха», «Петруня», «любимый», …, а в «телефонной интернет-книге» записи ведут сами владельцы сайтов, например:
Название домена | Адрес |
pyotr-ivanov.ru | 123.123.123.123 |
Если кто-то пожелает посетить сайт Петра Иванова, в адресной строке браузера он наберёт: pyotr-ivanov.ru, а система доменных имён сообщит браузеру (точнее, компьютеру, на котором работает браузер), соответствующий IP-адрес, в нашем примере: 123.123.123.123. Компьютер, который находится по этому адресу, обработает запрос браузера и пришлёт ему данные, для отображения запрошенной страницы веб-сайта.
Теперь понятно, как используются доменные имена? — Однако ещё не рассказано, где хранятся записи о связях между доменными именами сайтов и IP-адресами компьютеров, на которых эти сайты размещены.
DNS-сервер
Он-то и служит телефонной книгой. Он хранит информацию о том, какому IP-адресу соответствует то или иное доменное имя. В интернете DNS-серверов очень много. У них двойная роль:
- главная — «телефонная интернет-книга»;
- дополнительная (но тоже важная) — кэширование записей других DNS-серверов.
Сначала несколько слов о кэшировании. Выяснять связь между названием сайта и его IP-адресом требуется при каждом обращении к этому веб-сайту. Если сайт, который вы хотите посетить, находится достаточно далеко, многочисленные запросы к далёкому первичному DNS-серверу могут отнять много времени и замедлить загрузку веб-страниц. Чтобы избежать задержек, ближайший к вашему компьютеру DNS-сервер (обычно находящийся у вашего интернет-провайдера), сохраняет сведения о ранее запрошенных IP-адресах, и при повторном обращении к тому же сайту он сообщит его адрес очень быстро, так как будет хранить его в своём кэше.
Но чтобы что-то кэшировать, нужно иметь источник кэшируемого. Таким источником служат первичные DNS-сервера, хранящие изначальные связи между доменами и их IP-адресами.
Для регистрации доменного имени достаточно его придумать. Но для того, чтобы оно начало «работать», вы должны сообщить регистратору доменное имя DNS-сервера, который будет хранить подробные данные о регистрируемом вами домене. Об этих данных будет сказано чуть позже.
Обычно используют два DNS-сервера: первичный и вторичный. Но их может быть и больше. Большее число DNS-серверов повышает надёжность доступа к вашему домену: если один окажется недоступен, ответит другой.
В реальном мире двух — вполне достаточно.
Многие регистраторы доменных имён и просто интернет-провайдеры предлагают использовать свои DNS-серверы в режиме платной услуги.
Хорошая новость: в облаке 1cloud услугу DNS-хостинга можно получить бесплатно! Достаточно быть клиентом этого публичного облака.
DNS-зона
Для дальнейшего понимания системы доменных имён нужно узнать, что такое DNS-зона.
Дело в том, что мы рассмотрели только один из вариантов связи между доменным именем и IP-адресом: один домен – один сайт – один адрес. Однако с конкретным доменным именем может быть связан не только веб-сайт, но и, например, почтовый сервер. И у них могут быть разные адреса.
Одному и тому же домену может соответствовать веб-сайт или почтовый сервер с несколькими IP-адресами, каждый. Их используют для повышения надёжности и производительности сайта или почтовой системы.
А ещё нужно вспомнить о возможных поддоменах, например,
mail.company.ru, ftp.company.ru, sklad.company.ru, …
Все необходимые связи между доменным именем и IP-адресами отражаются в специальном файле, расположенном на DNS-сервере. Содержимое этого файла называется описанием DNS-зоны, или просто DNS-зоной.
В ней могут присутствовать записи разных типов.
Тип записи | Пояснение |
A | Адрес «сайта» соответствующего доменного имени |
MX | Адрес почтового сервера в соответствующем домене |
CNAME | Синоним описываемого домена. Например, здесь можно указать, что доменное имя www.company.ru является синонимом доменного имени company.ru, и запросы по этому синониму будут перенаправляться на адрес основного доменного имени |
NS | Здесь указывается доменные имена DNS-серверов, обслуживающих описываемый домен. Например, ns1.1cloud.ru и ns2.1cloud.ru |
TXT | Любое текстовое примечание |
Это — не полный перечень возможных типов полей. Он был сокращён для упрощения ознакомительного изложения.
Дополнение
Как в любом деле, в правильном описании доменного имени есть свои детали и нюансы. В этой статье они опущены, чтобы не усложнять начальное знакомство с темой. Однако для общего кругозора уже сейчас следует добавить несколько важных фактов.
- Выше была описана адресация по стандарту IPv4. Адрес в нём состоит из четырёх чисел. Такая адресация имеет ограничение числа обслуживаемых компьютеров: 4 294 967 296. Это много, но при нынешнем числе устройств, подключенных к интернету адресов стало не хватать.
Для преодоления этого объективного лимита ввели новый стандарт: IPv6, по которому длина адреса увеличилась, и стало возможным адресовать намного, намного больше компьютеров. В DNS-зоне тип записи для такого адреса обозначается: AAAA. - Одному домену могут соответствовать несколько IP-адресов.
Обычно такое назначение делается для повышения надёжности или быстродействия. Порядок выдачи IP-адреса из списка на запрос по доменному имени зависит от настроек DNS-сервера. Чаще всего адрес выдаётся в случайном порядке. - Одному IP-адресу может соответствовать несколько доменов.
Строго говоря, это противоречит логике системы доменных имён, которая предполагает однозначную связь IP-адреса с соответствующим доменом. Однако, как было сказано ранее, 4-числовой IP-адрес стал дефицитным ресурсом, который уже достаточно давно стараются экономить.
На практике такая экономия может выглядеть следующим образом. На компьютере размещают несколько не очень больших веб-сайтов с разными доменными именами, которым присвоен одинаковый IP-адрес. Веб-сервер, работающий на этом компьютере и обслуживающий эти сайты, получив запрос, анализирует домен, в который он пришёл, и направляет его на правильный сайт.
Такая практика не позволяет обеспечить однозначность обратной связи IP-адреса с доменным именем, ведь в этом случае их несколько. Но позволяет экономить IP-адреса.
Заключение
Изложенный порядок на первый взгляд может показаться сложным. Однако он позволяет:
- пользоваться доменными именами, которые запоминаются легче, чем числовые адреса;
- повышать надёжность доступа к интернет-ресурсам путём использования для них нескольких компьютеров, разнесённых по сети;
- увеличивать производительность интернет-ресурсов за счёт распределения нагрузки внутри группы обеспечивающих компьютеров;
- перемещать прикладные компьютеры по интернету, не меняя их доменного адреса.
С учётом изложенного в этой статье, определим DNS кратко так.
DNS (Domain Name System) — это система доменных имён, которая связывает названия доменов с IP-адресами компьютеров, соответствующих этим доменам. Эта система включает в себя как регламентирующие документы, так множество DNS-серверов, работающих в интернете и сообщающих IP-адреса в ответ на запрос по доменным именам.
P.S. Еще немного материалов по теме DNS:
Что такое DNS сервер и для чего он нужен | Что такое DNS простыми словами | REG.RU
В статье мы расскажем про DNS сервер — опишем, что это такое простыми словами, дадим определение, а также разберем принципы работы DNS-системы.
DNS — что такое и для чего используется
DNS сервера ― что это
Интернет — это бесчисленное количество физических устройств (серверов, компьютеров, планшетов и т.д.), связанных между собой в сеть. Любой сайт в Интернете по факту находится на физическом устройстве. Каждое устройство имеет свой уникальный номер — IP-адрес вида 123.123.123.123.
Чтобы попасть на сайт, нужно знать IP-адрес устройства, на котором расположен этот сайт. А теперь представьте, сколько сайтов в день вы посещаете и сколько цифр вам пришлось бы запомнить. Конечно, это нереально. Поэтому для удобства работы в Интернете в 80-х годах была создана система доменных имен — DNS (Domain Name System). Смысл её в том, что каждому цифровому IP-адресу присваивается понятное буквенное имя (домен). Например, IP-адресу сервера 194.58.116.30 соответствует домен reg.ru. Когда вы вводите в браузере доменное имя, сервера DNS автоматически преобразуют его в IP-адрес. Домен за доли секунды переводится в IP DNS-системой и вы попадаете на нужный сайт.
Для чего нужны DNS-серверы
Служба доменных имён работает благодаря DNS-cерверам. Именно эти жизненно важные «программы» хранят таблицы соответствий вида «имя домена» — «IP-адрес». Кроме того, DNS-серверы служат для хранения ресурсных записей доменов. Что это и как работает мы рассказали в статье Что такое ресурсные записи. В Интернете огромное количество DNS-серверов и каждый выполняет свою функцию в общей системе. Служба Domain Name System необходима для того, чтобы мы могли без проблем находить свои любимые сайты, не запоминая вереницы цифр.
Итак, вы вводите название сайта в адресную строку и нажимаете Enter. В те самые секунды, перед тем как сайт отобразится на вашем экране, DNS-серверы работают, не щадя себя. Посмотрим, что делают DNS-серверы. Следите за стрелочками.
DNS переводит имя домена в IP-адрес: как это работает
-
1.
Когда вы вводите в строке браузера доменное имя, например, FAQ-REG.RU, браузер ищет на вашем локальном компьютере файл hosts. В нём задаётся соответствие домена IP-адресу. Допустим, в этом файлe есть запись для введённого домена. Что это значит? Что сайт откроется сразу (стрелка 9). Если же записи нет, браузер сформирует DNS-запрос к интернет-провайдеру (стрелка 1), чтобы тот нашёл IP-адрес домена.
-
2.
У каждого интернет-провайдера есть локальные (кеширующие) DNS-серверы. После получения запроса провайдер ищет в своём кеше запись о соответствии требуемого домена IP-адресу. Если такая запись есть, браузер получит IP-адрес (стрелка 8). По этому адресу браузер обратится к хостингу, на котором расположен сайт, и пользователю откроется нужная страница (стрелка 9). Если запись отсутствует, провайдер перенаправит DNS-запрос на корневые DNS-серверы (стрелка 2).
-
3.
Корневые DNS-серверы хранят информацию только о DNS-серверах, ответственных за доменные зоны. Корневой DNS-сервер не может предоставить провайдеру информацию об IP-адресе домена FAQ-REG. RU. Зато он отправит IP-адрес DNS-сервера доменной зоны, в данном случае зоны .RU (стрелка 3).
-
4.
Теперь у интернет-провайдера есть IP-адрес DNS сервера доменной зоны .RU. Поэтому он обращается к этому DNS-серверу и запрашивает IP-адрес домена (стрелка 4).
-
5.
DNS-серверы зоны .RU хранят только информацию о DNS-серверах всех доменов в этой зоне, а не их IP-адреса. Поэтому DNS-серверы зоны подскажут Интернет-провайдеру IP-адрес DNS-сервера домена FAQ-REG.RU (стрелка 5).
-
6.
Интернет-провайдер получил IP-адрес DNS-сервера домена FAQ-REG.RU. Он обращается к DNS-серверу домена (например, к ns1.hosting. reg.ru) с запросом IP-адреса домена (стрелка 6).
-
7.
После получения запроса DNS-сервер сначала проверяет, есть ли у него информация о домене FAQ-REG.RU и искомый IP-адрес для него. В случае успеха DNS-сервер отправит IP-адрес домена интернет-провайдеру (стрелка 7).
-
8.
Интернет-провайдер получает IP-адрес домена и сохраняет его у себя в кеше. После этого он отправит браузеру результат DNS-запроса — IP-адрес домена FAQ-REG.RU (стрелка 8).
-
9.
Браузер обращается к хостингу по полученному IP-адресу (стрелка 9). Теперь пользователю открывается запрашиваемый сайт FAQ-REG.RU.
Где находятся DNS-серверы
Основой DNS-системы являются корневые серверы. Их всего 13. Они принадлежат разным операторам и находятся в Северной Америке. Чтобы повысить устойчивость системы, были созданы копии основных серверов в разных странах. Таким образом, корневых серверов стало 123. Каждой копии присваивается тот же IP DNS-сервера, что и у главного устройства.
DNS-серверы расположены согласно интенсивности использования интернет-инфраструктуры. Больше всего серверов всё равно находится в Северной Америке, но копии сервера есть и в России, Европе, Австралии, Китае, Бразилии, ОАЭ и других странах, включая Исландию.
В России реплики корневых серверов DNS находятся в Москве, Санкт-Петербурге, Новосибирске, Ростове-на-Дону, Екатеринбурге.
Зачем прописывать DNS-серверы для домена
Допустим, вы зарегистрировали домен. Пока никто, кроме вас, об этом не знает. Чтобы о существовании вашего домена узнал Интернет, нужно выбрать и прописать для домена DNS-серверы. Они-то и расскажут другим DNS-серверам Интернета о вашем домене. Так что запоминаем: зарегистрировал домен — пропиши DNS-серверы!
Прописывают DNS-серверы чаще всего парами. Один из DNS является первичным, а остальные серверы, которых может быть от 1 до 12 для каждого домена, называются вторичными. Это делается для лучшей отказоустойчивости: если выйдет из строя первичный DNS-сервер, домен и сайт продолжат свою работу благодаря вторичным.
Почему домены начинают работать не сразу
DNS-серверы интернет-провайдера обновляются раз в сутки (принцип работы DNS-серверов). Если вы только что прописали или сменили DNS-серверы, придётся подождать 24 часа. Смена DNS-сервера чревата временным отсутствием работающего сайта. После обновления DNS сайт станет доступен. Если сайт не работает — в помощь вам инструкция: Прописал DNS-серверы, но сайт недоступен.
Если вы зарегистрировали домен, но ещё не создали на нём сайт, после обновления DNS-серверов на вашем домене будет открываться парковочная страница с надписью «Домен надёжно припаркован». Если вы хотите создать на домене сайт, вам поможет статья: Я зарегистрировал домен, что дальше?
Быстрый стартПолучите все необходимые инструменты для быстрого запуска бизнеса в Интернете. В пакет «Быстрый старт» входят домен в зоне .RU, производительный хостинг и SSL-сертификат.
Подробнее Помогла ли вам статья?1977 раз уже помогла
Как работает DNS (domain name system)?
Что такое DNSDNS (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). Прочитав статью узнаете, как это всё работает.
Само имя хоста не даст никакой информации о нахождении конкретной машины, с которой вы собираетесь связаться, поскольку все соединения происходят по IP-адресам.
Сервер доменных имён — это устройство, которое сопоставляет имя хоста с IP-адресом конкретной машины/железа.
В этой статье будет рассказано о деталях различных DNS-запросов, типах DNS-серверов и о разновидностях DNS-записей.
DNS-резолвер
Это компьютеры, которые провайдеры используют для поиска в их базе данных конкретного узла, запрашиваемого пользователем. Когда данные получены, пользователь перенаправляется на соответствующий IP-адрес. Резолверы играют крайне важную роль в DNS.
DNS-резолвер кэширует информацию. К примеру, сайт example.com
расположен на машине с IP-адресом 35.195.226.230
. Поэтому кэши резолверов со всего мира будут содержать следующее соответствие: example.com
→35.195.226.230
.
Считается, что в будущем сайт может переместиться на любой другой хост с другим IP, скажем, 35.192.247.235
. Кэши DNS-резолверов по всему миру некоторое время будут хранить прежний IP-адрес. Это может привести к недоступности сайта, пока изменения не дойдут до всех DNS.
Время, в течение которого запись хранится в резолвере, называется TTL (time to live).
Его можно установить в панели управления сервиса, на котором приобретался домен.
Типы DNS-серверов
Корневой DNS-сервер
Это DNS-сервер, который хранит в себе адреса всех TLD-серверов (TLD — top-level domain, домен верхнего уровня). По пути от имени хоста до IP-адреса запрос сначала попадает на корневой DNS-сервер.
Существует 13 корневых DNS-серверов:
Организации, управляющие корневыми DNS-серверами
Это не означает, что существует только 13 машин, которые обрабатывают все запросы со всего мира — существуют и второстепенные серверы, по которым распределяется трафик.
TLD-серверы
Эти серверы связаны с доменами верхнего уровня (TLD). Обычно они идут после корневых DNS-серверов. В TLD-серверах содержится информация о домене верхнего уровня конкретного хоста.
Скажем, если вы запросите IP-адрес хоста tproger.ru
, то будет опрашиваться тот TLD-сервер, который соответствует домену .ru
. TLD-сервер возвращает адрес авторитативного DNS-сервера для резолвера.
Теперь возникает вопрос — откуда TLD-серверы знают адрес авторитативных серверов? Ответ прост — после того, как вы покупаете любой домен у регистраторов вроде Godaddy или Namecheap, регистраторы привязывают авторитативные серверы к TLD-серверу.
Сейчас некоторые провайдеры предоставляют возможность использовать сторонние авторитативные серверы. Вы можете выбрать конкретный авторитативный сервер имён у регистратора.
Авторитативный DNS-сервер
Запрос на эти серверы поступает в самую последнюю очередь. Эти серверы хранят фактические записи типа A, NS, CNAME, TXT, и т. п.
Авторитативные DNS-серверы по возможности возвращают IP-адреса хостов. Если сервер этого сделать не может — он выдаёт ошибку, и на этом поиск IP-адреса по серверам заканчивается.
Типы DNS-запросов
Существует 3 типа DNS-запросов:
- Рекурсивный: подобные запросы выполняют пользователи к резолверу. Собственно, это первый запрос, который выполняется в процессе DNS-поиска. Резолвером чаще всего выступает ваш интернет провайдер или сетевой администратор.
- Нерекурсивные: в нерекурсивных запросах резолвер сразу возвращает ответ без каких-либо дополнительных запросов на другие сервера имён. Это случается, если в локальном DNS-сервере закэширован необходимый IP-адрес либо если запросы поступают напрямую на авторитативные серверы, что позволяет избежать рекурсивных запросов.
- Итеративный: итеративные запросы выполняются, когда резолвер не может вернуть ответ, потому что он не закэширован. Поэтому он выполняет запрос на корневой DNS-сервер. А тот уже знает, где найти фактический TLD-сервер.
К примеру, если вы пытаетесь получить IP-адрес medium.com, то корневой доменный сервер выдаст адрес TLD-сервера для .com
. Этот адрес корневой сервер вернёт резолверу. После этого резолвер опросит TLD-сервер. TLD-сервер может не знать нужный IP-адрес, зато он может дать адрес авторитативного DNS-сервера для medium.com
.
Попробуем рассмотреть этот процесс на рисунке:
Разберём рисунок выше:
- Пользователь выполняет запрос к резолверу для поиска IP-адреса. Это рекурсивный запрос.
- Резолвер по возможности просматривает свой кэш на наличие необходимого IP-адреса.
- Если у резолвера есть необходимый IP-адрес, то он возвращает его.
- В противном случае резолвер выполняет итеративный запрос на корневой DNS-сервер. Корневой DNS-сервер ищет нужный TLD для запрашиваемого адреса. К примеру, если хост —
medium.com
, то TLD —.com
. Корневой DNS-сервер находит адрес .com-домена и возвращает ответ резолверу. - Теперь резолвер выполняет итеративный запрос на TLD-сервер, чтобы получить необходимый IP-адрес. TLD-сервер возвращает адрес авторитативного сервера для запрашиваемого хоста.
- Авторитативный сервер хранит фактические записи сопоставления имени хоста с IP-адресом, который возвращается резолверу (тот, в свою очередь, возвращает его пользователю).
- Если на авторитативном сервере нужной записи не существует, то возвращается ошибка «
DNS_PROBE_FINISHED_NXDOMAIN
». - Для всех серверов, через которые проходит запрос, результат кэшируется, и в случае повторного запроса результат уже будет на сервере.
- В среднем для DNS-поиска потребуется около 4 запросов, но время этого поиска будет составлять всего несколько миллисекунд.
Что в итоге?
Даже если вы измените запись у регистраторов, внесение изменений на резолверах всего мира займёт какое-то время. Этот процесс может длиться от 24 до 72 часов, но обычно завершается быстрее, т. к. за это время TTL-записи у провайдеров успевает истечь.
Перевод статьи «An introduction to the Domain Name System»
Александр Ланский
Что такое DNS: гайд по технологии
Чтобы попасть на нужный сайт в интернете, мы вбиваем в строку браузера его доменное имя. Например, если набрать mcs.mail.ru, вы попадете на сайт нашей облачной платформы. Но доменное имя сайта — не его настоящий адрес. На самом деле адрес сайта состоит из чисел и называется IP-адресом.
Вам не нужно знать его, чтобы открыть нужную интернет-страницу, потому что работает DNS. Давайте разберем принцип работы DNS и посмотрим, что это за технология.
DNS — что это такое?
Служба доменных имен (DNS, domain name system) — это стандартный протокол, который позволяет пользователям получать доступ к веб-сайтам, используя удобочитаемые адреса. Как телефонная книга позволяет найти имя контакта и узнать его телефонный номер, так и DNS позволяет ввести адрес веб-сайта и автоматически определить его IP-адрес, то есть уникальный идентификатор конкретного устройства (сервера) в компьютерной сети.
Без DNS рухнул бы интернет — люди не могли бы получить доступ к интернет-серверам через понятные URL-адреса, то есть ссылки. Чтобы попасть на конкретный сайт, пришлось бы запоминать и вводить последовательность чисел IP-адреса, которая, к тому же, иногда меняется, в отличие от URL. То есть служба Domain Name System необходима для сопоставления понятных людям имен сайтов с числами, понятными компьютерам.
Например, доменное имя сайта mcs.mail.ru преобразуется в IP-адрес 95.163.254.192 — это 32-битный формат IPv4. Также IP-адреса могут быть в другом формате, например: 2002: 6814: 30b6: 0: 0: 0: 0: 0 — это более новый 128-битный формат IPv6.
Протокол DNS позволяет нескольким доменным именам соответствовать одному IP-адресу — это можно использовать для виртуального хостинга, когда несколько сайтов обслуживаются с одного хоста. Также одному доменному имени может соответствовать множество IP-адресов, чтобы распределить нагрузку на несколько серверов.
Каждый раз когда вы подключаетесь к локальной сети, интернет-провайдеру или Wi-Fi, модем или роутер шлет конфигурацию сети на ваше устройство, включая адреса одного или нескольких DNS-серверов.
Что такое DNS-серверы
Это серверы, которые хранят информацию о том, какому IP-адресу какое доменное имя соответствует — что-то вроде физической телефонной книги, только вместо имени и номера телефона там записаны доменные имена и IP-адреса. В интернете таких серверов много.
Предположим, что вы или кто-то другой захотели разместить свой сайт в интернете. Сначала надо придумать и зарегистрировать доменное имя (коротко — домен). Но для работы сайта этого недостаточно: регистратору также нужно доменное имя DNS-сервера, на котором будет храниться информация о вашем домене и его IP-адресе. Этот DNS-сервер станет полномочным сервером имен для вашего сайта и первичным источником данных о его адресе для DNS-системы, где «записывается» путь к нему.
Часто регистраторы доменных имен и интернет-провайдеры предлагают использовать свои DNS-серверы за определенную плату (услуга DNS-хостинга). Также эту услугу можно получить в облаке, если разместить там свой сайт, приложение или другой сервис.
Из чего состоит служба DNS и какова роль DNS-серверов
Назначение DNS-серверов не только в хранении информации о соответствии IP-адресов и доменных имен. Они также могут кэшировать (то есть сохранять) IP-адреса, запрошенные пользователем ранее.
Например: сайт, который вы посещаете, географически расположен далеко от вас. И где-то есть такой же удаленный от вас DNS-сервер, на котором хранится информация о доменном имени и IP-адресе этого сайта, его полномочный сервер имен. Если все время обращаться за этим IP-адресом к удаленному DNS-серверу, загрузка сайта будет занимать много времени. Чтобы решить такую проблему, информацию о часто посещаемых сайтах сохраняет ближайший к вашему компьютеру DNS-сервер, как правило, он находится у вашего интернет-провайдера. В результате другие пользователи, которые обращаются к этому же адресу через этот же DNS-сервер, будут получать IP-адрес уже из его кэша, это гораздо быстрее.
То есть запрос, который вы вводите в строку браузера, сначала отправляется на ближайший DNS-сервер. Если в кэше нужного IP-адреса нет, он перенаправляет запрос дальше — к вышестоящим DNS-серверам. Они передают запрос, пока он не попадет на первичный DNS-сервер сайта, где хранится нужный IP-адрес.
Возврат IP-адреса хоста в ответ на запрос доменного имени называют преобразованием его доменного имени в IP-адрес. Когда все работает хорошо, этот процесс происходит менее чем за секунду.
Информация об IP-адресах тех сайтов, куда вы заходили, может храниться не только на ближайшем DNS-сервере, но и в кэше вашего браузера или операционной системы. Это позволяет быстрее получать ответ на запрос.
По мере роста интернета первоначальный стандарт IP-адресов — протокол IPv4, который допускает только до 4,3 миллиарда IP-адресов, заменяется на протокол IPv6, который поддерживает до 3.4×1038 IP-адресов. DNS-серверы все чаще возвращают IP-адреса в формате IPv6.
Как работает DNS: посмотрим, что происходит с вашим запросом
Дальше мы немного углубимся в детали. Давайте представим, что вы ввели в браузер запрос mcs.mail.ru/cloud-servers. Этот адрес состоит из нескольких частей, с каждой из которых происходит отдельная история:
- .ru — имя домена верхнего уровня;
- mail.ru — доменное имя;
- mcs.mail.ru — поддомен;
- /cloud-servers — страница на поддомене.
Посмотрим, какой путь этот запрос может пройти.
- Сначала браузер смотрит, нет ли нужного соответствия в его кэше. Если нет — смотрится кэш операционной системы. Если нет и там — придется обращаться к DNS-серверу.
- Сначала запрос попадает на ближайший DNS-сервер. Если в его кэше также нет нужной информации, этот DNS-сервер последовательно обращается к вышестоящим DNS-серверам.
- Первым ближайший DNS-сервер обращается на корневой сервер DNS — это сервер, который знает, где хранятся данные для имен доменов верхнего уровня: ru, com и других. У него он узнает адрес сервера имен домена верхнего уровня, на котором хранятся данные о .ru.
- Теперь наш ближайший DNS-сервер запрашивает у сервера имен домена верхнего уровня .ru информацию о том, где искать данные о доменном имени сайта — в нашем случае mail.ru: то есть получает адрес его полномочного сервера имен.
- Наконец, наш ближайший DNS-сервер узнает у первичного сервера адрес домена и поддомена сайта, в нашем случае mcs.mail.ru. Этот первичный DNS-сервер знает нужный IP-адрес и отдает его.
- Наконец, страницу на поддомене (в нашем случае …/cloud-servers) можно найти уже на самом сервере, который нашелся по IP-адресу, соответствующему доменному имени.
В итоге браузер получил ответ, пользователь видит веб-страницу. Теперь основная задача DNS-сервера выполнена.
DNS — это… Что такое DNS?
У этого термина существуют и другие значения, см. DNS (значения).Название: | Domain Name System |
---|---|
Уровень (по модели OSI): | Прикладной |
Семейство: | TCP/IP |
Порт/ID: | 53/TCP, 53/UDP |
Назначение протокола: | Разрешение доменных имён |
Спецификация: | RFC 1034, RFC 1035 / STD 13 |
Основные реализации (клиенты): | Встроен во все сетевые ОС |
Основные реализации (серверы): | BIND, PowerDNS или Microsoft DNS Server |
DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).
Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу.
Основой DNS является представление об иерархической структуре доменного имени и зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени.
Начиная с 2010 года, в систему DNS внедряются средства проверки целостности передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые данные не шифруются, но их достоверность проверяется криптографическими способами. Внедряемый стандарт DANE обеспечивает передачу средствами DNS достоверной криптографической информации (сертификатов), используемых для установления безопасных и защищённых соединений транспортного и прикладного уровней.
Ключевые характеристики DNS
DNS обладает следующими характеристиками:
- Распределённость администрирования. Ответственность за разные части иерархической структуры несут разные люди или организации.
- Распределённость хранения информации. Каждый узел сети в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности и (возможно) адреса корневых DNS-серверов.
- Кеширование информации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.
- Иерархическая структура, в которой все узлы объединены в дерево, и каждый узел может или самостоятельно определять работу нижестоящих узлов, или делегировать (передавать) их другим узлам.
- Резервирование. За хранение и обслуживание своих узлов (зон) отвечают (обычно) несколько серверов, разделённые как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из узлов.
DNS важна для работы Интернета, так как для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP-серверы, различая их по имени запроса. Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла hosts, который составлялся централизованно и автоматически рассылался на каждую из машин в своей локальной сети. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS.
DNS была разработана Полом Мокапетрисом в 1983 году; оригинальное описание механизмов работы содержится в RFC 882 и RFC 883. В 1987 публикация RFC 1034 и RFC 1035 изменила спецификацию DNS и отменила RFC 882, RFC 883 и RFC 973 как устаревшие.
Дополнительные возможности
- поддержка динамических обновлений
- защита данных (DNSSEC) и транзакций (TSIG)
- поддержка различных типов информации
Терминология и принципы работы
Ключевыми понятиями DNS являются:
- Доме́н (англ. domain — область) — узел в дереве имён, вместе со всеми подчинёнными ему узлами (если таковые имеются), то есть именованная ветвь или поддерево в дереве имен. Структура доменного имени отражает порядок следования узлов в иерархии; доменное имя читается слева направо от младших доменов к доменам высшего уровня (в порядке повышения значимости), корневым доменом всей системы является точка (‘.’), ниже идут домены первого уровня (географические или тематические), затем — домены второго уровня, третьего и т. д. (например, для адреса ru.wikipedia.org домен первого уровня — org, второго wikipedia, третьего ru). На практике точку в конце имени часто опускают, но она бывает важна в случаях разделения между относительными доменами и FQDN (англ. Fully Qualifed Domain Name, полностью определённое имя домена).
- Поддомен (англ. subdomain) — подчинённый домен (например, wikipedia.org — поддомен домена org, а ru.wikipedia.org — домена wikipedia.org). Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения. Например, если у вас есть домен вида mydomain.ru, вы можете создать для него различные поддомены вида mysite1.mydomain.ru, mysite2.mydomain.ru и т. д.
- Ресурсная запись — единица хранения и передачи информации в DNS. Каждая ресурсная запись имеет имя (то есть привязана к определенному Доменному имени, узлу в дереве имен), тип и поле данных, формат и содержание которого зависит от типа.
- Зона — часть дерева доменных имен (включая ресурсные записи), размещаемая как единое целое на некотором сервере доменных имен (DNS-сервере, см. ниже), а чаще — одновременно на нескольких серверах (см. ниже). Целью выделения части дерева в отдельную зону является передача ответственности (см. ниже) за соответствующий домен другому лицу или организации. Это называется делегированием (см. ниже). Как связная часть дерева, зона внутри тоже представляет собой дерево. Если рассматривать пространство имен DNS как структуру из зон, а не отдельных узлов/имен, тоже получается дерево; оправданно говорить о родительских и дочерних зонах, о старших и подчиненных. На практике, большинство зон 0-го и 1-го уровня (‘.’, ru, com, …) состоят из единственного узла, которому непосредственно подчиняются дочерние зоны. В больших корпоративных доменах (2-го и более уровней) иногда встречается образование дополнительных подчиненных уровней без выделения их в дочерние зоны.
- Делегирование — операция передачи ответственности за часть дерева доменных имен другому лицу или организации. За счет делегирования в DNS обеспечивается распределенность администрирования и хранения. Технически делегирование выражается в выделении этой части дерева в отдельную зону, и размещении этой зоны на DNS-сервере (см. ниже), управляемом этим лицом или организацией. При этом в родительскую зону включаются «склеивающие» ресурсные записи (NS и А), содержащие указатели на DNS-сервера дочерней зоны, а вся остальная информация, относящаяся к дочерней зоне, хранится уже на DNS-серверах дочерней зоны.
- DNS-сервер — специализированное ПО для обслуживания DNS, а также компьютер, на котором это ПО выполняется. DNS-сервер может быть ответственным за некоторые зоны и/или может перенаправлять запросы вышестоящим серверам.
- DNS-клиент — специализированная библиотека (или программа) для работы с DNS. В ряде случаев DNS-сервер выступает в роли DNS-клиента.
- Авторитетность (англ. authoritative) — признак размещения зоны на DNS-сервере. Ответы DNS-сервера могут быть двух типов: авторитетные (когда сервер заявляет, что сам отвечает за зону) и неавторитетные (англ. Non-authoritative), когда сервер обрабатывает запрос, и возвращает ответ других серверов. В некоторых случаях вместо передачи запроса дальше DNS-сервер может вернуть уже известное ему (по запросам ранее) значение (режим кеширования).
- DNS-запрос (англ. DNS query) — запрос от клиента (или сервера) серверу. Запрос может быть рекурсивным или нерекурсивным (см. Рекурсия).
Система DNS содержит иерархию DNS-серверов, соответствующую иерархии зон. Каждая зона поддерживается как минимум одним авторитетным сервером DNS (от англ. authoritative — авторитетный), на котором расположена информация о домене.
Имя и IP-адрес не тождественны — один IP-адрес может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество IP-адресов: это позволяет создавать балансировку нагрузки.
Для повышения устойчивости системы используется множество серверов, содержащих идентичную информацию, а в протоколе есть средства, позволяющие поддерживать синхронность информации, расположенной на разных серверах. Существует 13 корневых серверов, их адреса практически не изменяются.[1]
Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDP датаграммы. TCP используется для AXFR-запросов.
Рекурсия
Термином Рекурсия в DNS обозначают алгоритм поведения DNS-сервера, при котором сервер выполняет от имени клиента полный поиск нужной информации во всей системе DNS, при необходимости обращаясь к другим DNS-серверам.
DNS-запрос может быть рекурсивным — требующим полного поиска, — и нерекурсивным (или итеративным) — не требующим полного поиска.
Аналогично, DNS-сервер может быть рекурсивным (умеющим выполнять полный поиск) и нерекурсивным (не умеющим выполнять полный поиск). Некоторые программы DNS-серверов, например, BIND, можно сконфигурировать так, чтобы запросы одних клиентов выполнялись рекурсивно, а запросы других — нерекурсивно.
При ответе на нерекурсивный запрос, а также — при неумении или запрете выполнять рекурсивные запросы, — DNS-сервер либо возвращает данные о зоне, за которую он ответствен, либо возвращает адреса серверов, которые обладают большим объёмом информации о запрошенной зоне, чем отвечающий сервер, чаще всего — адреса корневых серверов.
В случае рекурсивного запроса DNS-сервер опрашивает серверы (в порядке убывания уровня зон в имени), пока не найдёт ответ или не обнаружит, что домен не существует. (На практике поиск начинается с наиболее близких к искомому DNS-серверов, если информация о них есть в кэше и не устарела, сервер может не запрашивать другие DNS-серверы.)
Рассмотрим на примере работу всей системы.
Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org»? Однако, сервер DNS может ничего не знать не только о запрошенном имени, но даже обо всём домене wikipedia.org. В этом случае сервер обращается к корневому серверу — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону org.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 является ответственным за зону wikipedia.org.» Наконец, тот же запрос отправляется к третьему DNS-серверу и получает ответ — IP-адрес, который и передаётся клиенту — браузеру.
В данном случае при разрешении имени, то есть в процессе поиска IP по имени:
- браузер отправил известному ему DNS-серверу рекурсивный запрос — в ответ на такой тип запроса сервер обязан вернуть «готовый результат», то есть IP-адрес, либо пустой ответ и код ошибки NXDOMAIN;
- DNS-сервер, получивший запрос от браузера, последовательно отправлял нерекурсивные запросы, на которые получал от других DNS-серверов ответы, пока не получил ответ от сервера, ответственного за запрошенную зону;
- остальные упоминавшиеся DNS-серверы обрабатывали запросы нерекурсивно (и, скорее всего, не стали бы обрабатывать запросы рекурсивно, даже если бы такое требование стояло в запросе).
Иногда допускается, чтобы запрошенный сервер передавал рекурсивный запрос «вышестоящему» DNS-серверу и дожидался готового ответа.
При рекурсивной обработке запросов все ответы проходят через DNS-сервер, и он получает возможность кэшировать их. Повторный запрос на те же имена обычно не идет дальше кэша сервера, обращения к другим серверам не происходит вообще. Допустимое время хранения ответов в кэше приходит вместе с ответами (поле TTL ресурсной записи).
Рекурсивные запросы требуют больше ресурсов от сервера (и создают больше трафика), так что обычно принимаются от «известных» владельцу сервера узлов (например, провайдер предоставляет возможность делать рекурсивные запросы только своим клиентам, в корпоративной сети рекурсивные запросы принимаются только из локального сегмента). Нерекурсивные запросы обычно принимаются ото всех узлов сети (и содержательный ответ даётся только на запросы о зоне, которая размещена на узле, на DNS-запрос о других зонах обычно возвращаются адреса других серверов).
Обратный DNS-запрос
DNS используется в первую очередь для преобразования символьных имён в IP-адреса, но он также может выполнять обратный процесс. Для этого используются уже имеющиеся средства DNS. Дело в том, что с записью DNS могут быть сопоставлены различные данные, в том числе и какое-либо символьное имя. Существует специальный домен in-addr.arpa, записи в котором используются для преобразования IP-адресов в символьные имена. Например, для получения DNS-имени для адреса 11.22.33.44 можно запросить у DNS-сервера запись 44.33.22.11.in-addr.arpa, и тот вернёт соответствующее символьное имя. Обратный порядок записи частей IP-адреса объясняется тем, что в IP-адресах старшие биты расположены в начале, а в символьных DNS-именах старшие (находящиеся ближе к корню) части расположены в конце.
Записи DNS
Записи DNS, или Ресурсные записи (англ. Resource Records, RR) — единицы хранения и передачи информации в DNS. Каждая ресурсная запись состоит из следующих полей:
- имя (NAME) — доменное имя, к которому привязана или которому «принадлежит» данная ресурсная запись,
- TTL (Time To Live) — допустимое время хранения данной ресурсной записи в кэше неответственного DNS-сервера,
- тип (TYPE) ресурсной записи — определяет формат и назначение данной ресурсной записи,
- класс (CLASS) ресурсной записи; теоретически считается, что DNS может использоваться не только с TCP/IP, но и с другими типами сетей, код в поле класс определяет тип сети [2],
- длина поля данных (RDLEN),
- поле данных (RDATA), формат и содержание которого зависит от типа записи.
Наиболее важные типы DNS-записей:
- Запись A (address record) или запись адреса связывает имя хоста с адресом IP. Например, запрос A-записи на имя referrals.icann.org вернет его IP адрес — 192.0.34.164
- Запись AAAA (IPv6 address record) связывает имя хоста с адресом протокола IPv6. Например, запрос AAAA-записи на имя K.ROOT-SERVERS.NET вернет его IPv6 адрес — 2001:7fd::1
- Запись CNAME (canonical name record) или каноническая запись имени (псевдоним) используется для перенаправления на другое имя
- Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена.
- Запись NS (name server) указывает на DNS-сервер для данного домена.
- Запись PTR (pointer) или запись указателя связывает IP хоста с его каноническим именем. Запрос в домене in-addr.arpa на IP хоста в reverse форме вернёт имя (FQDN) данного хоста (см. Обратный DNS-запрос). Например, (на момент написания), для IP адреса 192.0.34.164: запрос записи PTR 164.34.0.192.in-addr.arpa вернет его каноническое имя referrals.icann.org. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR записи для хоста, с которого происходит отправка. В этом случае PTR запись для IP адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP сессии.
- Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, тайминги (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов.
- SRV-запись (server selection) указывает на серверы для сервисов, используется, в частности, для Jabber и Active Directory.
Зарезервированные доменные имена
Документ RFC 2606 (Reserved Top Level DNS Names — Зарезервированные имена доменов верхнего уровня) определяет названия доменов, которые следует использовать в качестве примеров (например, в документации), а также для тестирования. Кроме example.com
, example.org
и example.net
, в эту группу также входят test
, invalid
и др.
Интернациональные доменные имена
Доменное имя может состоять только из ограниченного набора ASCII символов, позволяя набрать адрес домена независимо от языка пользователя. ICANN утвердил основанную на Punycode систему IDNA, преобразующую любую строку в кодировке Unicode в допустимый DNS набор символов.
Программное обеспечение DNS
Серверы имен:
См. также
Примечания
Ссылки
Статьи
Документы RFC
- RFC 1034 — Domain Names — Concepts and Facilities
- RFC 1035 — Domain Names — Implementation and Specification
- RFC 1912 — Common DNS Operational and Configuration Errors
- RFC 1591 — Domain Name System Structure and Delegation
- RFC 1713 — Tools for DNS Debugging
- RFC 2606 — Reserved Top Level DNS Names
Что такое DNS? — Введение в DNS
DNS, или система доменных имен, преобразует удобочитаемые доменные имена (например, www.amazon.com) в машиночитаемые IP-адреса (например, 192.0.2.44).
Все компьютеры в Интернете, от вашего смартфона или ноутбука до серверов, которые обслуживают контент для крупных розничных веб-сайтов, находят друг друга и связываются друг с другом с помощью номеров.Эти номера известны как IP-адресов . Когда вы открываете веб-браузер и переходите на веб-сайт, вам не нужно запоминать и вводить длинное число. Вместо этого вы можете ввести доменное имя , например example.com, и по-прежнему оказаться в нужном месте.
Служба DNS, такая как Amazon Route 53, — это глобально распределенная служба, которая переводит удобочитаемые имена, такие как www.example.com, в числовые IP-адреса, например 192.0.2.1, которые компьютеры используют для подключения друг к другу.Система DNS в Интернете работает во многом как телефонная книга, управляя сопоставлением имен и номеров. DNS-серверы преобразуют запросы имен в IP-адреса, контролируя, к какому серверу перейдет конечный пользователь, когда он введет доменное имя в свой веб-браузер. Эти запросы называются запросами .
Авторитетный DNS: Авторитетный DNS сервис предоставляет механизм обновления, который разработчики используют для управления своими общедоступными DNS-именами.Затем он отвечает на запросы DNS, переводя доменные имена в IP-адреса, чтобы компьютеры могли взаимодействовать друг с другом. Авторитетный DNS имеет окончательную власть над доменом и отвечает за предоставление ответов рекурсивным серверам DNS с информацией об IP-адресе. Amazon Route 53 — авторитетная система DNS.
Рекурсивный DNS : Клиенты обычно не отправляют запросы напрямую авторитетным службам DNS. Вместо этого они обычно подключаются к другому типу службы DNS, известному как преобразователь или рекурсивная служба DNS .Рекурсивная служба DNS действует как консьерж отеля: хотя она не владеет никакими записями DNS, она действует как посредник, который может получить информацию DNS от вашего имени. Если рекурсивный DNS имеет ссылку DNS , кэшированную или сохраненную в течение определенного периода времени, то он отвечает на запрос DNS, предоставляя информацию об источнике или IP. В противном случае он передает запрос одному или нескольким авторитетным DNS-серверам для поиска информации.
Что такое DNS (система доменных имен)?
Не хотите смотреть?
Прочтите это:
Система доменных имен (или DNS) преобразует удобочитаемые доменные имена (например, www.google.com) в Интернет-протокол (IP) адреса (например: 173.194.39.78).
Компьютеры могут общаться только с помощью набора цифр, поэтому DNS был разработан как своего рода «телефонная книга», которая переводит домен, который вы вводите в своем браузере в компьютерно-читаемый IP-адрес.
Краткая история DNS
Тридцать лет назад, когда Интернет был еще в зачаточном состоянии, когда вы хотели посетить веб-сайт, вам нужно было знать IP-адрес. адрес этого сайта.Это потому, что компьютеры могут и могли общаться только с помощью цифр.
Это IP-адрес: 127.33.54.200.
Это долго, трудно запомнить, и мы (я полагаю, люди) не роботы. Нам нужен был способ сделать компьютерно-читаемый информацию в удобочитаемый. И он должен был быть быстрым, легким и масштабируемым.
В начале 1980-х Пол Мокапетрис придумал систему, которая автоматически сопоставляла IP-адреса с доменными именами.. и Так родился DNS. Эта же система до сих пор служит основой современного Интернета.
И все же лишь небольшая часть мира знает, что она существует, а еще меньшая группа понимает, что она делает. Реальный проблема в том, что люди, которым нужно знать, как это работает, и которые могут извлечь из этого пользу… не принимают время учиться.
Как это работает
Прежде чем мы перейдем к тому, как вы можете использовать DNS, нам нужно понять, как работает система.Мы уже знаем, что он отображает IP адреса к доменным именам, но где хранится эта информация? На серверах имен!
Серверы имен хранят записи DNS, которые представляют собой фактический файл, в котором говорится, что «этот домен» сопоставляется с «этим IP-адресом». Так есть ли комнату где-нибудь, где есть все серверы имен и записи DNS для каждого сайта в Интернете? Нет… это было бы смешно.
На самом деле они распространены по всему миру.Эти серверы имен называются корневыми серверами имен и вместо хранения в каждом домене хранятся местоположения TLD (доменов верхнего уровня).
TLD — это два или три символа, например .com, которые заканчиваются доменным именем. У каждого TLD есть собственный набор серверов имен, которые хранят информация о том, кто уполномочен хранить записи DNS для этого домена.
Авторитетным сервером имен обычно является поставщик DNS или регистратор DNS (например, GoDaddy, который предлагает как DNS-серверы, так и DNS-серверы). регистрация и хостинг).И здесь мы можем найти запись DNS, которая сопоставляет example.com с IP-адресом 127.66.122.88.
Большая картина
Соберем все вместе. Когда вы запрашиваете доменное имя, ваш первый шаг на самом деле не будет на корневых серверах имен. Вместо этого ваш браузер спросит у вашего локального разрешающего сервера имен, есть ли у них кэшированные записи DNS для этого домена.
Разрешающим сервером имен обычно является ваш интернет-провайдер, а если это популярный веб-сайт, например, youtube.ком они, скорее всего, будут иметь запись в своем кэше. В этом случае вы пропустите остальную часть процесса поиска DNS.
Однако эти записи хранятся только в течение короткого периода времени. Всякий раз, когда вы создаете запись, у вас есть возможность установить TTL (время жизни). TTL сообщает разрешающим серверам имен, как долго они могут хранить информацию о записях. TTL может варьироваться от 30 секунд до недели.
Что делать, если искомая запись не кэшируется? Затем разрешающий сервер имен запросит у корневых серверов имен TLD для этого домена, который будет указывать на поставщика, уполномоченного размещать записи.
Хорошо, нужно было пройти много шагов, чтобы просто найти IP-адрес. Да, кстати, этот процесс происходит всего за пара миллисекунд. Небольшая перспектива, вы моргаете примерно за 50 миллисекунд. Вы можете разрешить большинство DNS-запросов до 30 лет.
DNS — Что такое DNS? Узнайте, как работает система доменных имен
Система доменных имен (DNS) — это иерархическая система имен, построенная на основе распределенной базы данных для компьютеров, служб или любых ресурсов, подключенных к Интернету или частной сети.Что наиболее важно, он переводит удобочитаемые доменные имена в числовые идентификаторы, связанные с сетевым оборудованием, что позволяет определять местонахождение устройств и подключаться к ним по всему миру. Аналогично сетевой «телефонной книге», DNS — это то, как браузер может преобразовать доменное имя (например, «facebook.com») в фактический IP-адрес сервера, на котором хранится информация, запрашиваемая браузером.
Основы DNS
Система доменных имен (то есть «DNS») отвечает за преобразование доменных имен в определенный IP-адрес, чтобы инициирующий клиент мог загружать запрошенные Интернет-ресурсы.Система доменных имен работает во многом как телефонная книга, где пользователи могут искать запрошенного человека и получать их номер телефона. DNS-серверы переводят запросы для определенных доменов в IP-адреса, контролируя, какие пользователи сервера имеют доступ, когда они вводят доменное имя в свой браузер.
Краткая история DNS
Когда появился Интернет, людям было проще соотносить определенные IP-адреса с определенными компьютерами, но это длилось недолго, поскольку все больше устройств и людей присоединялись к растущей сети.Хотя по-прежнему можно ввести определенный IP-адрес в браузер и перейти на веб-сайт, пользователям нужны были имена веб-сайтов, которые было бы легче запомнить. Когда появился Интернет, Элизабет Фейнлер из Стэнфорда лично внесла эти имена и адреса в главный список каждого компьютера, подключенного к Интернету. Этот текстовый файл назывался hosts.txt.
По мере того, как Интернет разрастался до миллионов доменов, это не было устойчивым. В 1983 году Пол Мокапетрис, исследователь USC, получил задание разработать решение.Его решением была новая система, которую он назвал DNS, которая по-прежнему основана на фундаментальных принципах Mockapetris. Сегодня стандарты для DNS поддерживаются Инженерной группой Интернета (IETF) в RFC 1035.
Как работают DNS-серверы
Каталог DNS распределен по всему миру и хранится на специальных серверах, называемых DNS-серверами (т. Е. «Доменом». серверы имен »), которые связаны между собой и регулярно обмениваются данными для синхронизации информации каталога и создания избыточности.
DNS-серверы и IP-адреса
DNS-сервер хранит определенную информацию, которая связывает доменное имя с определенными IP-адресами. С доменом может быть связано один или сотни IP-адресов. Amazon.com, например, имеет тысячи серверов по всему миру, и физический сервер, к которому подключается пользователь в одной стране, скорее всего, полностью отличается от другого пользователя в других странах мира. Глобальный характер интернет-сервисов требует наличия сети распределенных и масштабируемых DNS-серверов, чтобы пользователи могли быстро находить и определять местоположение запрошенного сервера, где бы они ни находились.
Процесс поиска в DNS
Назначение DNS — преобразовать доменное имя в соответствующий IP-адрес. Это делается путем поиска DNS-записей запрошенного домена. Обычно этот процесс поиска DNS состоит из восьми шагов, которые следуют по пути информации от исходного веб-браузера к DNS-серверу и обратно. На практике информация DNS часто кэшируется, чтобы сократить время отклика при поиске DNS. Если информация DNS не кэшируется, процесс поиска из восьми шагов выглядит следующим образом:
Восемь шагов поиска в DNS:
1.Пользователь вводит доменное имя (например, facebook.com) в свой браузер, и браузер отправляет запрос через isp своего интернет-провайдера рекурсивному преобразователю DNS.
2. Рекурсивный преобразователь DNS, в свою очередь, отправляет запрос корневому серверу имен DNS (.).
3. Корневой сервер возвращает преобразователю адрес корневого сервера DNS домена верхнего уровня (т. Е. «TLD»), который имеет необходимую информацию для домена facebook.com. (Примеры TLD домена верхнего уровня включают «.com», «.net» и «.org », каждый TLD имеет собственный корневой DNS-сервер.)
4. В свою очередь, преобразователь затем отправляет информационный запрос серверу домена верхнего уровня (в данном случае серверу имен TLD« .com »).
5. Сервер имен TLD отвечает преобразователю с целевым IP-адресом сервера имен домена. (В данном случае DNS-сервер для «facebook.com».)
6. Затем рекурсивный преобразователь DNS отправляет запрос DNS-серверу домена.
7. DNS-сервер домена затем возвращает IP-адрес преобразователю DNS для запрошенного домена (например,g., «facebook.com».
8. Наконец, распознаватель DNS возвращает IP-адрес запрошенного домена запрашивающему веб-браузеру. Браузер отправляет HTTPS-запрос на целевой IP-адрес, а сервер с этим адресом возвращает веб-страницу, которая отображается в браузере пользователя.
Типы служб DNS
Есть два основных типа служб, которые предоставляют DNS-серверы: авторитетный DNS и рекурсивный DNS. Оба являются неотъемлемой частью инфраструктуры DNS, но во время DNS-запроса они служат разным целям.Рекурсивный DNS-сервер в начале и полномочный DNS-сервер в конце DNS-запроса.
Рекурсивный DNS-сервер: Как обсуждалось в описании процесса поиска DNS, рекурсивный DNS-сервер отвечает на запрос от клиента и возвращает IP-адрес для запрошенного имени домена. Сервер рекурсивного преобразователя выполняет серию запросов, пока не достигнет полномочного сервера имен DNS для запрошенного домена.
Полномочный DNS-сервер: Полномочный DNS-сервер — это сервер, который фактически хранит и поддерживает запись для запрошенного домена.Авторитетный DNS-сервер также имеет обновленный механизм, позволяющий администраторам управлять своими общедоступными DNS-именами. Авторитетный DNS-сервер является последним источником истины для информации DNS домена и отвечает за предоставление информации IP-адреса домена обратно запрашивающему рекурсивному DNS-серверу.
ПОДРОБНЕЕ О системе доменных имен (DNS) И СВЯЗАННЫХ ТЕХНОЛОГИЯХ
В СООБЩЕСТВЕ INFOBLOX
Система доменных имен (DNS)
Система доменных имен (DNS) — это распределенная система баз данных, которая преобразует доменные имена в числовые адреса Интернет-протокола (IP).Это важная часть инфраструктуры Интернета.
Раньше к Интернету было подключено лишь небольшое количество компьютеров, и хранился файл, содержащий имя и IP-адрес каждого из них. Но даже при небольшом количестве компьютеров имена было легче запомнить, чем IP-адреса. Таким образом, этот файл был доступен в центральном месте и мог быть скопирован другими системными администраторами.
Успех Интернета и постоянный рост количества подключенных компьютеров затруднили поддержание этого файла в актуальном состоянии.Решением было создание распределенной системы для разрешения доменных имен и IP-адресов.
Имена и иерархии
Система доменных имен имеет иерархическую структуру доменных имен, и каждый сайт отвечает только за обновление информации для своего собственного домена. Вот почему она считается распределенной системой.
В этой иерархии каждая часть имени — другими словами, каждый домен — отделяется точкой (.). Иерархия доменов спускается справа налево, и самая левая часть имени является наиболее конкретной.Например, на сайте www.example.org имя, которое появляется наиболее слева «пример», представляет сервер (обычно веб-сервер) и является наиболее специфической частью имени домена, которое, в свою очередь, включается в «Org» домен (наименее конкретная часть имени).
За разные части доменного имени могут отвечать разные организации. Например, организация, отвечающая за зону «org», не обязательно несет ответственность за зону «пример».
Три компонента
DNS состоит из трех компонентов: полномочных серверов, рекурсивных серверов и клиентов (преобразователей).
Клиент (преобразователь) устанавливается на любой компьютер с программным обеспечением TCP / IP. Клиент — это любой компьютер с доступом в Интернет.
Как это работает
Клиентское программное обеспечение инициирует разрешение DNS (в ответ на запрос другого программного обеспечения, запущенного на компьютере) для доступа к другому компьютеру, используя его имя. Настроить преобразователь легко, и все, что для этого требуется, — это IP-адрес рекурсивного сервера.
Рекурсивный сервер получает запросы DNS от преобразователей и отвечает за выполнение всех шагов разрешения, необходимых для предоставления окончательного ответа клиенту (преобразователю).Рекурсивные серверы опрашивают несколько серверов, пока не получат ответ на запрос.
Наконец, полномочный сервер имеет власть над данным доменным именем. Это надежный источник информации о доменном имени. Он содержит информацию об IP-адресах, связанных с компьютерами, использующими рассматриваемое доменное имя.
Разрешение доменного имени инициируется клиентским программным обеспечением, а затем запрос отправляется на рекурсивный сервер. Этот другой сервер обычно инициирует разрешение, запрашивая корневые серверы или те серверы, которые отвечают за самый высокий уровень иерархии доменных имен.
На основе информации, полученной от корневых серверов, рекурсивный сервер опрашивает другие серверы, пока не достигнет сервера, ответственного за желаемое доменное имя.
Что такое DNS, как это работает + уязвимости
Система доменных имен (DNS) — это интернет-версия Желтых страниц. В былые времена, когда вам нужно было найти адрес компании, вы искали его в Желтых страницах. DNS работает точно так же, за исключением того, что вам на самом деле не нужно ничего искать: ваш компьютер, подключенный к Интернету, сделает это за вас.Благодаря ему ваш компьютер может найти Google, ESPN.com или Varonis.com.
Протокол требует, чтобы два компьютера обменивались данными в IP-сети. Подумайте об IP-адресе как о почтовом адресе — чтобы один компьютер «нашел» другой, ему нужно знать номер другого компьютера. Поскольку большинство людей лучше запоминают имена — www.varonis.com — чем числа — 104.196.44.111, им нужна была программа для компьютеров, переводящая имена в IP-адреса.
Ненавидите компьютеры в профессиональном плане? Попробуйте карты против ИТ.
Программа для преобразования имен в числа и наоборот называется «DNS» или системой доменных имен, а компьютеры, на которых работает DNS, называются «DNS-серверами». Без DNS нам пришлось бы запоминать IP-адрес любого сервера, к которому мы хотели подключиться, — неинтересно.
Как работает DNSDNS является такой неотъемлемой частью Интернета, что важно понимать, как он работает.
Думайте о DNS как о телефонной книге, но вместо того, чтобы сопоставлять имена людей с их уличными адресами, телефонная книга сопоставляет имена компьютеров с IP-адресами.Каждое сопоставление называется «записью DNS».
В Интернете много компьютеров, поэтому нет смысла собирать все записи в одну большую книгу. Вместо этого DNS организован в виде небольших книг или доменов. Домены могут быть очень большими, поэтому они организованы в более мелкие книги, называемые «зонами». Ни один DNS-сервер не хранит все книги — это было бы непрактично.
Вместо этого существует множество DNS-серверов, которые хранят все записи DNS для Интернета. Любой компьютер, который хочет узнать номер или имя, может запросить свой DNS-сервер, а его DNS-сервер знает, как запрашивать — или запрашивать — другие DNS-серверы, когда им нужна запись.Когда DNS-сервер запрашивает другие DNS-серверы, он выполняет «восходящий» запрос. Запросы для домена могут идти «вверх по течению», пока не вернутся к полномочиям домена или «авторитетному серверу имен».
Авторитетный сервер имен — это то место, где администраторы управляют именами серверов и IP-адресами своих доменов. Всякий раз, когда администратор DNS хочет добавить, изменить или удалить имя сервера или IP-адрес, он вносит изменения в свой авторитетный DNS-сервер (иногда называемый «главным DNS-сервером»).Также существуют «подчиненные» DNS-серверы; эти DNS-серверы содержат копии DNS-записей для своих зон и доменов.
Четыре DNS-сервера, загружающие веб-страницу
- DNS-рекурсор: DNS-рекурсор — это сервер, который отвечает на DNS-запрос и запрашивает адрес у другого DNS-сервера или уже имеет сохраненный IP-адрес для сайта.
- Корневой сервер имен : корневой сервер имен — это сервер имен для корневой зоны. Он отвечает на прямые запросы и может возвращать список авторитетных серверов имен для соответствующего домена верхнего уровня.
- Сервер имен TLD: Сервер домена верхнего уровня (TLD) — это один из DNS-серверов высокого уровня в Интернете. При поиске www.varonis.com сначала ответит сервер TLD для «.com», а затем DNS выполнит поиск «varonis».
- Авторитетный сервер имен: Авторитетный сервер имен является последней остановкой для DNS-запроса. Официальный сервер имен имеет DNS-запись для запроса.
Типы службы DNS
В Интернете есть два различных типа DNS-сервисов.Каждая из этих служб обрабатывает запросы DNS по-разному в зависимости от их функции.
- Рекурсивный преобразователь DNS: Рекурсивный преобразователь DNS — это DNS-сервер, который отвечает на запрос DNS и ищет авторитетный сервер имен или кэшированный результат DNS для запрошенного имени.
- Полномочный DNS-сервер: Полномочный DNS-сервер хранит DNS-запрос. Поэтому, если вы запрашиваете у полномочного DNS-сервера один из его IP-адресов, ему не нужно спрашивать никого другого.Авторитетный сервер имен является последней инстанцией для этих имен и IP-адресов.
Общедоступный DNS и частный DNS
DNS был создан, чтобы люди могли подключаться к услугам в Интернете. Чтобы сервер был доступен в общедоступном Интернете, ему нужна общедоступная запись DNS, а его IP-адрес должен быть доступен в Интернете — это означает, что он не заблокирован брандмауэром. Общедоступные DNS-серверы доступны всем, кто может к ним подключиться, и не требуют аутентификации.
Интересно, что не все записи DNS являются общедоступными. Сегодня, помимо разрешения сотрудникам использовать DNS для поиска вещей в Интернете, организации используют DNS, чтобы их сотрудники могли находить частные внутренние серверы. Когда организация хочет, чтобы имена серверов и IP-адреса оставались конфиденциальными или недоступными напрямую из Интернета, они не перечисляют их на общедоступных DNS-серверах. Вместо этого организации перечисляют их на частных или внутренних DNS-серверах — внутренние DNS-серверы хранят имена и IP-адреса для внутренних файловых серверов, почтовых серверов, контроллеров домена, серверов баз данных, серверов приложений и т. Д.- все самое важное.
Что нужно запомнить — как и внешние DNS-серверы, внутренние DNS-серверы не требуют аутентификации. Это потому, что DNS был создан давно, когда безопасность не была такой большой проблемой. В большинстве случаев любой, кто находится внутри брандмауэра — путем проникновения или подключения через VPN — может запрашивать внутренние DNS-серверы. Единственное, что мешает кому-либо «извне» получить доступ и запросить внутренние DNS-серверы, — это то, что они не могут подключиться к ним напрямую.
- Общедоступный DNS: Чтобы сервер был доступен в общедоступном Интернете, ему нужна общедоступная запись DNS, а его IP-адрес должен быть доступен в Интернете.
- Частный DNS : Компьютеры, которые находятся за брандмауэром или во внутренней сети, используют частную запись DNS, чтобы локальные компьютеры могли идентифицировать их по имени. Внешние пользователи Интернета не будут иметь прямого доступа к этим компьютерам.
7 шагов поиска DNS
Давайте посмотрим, как именно работает DNS-запрос.
- Запрос DNS запускается при попытке доступа к компьютеру в Интернете . Например, вы набираете www.varonis.com в адресной строке браузера.
- Первой остановкой для DNS-запроса является локальный DNS-кеш. При доступе к разным компьютерам эти IP-адреса сохраняются в локальном репозитории. Если вы ранее посещали www.varonis.com, у вас есть IP-адрес в вашем кеше.
- Если у вас нет IP-адреса в локальном кэше DNS, DNS проверит его с помощью рекурсивного DNS-сервера. Ваша ИТ-группа или поставщик услуг Интернета (ISP) обычно предоставляет для этой цели рекурсивный DNS-сервер.
- У рекурсивного DNS-сервера есть собственный кеш, и если у него есть IP-адрес, он вернет его вам. Если нет, он запросит другой DNS-сервер.
- Следующая остановка — это серверы имен TLD, в данном случае сервер имен TLD для адресов .com. У этих серверов нет нужного нам IP-адреса, но они могут отправить DNS-запрос в правильном направлении.
- Что действительно есть у серверов имен TLD, так это расположение полномочного сервера имен для запрошенного сайта. Официальный сервер имен отвечает IP-адресом для www.varonis.com, а рекурсивный DNS-сервер сохраняет его в локальном кэше DNS и возвращает адрес вашему компьютеру.
- Ваша местная служба DNS получает IP-адрес и подключается к www.varonis.com для загрузки всего великолепного контента. DNS затем записывает IP-адрес в локальный кеш со значением времени жизни (TTL). TTL — это время, в течение которого локальная запись DNS действительна, и после этого времени DNS снова выполнит процесс, когда вы запросите Varonis.com в следующий раз.
Какие типы DNS-запросов?
DNS-запросы — это компьютерный код, который сообщает DNS-серверам, что это за запрос и какую информацию он хочет получить обратно. В стандартном поиске DNS есть три основных DNS-запроса.
- Рекурсивный запрос: В рекурсивном запросе компьютер запрашивает IP-адрес или подтверждение того, что DNS-сервер не знает этот IP-адрес.
- Итеративный запрос: Итеративный запрос, который запрашивающая сторона запрашивает у DNS-сервера лучший ответ, который у него есть.Если DNS-сервер не имеет IP-адреса, он вернет авторитетный сервер имен или сервер имен TLD. Запрашивающая сторона будет продолжать этот итеративный процесс до тех пор, пока не найдет ответ или не истечет время ожидания.
- Нерекурсивный запрос: Преобразователь DNS будет использовать этот запрос для поиска IP-адреса, которого нет в его кэше. Они ограничены одним запросом на ограничение использования полосы пропускания сети.
Что такое DNS-кеш + функции кеширования
DNS cache — это хранилище доменных имен и IP-адресов, которые хранятся на компьютере, поэтому ему не нужно каждый раз запрашивать IP-адрес.Представьте, что каждый раз, когда какой-либо пользователь пытается перейти на www.varonis.com, DNS должен запрашивать авторитетный сервер имен в Varonis. Трафик будет огромным! Сама мысль о таком большом трафике — вот почему у нас есть кеширование DNS. Кэширование DNS преследует две основные цели:
- Ускорение DNS-запросов
- Уменьшить пропускную способность DNS-запросов в Интернете
Однако методология кеширования DNS имеет некоторые проблемы:
- Изменениям DNS требуется время для распространения — это означает, что может пройти некоторое время, прежде чем каждый DNS-сервер обновит свой кеш до последних данных IP
- DNS-кеш — потенциальный вектор атаки для хакеров
В Интернете используется несколько различных типов кэширования DNS:
- Кэширование DNS в браузере: Текущие браузеры примерно на 2018 год имеют встроенную функцию кэширования DNS.Разрешение DNS с помощью локального кеша выполняется быстро и эффективно.
- Операционная система (ОС) Кэширование DNS: Ваш компьютер является DNS-клиентом, и на вашем компьютере есть служба, которая управляет разрешением и запросами DNS. Этот DNS-кеш также является локальным и, следовательно, быстрым и не требует полосы пропускания.
- Рекурсивное разрешение DNS-кеширования: Каждый DNS-рекурсор имеет DNS-кеш и хранит любой IP-адрес, который он знает, чтобы использовать для следующего запроса
Слабые стороны и уязвимости DNS
Существует три основных уязвимости DNS, на которые следует обратить внимание, которые злоумышленники часто используют для злоупотребления DNS:
- Внутренние DNS-серверы хранят все имена серверов и IP-адреса для своих доменов и будут делиться ими со всеми, кто их спросит. Это делает DNS отличным источником информации для злоумышленников, когда они пытаются провести внутреннюю разведку.
- Кеши DNS не являются «авторитетными», и ими можно манипулировать. Если ваш DNS-сервер «отравлен» плохими записями, компьютеры могут быть обмануты и они попадут в плохие места.
- DNS передает информацию о запросах от внутренних рабочих станций к внешним серверам, и злоумышленники научились использовать это поведение для создания «скрытых каналов» для эксфильтрации данных.
Использовать DNS для разведки
Как только злоумышленник оказывается внутри брандмауэра и получает контроль над компьютером, он может использовать DNS для поиска важных имен серверов. Злоумышленники могут искать имена, связанные с внутренними IP-адресами — почтовые серверы, серверы имен — все виды ценных вещей. Если они достаточно сообразительны, они могут даже получить внутренний DNS-сервер для отправки большого количества информации о зонах их домена — это называется «атакой передачи зоны DNS».”
Если у вас компьютер Windows, выполните следующие команды как есть; если вы пользователь Linux, вы можете найти соответствующие команды.
- Откройте командную строку (введите Ctrl + esc, буквы «cmd» и введите).
- Тип ipconfig
- Вы увидите DNS-домен, в котором вы находитесь (DNS-суффикс для конкретного подключения), ваш IP-адрес и множество других вещей. Вы захотите вернуться к этому.
- Введите nslookup [ip-адрес] Вы увидите имя DNS-сервера, который отвечает, и, если имя известно, DNS-запись с указанием имени и IP-адреса.
- nslookup –type = soa [ваш домен] Эта команда возвращает ваш полномочный DNS-сервер, это не поможет, если вы пытаетесь проникнуть в сеть.
- nslookup –type = MX [ваш домен] Эта команда возвращает все почтовые серверы в вашем локальном домене на случай, если вы хотите взломать почтовые серверы и не знаете, где они находятся.
Использовать DNS для перенаправления трафика
Помните, когда пользователь пытается перейти на веб-сайт, его компьютер запрашивает у своего DNS-сервера IP-адрес сайта или запись DNS.Если DNS-сервер имеет кэшированную копию записи, он отвечает. В противном случае он запрашивает «вышестоящий» DNS-сервер, передает результаты обратно конечному пользователю и кэширует их для следующего раза.
Злоумышленники нашли способ подделать ответы DNS или сделать так, чтобы ответы выглядели так, как будто они исходят от законных серверов DNS. Не вдаваясь в технические подробности, злоумышленники используют для этого три слабых места в DNS:
- DNS выполняет очень слабую проверку ответов, поступающих от вышестоящих серверов. Ответы просто должны содержать правильный идентификатор транзакции, который представляет собой всего лишь 16-битное число (0-65536). Оказывается, что вам не нужно столько людей в комнате, чтобы получить преимущество у двоих из них, имеющих один и тот же день рождения, оказывается, что угадать правильный идентификатор легче, чем вы думаете.
- DNS-серверы принимают одновременные (или почти одновременные) ответы на свои запросы , позволяя злоумышленникам делать несколько предположений об идентификаторе транзакции (что мало похоже на атаку грубой силы на пароль).
- IP-соединения, используемые DNS, легко подделать. Это означает, что злоумышленник может отправить трафик на DNS-сервер с одного компьютера и сделать так, чтобы он выглядел так, как будто он идет с другого компьютера, как действительный DNS-сервер. Только определенные типы IP-соединений легко подделать — DNS является одним из них.
Если злоумышленник успешно подделывает ответ DNS, он может заставить принимающий DNS-сервер кэшировать зараженную запись. Так как это поможет злоумышленникам?
Вот пример. Допустим, злоумышленник узнает, что ваша организация использует внешнее приложение для чего-то важного, например для расходов.Если они отравляют DNS-сервер вашей организации и отправляет каждого пользователя на сервер злоумышленника, все, что им нужно сделать, это создать легитимную страницу входа в систему, и пользователи будут вводить свои учетные данные. Они могут даже ретранслировать трафик на реальный сервер (действуя как «человек посередине»), чтобы никто не заметил. Затем злоумышленник может попробовать эти учетные данные в других системах, продать их или просто отпраздновать это злым смехом.
Использование DNS в качестве скрытого канала
Допустим, злоумышленник сумел проникнуть в сеть (корп.com), скомпрометировали один или два хоста и обнаружили важные данные, которые они хотят эксфильтровать. Как они могут это сделать, не подавая никаких сигналов тревоги? Для этого злоумышленники используют метод, называемый «DNS-туннелирование». Они устанавливают DNS-домен (например, evil-domain.com) в Интернете и создают авторитетный сервер имен. Затем на взломанном хосте злоумышленник может использовать программу, которая разбивает данные на небольшие части и вставляет их в серию запросов, например:
- nslookup My1secret1.evil-domain.com
- nslookup is1that1I1know.evil-domain.com
- nsllookup how2steal1data.evil-domain.com
DNS-сервер corp.com получит эти запросы, поймет, что результатов нет в его кеше, и ретранслирует эти запросы обратно на полномочный сервер имен evil-domain.com. Злоумышленник ожидает этот трафик, поэтому он запускает программу на полномочном сервере имен, чтобы извлечь первую часть запроса (все, что было до evil-domain.com) и собрать ее заново.Если организация не проверяет запросы своих DNS-серверов, они могут никогда не понять, что их DNS-серверы использовались для кражи данных.
DNS существует уже давно, и каждый компьютер, подключенный к Интернету, полагается на него. Злоумышленники теперь используют DNS как для внешней, так и для внутренней разведки, для перехвата трафика и создания скрытых каналов связи. К счастью, с помощью мониторинга DNS-серверов и применения аналитики безопасности многие из этих атак можно обнаружить и предотвратить.
Хотите увидеть, как? Присоединяйтесь к нашим семинарам по кибератакам в режиме реального времени, когда наши инженеры по безопасности проводят живую атаку — извлекают данные через туннелирование DNS и просматривают все в режиме реального времени!
Как работают серверы доменных имен
Интернет и всемирная паутина — это дикие границы, которые полагаются на компьютерные языки и коды для поиска и обмена данными и информацией. Одним из наиболее фундаментальных инструментов Интернета является система доменных имен , или DNS . (Хотя многие люди думают, что «DNS» означает «сервер доменных имен», на самом деле это означает «система доменных имен».») DNS — это протокол в рамках набора стандартов, определяющих, как компьютеры обмениваются данными в Интернете и во многих частных сетях, известный как набор протоколов TCP / IP . Его цель жизненно важна, поскольку он помогает преобразовывать простые для понимания доменных имен , таких как «howstuffworks.com», в IP-адрес, например 70.42.251.42, который компьютеры используют для идентификации друг друга в сети. Короче говоря, это система сопоставления имен с номерами.
Концепция DNS подобна телефонной книге в Интернете.Без такой системы навигации вам пришлось бы прибегнуть к гораздо более сложным и эзотерическим средствам, чтобы просеивать виртуальные открытые равнины и густые города данных, разбросанных по всему глобальному Интернету … и вы можете поспорить, что это не так. почти столько же удовольствия, тем более что сейчас существуют сотни миллионов доменных имен [источник: VeriSign].
Компьютеры и другие сетевые устройства в Интернете используют IP-адрес для маршрутизации вашего запроса на сайт, который вы пытаетесь достичь. Это похоже на набор номера телефона для связи с человеком, которому вы пытаетесь позвонить.Однако благодаря DNS вам не нужно вести собственную адресную книгу IP-адресов. Вместо этого вы просто подключаетесь через сервер доменных имен , также называемый DNS-сервером или сервером имен , который управляет массивной базой данных, которая сопоставляет доменные имена с IP-адресами.
Независимо от того, заходите ли вы на веб-сайт или отправляете электронную почту, ваш компьютер использует DNS-сервер для поиска имени домена, к которому вы пытаетесь получить доступ. Правильный термин для этого процесса — Разрешение DNS-имен , и можно сказать, что DNS-сервер разрешает доменное имя в IP-адрес.Например, когда вы вводите «www.howstuffworks.com» в своем браузере, часть сетевого подключения включает преобразование доменного имени «howstuffworks.com» в IP-адрес, например 70.42.251.42, для веб-серверов HowStuffWorks.
Но вы, вероятно, скорее вспомните «howstuffworks.com», когда захотите вернуться позже. Кроме того, IP-адрес веб-сайта может меняться со временем, и некоторые сайты связывают несколько IP-адресов с одним доменным именем.
Без DNS-серверов Интернет отключился бы очень быстро.Но как ваш компьютер узнает, какой DNS-сервер использовать? Как правило, когда вы подключаетесь к домашней сети, интернет-провайдеру (ISP) или сети Wi-Fi, модем или маршрутизатор, назначающий сетевой адрес вашего компьютера, также отправляет на ваш компьютер или мобильное устройство некоторую важную информацию о конфигурации сети. Эта конфигурация включает один или несколько DNS-серверов, которые устройство должно использовать при преобразовании DNS-имен в IP-адрес.
Итак, вы прочитали о некоторых важных основах DNS.Остальная часть этой статьи более подробно посвящена серверам доменных имен и разрешению имен. Он даже включает введение в управление вашим собственным DNS-сервером. Давайте начнем с рассмотрения того, как структурированы IP-адреса и насколько это важно для процесса разрешения имен.
Система доменных имен — обзор
Система доменных имен
DNS используется для разрешения имен, и в случае сбоя может показаться, что все подключения не работают. Однако есть несколько простых тестов, которые вы можете запустить, чтобы определить, является ли проблема DNS или что-то еще.Помните, что основная цель DNS — преобразовать имена хостов и доменов в IP-адреса. Следовательно, самый простой тест на сбой DNS — определить, есть ли разница между прямым подключением к хосту по IP и преобразованием имени в IP-адрес и последующим контактом с хостом. Поэтому начните устранение неполадок с попытки выполнить эхо-запрос или подключиться к целевой системе по IP-адресу. В случае успеха вы можете протестировать базовое разрешение имен, используя имя хоста с командой ping, чтобы увидеть, работает ли разрешение DNS.
Если разрешение DNS не удается, то есть несколько вещей, на которые следует обратить внимание, чтобы выяснить причину. Наиболее частые причины обычно связаны с ошибками конфигурации. Неправильный DNS-сервер мог быть настроен вручную или с помощью DHCP, поэтому всегда проверяйте конфигурацию адреса DNS-сервера, чтобы убедиться, что она верна. Если локальные имена разрешаются (то есть имена в вашем домене), а удаленные имена нет, то может быть проблема с взаимодействием с внешним DNS-сервером или проблема с вашим DNS-сервером пересылки.Сервер пересылки DNS — это то, что обрабатывает поиск DNS-сервера для разрешения запрошенного хоста и домена, если ваш локальный DNS-сервер не имеет соответствующей информации.
Еще одним способом тестирования DNS является использование инструмента nslookup. Этот инструмент доступен для большинства операционных систем и позволяет тестировать разрешение с использованием протокола DNS. В nslookup вы можете просмотреть свой DNS-сервер по умолчанию, установить альтернативный DNS-сервер и попытаться выполнить различные DNS-запросы, включая запросы определенных типов записей, таких как MX или PTR.Выполнение этого типа теста может помочь вам определить, где происходит сбой. Попробовав альтернативные DNS-серверы, вы можете определить, действительно ли проблема связана с вашим локальным DNS-сервером или с какой-то более серьезной сетевой проблемой, например, с блокировкой трафика DNS брандмауэром.
Еще одна вещь, о которой следует помнить при работе с DNS, — это то, что большинство операционных систем имеют особый порядок операций, когда дело доходит до выполнения разрешения имен. Обычно они сначала проверяют свой локальный кеш, a.hosts, если он существует, затем первичный DNS-сервер и, наконец, вторичный DNS-сервер. При таком порядке операций, если есть проблема с локальным кешем или файлом .hosts, разрешение для некоторых хостов может завершиться ошибкой, даже если DNS-сервер в порядке. Некоторые вредоносные программы фактически изменяют файл .hosts или повреждают операционную систему, чтобы DNS-имена преобразовывались в неправильные серверы, чтобы получать доход за счет принудительного просмотра рекламы.