Dns server что это такое: Что такое DNS-сервер и для чего он нужен ⚛️

Содержание

Что такое DNS-сервер и для чего он нужен ⚛️

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

Что представляет собой DNS

Для начала, следует рассмотреть понятие DNS и описание его работы. DNS — это аббревиатура от Domain Name System («Системы доменных имен»), главной задачей которой является хранение и управление информацией о доменных зонах.

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

Что такое DNS

По аналогии с телефонным справочником, можно назвать доменное имя (URL-адрес) «контактом», а IP-адрес — «номером абонента». Если дать определение простыми словами, DNS — это сама телефонная книга со всеми сохраненными в ней контактами.

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

Зачем нужны DNS-серверы

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

Что такое DNS-сервер

Назначение DNS-сервера

  • Хранение информации о доменах и предоставление ее по запросам;
  • Кэширования DNS-записей из остальных DNS-серверов.

Классификация серверов

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

Ниже представлены определения основных типов DNS-серверов.

  • Авторитативный — DNS-сервер, который отвечает за определенную зону.
  • Первичный (Мастер) — сервер, уполномоченный вносить изменения в зону. Как правило, в зоне находится только один первичный сервер.
  • Вторичный (Слейв) — сервер без права применять изменения в зоны, получающий от «мастера» только уведомления об изменениях. В зоне может находиться неограниченное количество слейвов.
  • Кэширующий — отвечает за обслуживание пользователей. Он принимает рекурсивные запросы, а затем обрабатывает их с использованием нерекурсивных запросов или передает на вышестоящий сервер. Большинство серверов, работающих непосредственно с пользователями, является именно кэширующими.
  • Перенаправляющий (Прокси, Балансирующий) — кэширующий сервер, который не отдает данные напрямую, а перенаправляет запросы на связанную с ним цепь кэширующих серверов. Благодаря этому перераспределяется общая нагрузка и уменьшается вероятность даунтайма.
  • Корневой (Рут) — авторитативный сервер в корневой зоне. В мире расположено 13 таких серверов, их домены находятся в зоне root-servers.net.
  • Регистрирующий — принимает информацию об обновлениях от пользователей.

Кэширование

Чтобы понимать, как работает DNS-сервер, нужно детально рассмотреть, как в нем происходит процесс кэширования.

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

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

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

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

Как работает DNS-сервер

Рассмотрим более подробно принцип работы DNS-сервера на примере сайта example.com. Все доменные имена и IP-адреса здесь приведены только для примера.

Как работает DNS-сервер

  1. Пользователь вводит адрес нужного сайта (www.example.com) в адресную строку браузера и отправляет запрос.
  2. Запрос, содержащий искомое доменное имя, отправляется серверу-преобразователю имен DNS (резолверу), указанному в настройках операционной системы компьютера для поиска IP-адреса.
  3. Преобразователь выполняет перенаправление запроса на корневой DNS-сервер, который отдает в ответ сервер зоны доменов верхнего уровня (.com), ответственный за искомый домен.
  4. Преобразователь еще раз перенаправляет запрос на сервер зоны доменов верхнего уровня (.com), и получает в ответ адрес конкретного NS-сервера, к которому приписан искомый домен (ns1.eternalhost.net).
  5. Ответственный сервер получает запрос резолвера и отдает IP-адрес (192.0.2.44), соответствующий доменному имени в первоначальном запросе.
  6. После получения необходимого IP-адреса, преобразователь имен передает это значение браузеру. Вдобавок, он выполняет кэширование полученных данных о сопоставлении доменного имени с IP-адресом, чтобы при последующих аналогичных запросах быстрее на них отвечать.
  7. С браузера отправляется новый запрос уже по полученному IP-адресу. Веб-сервер example.com возвращает страницу на браузер, после чего она открывается.

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

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

 

Что такое DNS простыми словами

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

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

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

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

Что такое DNS-сервер

Система доменных имен действует посредством DNS-сервера, который нужен для выполнения двух основных функций:

  • хранения данных о соответствии имени домена конкретному IP-адресу, 
  • кэширования ресурсных записей прочих DNS-серверов.

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

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

Как правило, рекомендуют задействовать два сервера: первичный и вторичный. Это гарантирует получение доступа к вашему домену, потому как, если будет недоступен один сервер, ответит другой.

Как работают DNS-серверы

Рассмотрим поэтапно функционирование приложений, предназначенных для ответа на DNS-запросы:

  1. Браузер получает запрос от пользователя и направляет его DNS-серверу сети, который ищет совпадение доменного имени и сетевого адреса. Если ответ обнаружен, то страница сайта загружается сразу. В противном случае запрос будет отправлен серверу более высокого уровня или корневому.
  2. Корневой сервер направляет запрос серверу первого уровня, который в свою очередь передает его серверу второго уровня. Это движение продолжается до тех пор, пока не будет найдено совпадение имени и IP-адреса.
  3. Браузер получает ответ на свой запрос, направляет его к хостингу, и страница открывается.

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

Где находятся DNS-серверы

Фундаментом для обработки запросов о доменных именах являются корневые серверы, отвечающие за корневую DNS-зону. Ими руководят разные операторы, которые обеспечивают бесперебойное функционирование серверов. Первые корневые серверы появились в Северной Америке, но с течением времени они стали появляться в других странах мира. На сегодня существует 123 корневых сервера, которые располагаются в разных точках мира (в зависимости от интенсивности пользования всемирной паутиной).

Типы записей DNS-сервера

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

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

Различают несколько ключевых типов ресурсных записей, информация о которых хранится на DNS-сервере:

  • А — адрес веб-ресурса, который соответствует введенному имени домена.
  • MX — адрес почтового сервера.
  • CNAME — указание привязки аналога к собственному доменному имени. Чаще всего используется для прикрепления поддомена. Например, можно привязать веб-адрес www.site.ru к фактическому сайту для домена site.ru.
  • NS — адрес DNS-сервера, отвечающего за содержание прочих ресурсных записей.
  • TXT — любая текстовая информация о домене.
  • SPF — данные с указанием списка серверов, которым позволено отправлять письма от имени указанного домена.
  • SOA — исходная запись зоны, в которой указаны сведения о сервере, содержащем образцовую информацию о доменном имени.  

Зачем нужно прописывать DNS-серверы

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

Серверы такого формата обновляются до 24 часов, в этот период сайт может не работать. Поэтому необходимо подождать сутки после того, как вы их прописали.

Зачастую такие серверы прописывают парами. У каждого домена существует один первичный и до 12 вторичных серверов. Это нужно для обеспечения надежности работы сайта. Если один из них полетит, то домен и ресурс будут функционировать.

Защита DNS-серверов от атак

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

Наиболее опасными считают нападения на корневые серверы, хранящие данные об IP-адресах. Например, в историю вошла произошедшая в октябре 2002 года DDoS-атака на 10 из 13 серверов верхнего уровня.

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

Существует несколько схем, настройка которых позволит защитить DNS-сервер от атак хакеров:

  • Использование технологии uRPF (Unicast Reverse Path Forwarding).
    Суть состоит в том, чтобы определить возможность принятия пакета с конкретным адресом отправителя на указанном устройстве для передачи данных. Пакет проходит проверку и принимается в том случае, когда сетевой интерфейс, с которого он получен, предназначен для обмена информацией с адресатом данного пакета. В обратной ситуации пакет будет отброшен. Этот способ помогает выявить и частично отобрать фальшивый трафик, но не гарантирует надежную защиту от фальсификации. uRPF полагает, что данные отправляются на определенный адрес через неизменный интерфейс. Ситуация усложняется, если появляется несколько провайдеров.
  • Применение функции IP Source Guard.
    В ее основе лежит технология uRPF и проверка DHCP-пакетов. IP Source Guard отслеживает DHCP-трафик в интернете и выясняет, какие IP-адреса получили сетевые устройства. Это позволяет выявить поддельный трафик на некоторых портах установки. После этого данные собираются и записываются в общую таблицу итогов проверки DHCP-пакетов. В дальнейшем IP Source Guard обращается к этой таблице, чтобы осуществить проверку пакетов, полученных коммутатором. Если IP-адрес пакета не совпадает с адресом источника, то пакет откладывается.
  • Использование утилиты dns-validator.
    Эта программа контролирует передачу всех пакетов DNS, соотносит запрос с ответом и в случае расхождения названий отправляет уведомление пользователю.

Вывод

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

Распределенная система доменных имен была создана в начале 1980-х годов. До настоящего времени она обеспечивает взаимодействие с адресным пространством всемирной паутины. Вместе с тем технологии DNS регулярно совершенствуются. Например, в 2010 году в России был внедрен национальный кириллический домен первого уровня .рф.

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

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

Что такое DNS-сервер и для чего он нужен?

480 auto

Если спросить среднего пользователя интернета, что такое сайт, скорее всего, он назовёт, например, yandex.ru, mail.ru, google.com, facebook.com, …

В практическом смысле этого вполне достаточно: нашёл интересный сайт, сообщил знакомым его доменное имя (или проще, «адрес»).

Однако настоящим адресом доменное имя не является. Ну это примерно так же, как отправить письмо с надписью на конверте: «город Екатеринбург, Петру Иванову». Здесь дело даже не в том, что Петров Ивановых в Екатеринбурге может быть несколько (представим, что человек с таким именем там единственный). Проблема в том, что адресат может перемещаться, минимум, по городу, и вручить ему письмо будет крайне проблематично.

Но письма-то доставляют и получают! — Да, конечно. Потому что они отправляют по почтовым адресам. Например, «город Ленинград, 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 / Блог компании 1cloud.ru / Хабр

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

/ фото James Cridland CC

Изначально, до распространения интернета, адреса преобразовывались согласно содержимому файла hosts, рассылаемого на каждую из машин в сети. Однако по мере её роста такой метод перестал оправдывать себя – появилась потребность в новом механизме, которым и стала DNS, разработанная в 1983 году Полом Мокапетрисом (Paul Mockapetris).

Что такое DNS?


Система доменных имен (DNS) является одной из фундаментальных технологий современной интернет-среды и представляет собой распределенную систему хранения и обработки информации о доменных зонах. Она необходима, в первую очередь, для соотнесения IP-адресов устройств в сети и более удобных для человеческого восприятия символьных имен.

DNS состоит из распределенной базы имен, чья структура напоминает логическое дерево, называемое пространством имен домена. Каждый узел в этом пространстве имеет свое уникальное имя. Это логическое дерево «растет» из корневого домена, который является самым верхним уровнем иерархии DNS и обозначается символом – точкой. А уже от корневого элемента ответвляются поддоменые зоны или узлы (компьютеры).


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

В иерархическом же пространстве имен каждое имя составлено из нескольких частей: например, домена первого уровня .ru, домена второго уровня 1cloud.ru, домена третьего уровня panel.1cloud.ru и т. д. Этот тип пространства имен позволяет легко проводить проверки на дубликаты, и при этом организациям не нужно беспокоиться, что префикс, выбранный для хоста, занят кем-то другим – полный адрес будет отличаться.

Сопоставление имен


Давайте взглянем, как происходит сопоставление имен и IP-адресов. Предположим, пользователь набирает в строке браузера www.1cloud.ru и нажимает Enter. Браузер посылает запрос DNS-серверу сети, а сервер, в свою очередь, либо отвечает сам (если ответ ему известен), либо пересылает запрос одному из высокоуровневых доменных серверов (или корневому).

Затем запрос начинает свое путешествие – корневой сервер пересылает его серверу первого уровня (поддерживающего зону .ru). Тот – серверу второго уровня (1cloud) и так далее, пока не найдется сервер, который точно знает запрошенное имя и адрес, либо знает, что такого имени не существует. После этого запрос начинает движение обратно. Чтобы наглядно объяснить, как это работает, ребята из dnssimple подготовили красочный комикс, который вы можете найти по ссылке.

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

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


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

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

Например, в Северной Америке находятся 40 серверов (32,5%), в Европе – 35 (28,5%), еще 6 серверов располагаются в Южной Америке (4,9%) и 3 – в Африке (2,4%). Если взглянуть на карту, то DNS-серверы расположены согласно интенсивности использования интернет-инфраструктуры.

Защита от атак


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

«В прошлом уже происходили атаки на DNS-сервера, приводящие к массовым сбоям. Как-то из-за подмены DNS-записи в течение часа для пользователей был недоступен известный всем сервис Twitter, – рассказывает Алексей Шевченко, руководитель направления инфраструктурных решений российского представительства ESET. – Но куда опаснее атаки на корневые DNS-сервера. В частности, широкую огласку получили атаки в октябре 2002 года, когда неизвестные пытались провести DDoS-атаку на 10 из 13 DNS-серверов верхнего уровня».

Протокол DNS использует для работы TCP- или UDP-порт для ответов на запросы. Традиционно они отправляются в виде одной UDP-датаграммы. Однако UDP является протоколом без установления соединения и поэтому обладает уязвимостями, связанными с подделкой адресов – многие из атак, проводимых на DNS-сервера, полагаются на подмену. Чтобы этому препятствовать, используют ряд методик, направленных на повышение безопасности.

Одним из вариантов может служить технология uRPF (Unicast Reverse Path Forwarding), идея которой заключается в определении того, может ли пакет с определенным адресом отправителя быть принят на конкретном сетевом интерфейсе. Если пакет получен с сетевого интерфейса, который используется для передачи данных, адресованных отправителю этого пакета, то пакет считается прошедшим проверку. В противном случае он отбрасывается.

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

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

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

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

Заключение


Система доменных имён разработана в еще 80-х годах прошлого века и продолжает обеспечивать удобство работы с адресным пространством интернета до сих пор. Более того, технологии DNS постоянно развиваются, например, одним из значимых нововведений недавнего времени стало внедрение доменных имен на национальных алфавитах (в том числе кириллический домен первого уровня.рф).

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

Кстати, компания 1cloud предлагает своим пользователям VPS бесплатную услугу «DNS-хостинг» – инструмент, упрощающий администрирование ваших проектов за счет работы с общим интерфейсом для управления хостами и ссылающимися на них доменами.

О чем еще мы пишем:

Что такое DNS-сервер и для чего он нужен

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

 Содержание

Что такое DNS-сервер простыми словами

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

Как настроить DNS-серверы

Основные DNS записи

 

Что такое DNS-сервер простыми словами

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

 

Серверы, входящие в DNS, хранят в себе специальные таблицы соответствий. Доменные имена, то есть привычные всем буквенные имена веб-сайтов, сопоставлены в них с IP-адресами серверов, на которых эти сайты физически находятся.

Проще говоря, любой server системы DNS — это что-то вроде раздела «Контакты» смартфона, в котором имена людей сопоставлены с их телефонными номерами. Вам не нужно вспоминать цифры — вы просто выбираете человека, и вот вы уже разговариваете с ним. DNS-серверы работают точно так же! Впрочем, это — весьма упрощённое описание. Если углубиться в вопрос, мы увидим немало нюансов.

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

Система Domain Name System работает следующим образом. Вы решили посетить тот или иной сайт и вводите в адресной строке браузера его URL. Строго говоря, узла с таким названием во всемирной сети не существует — как было сказано выше, в ней есть лишь узлы с числовыми IP-адресами. Именно поэтому первое, что делает браузер — обращается к DNS-серверу, который указан в настройках вашего подключения (о том, как задать такие настройки, будет подробно рассказано далее). Сервер, получив доменное имя, ищет в таблице соответствующий ему IP-адрес, и, найдя его, возвращает вашему клиентскому устройству. Лишь после этого браузер обращается непосредственно к узлу, на котором хранится интересующий вас сайт, и по протоколу HTTP получает его содержимое, которое и отображается на вашем экране.

Alt — DNS

Наша планета огромна, и количество узлов, на которых хранится контент сайтов, не поддаётся исчислению. Невозможно представить некий единый DNS-сервер, который хранил бы в себе информацию абсолютно обо всех устройствах, содержащих веб-контент. Его и не нужно представлять — в действительности в мире существует великое множество DNS-серверов разных уровней, каждый из которых отвечает лишь за определённую, пусть и достаточно большую, зону, и содержит информацию лишь о близлежащих (с известной долей условности) сайтах. Но что произойдёт, если вы, находясь, например, в Новосибирске, решите посетить веб-сайт, контент которого физически расположен в Рио-де-Жанейро? Сначала запрос браузера попадёт на DNS-сервер, указанный в ваших локальных настройках. Соответствия между полученным бразильским доменным именем и каким-либо IP-адресом на нём не окажется. Несмотря на это, сервер не оставит запрос без внимания — он перенаправит его на вышестоящий, в котором необходимое соответствие вполне может найтись. Этот процесс будет повторяться столько раз, сколько понадобится для того, чтобы наконец выяснить IP-адрес сайта в Рио-де-Жанейро. Полученная информация по цепочке DNS-серверов вернётся обратно к вашему браузеру в Новосибирске, и он без проблем сможет открыть нужный вам бразильский сайт.

Система DNS, как мы видим, сложна и интеллектуальна — но не менее умны и современные браузеры. Допустим, на следующий день вы вновь решили посетить тот же сайт в солнечной Бразилии. В этот раз ваш запрос уже не будет передаваться по длинной цепочке от одного DNS-сервера к другому — браузер просто поднимет IP-адрес сайта из своего локального кеша, в который он записал его вчера, и соединение будет установлено быстрее. Миллионы браузеров по всему миру используют кеш, благодаря чему нагрузка на систему DNS существенно снижается.

 

Особого внимания заслуживает такое понятие, как DNS-зона. Выше мы рассмотрели связь только между доменным именем и IP-адресом сайта. Существуют, однако, и другие объекты — в частности, почтовые серверы и поддомены сайта. Они напрямую связаны с основным доменным именем, но вполне могут иметь разные IP-адреса. Как установить соответствие между всеми перечисленными объектами? Для этого на DNS-сервере создаётся специальный файл, в котором они и сопоставляются. Этот файл представляет собой описание DNS-зоны.

 

Как настроить DNS-серверы

Рассмотрим настройку DNS-серверов на примере одной из наиболее распространённых операционных систем — Windows 10. Адреса серверов задаются в разделе настроек, посвящённом доступу в Интернет, поэтому нас интересует именно он.

 

В системном трее (справа внизу) найдите значок подключения к Интернету. Кликните по нему правой кнопкой мыши и выберите пункт «Открыть «Параметры сети и Интернет». Перед вами появится окно с многочисленными разделами. В группе «Изменение сетевых параметров» найдите раздел «Настройка параметров адаптера» и откройте его, кликнув левой кнопкой мыши.

 

Перед вами — окно, в котором собраны все сетевые подключения компьютера. Вам нужно найти то из них, через которое осуществляется доступ в Интернет. Автор этой статьи пользуется проводным подключением, и соответствующая иконка называется «Ethernet/Network connection». Кликните правой кнопкой мыши по иконке активного подключения и выберите в появившемся контекстном меню нижний пункт — «Свойства».

 

В новом диалоговом окне вы увидите список компонентов, которые использует ваше активное подключение. Найдите в нём строчку «IP версии 4 (TCP/IPv4)», кликните по ней левой кнопкой мыши, а затем нажмите кнопку «Свойства», расположенную чуть ниже. Вы увидите окно, до которого и нужно было добраться. Именно в нём задаются адреса DNS-серверов (нижняя группа полей).

 

   

Обратите внимание на то, что операционная система даёт вам два варианта на выбор — получать адрес серверов DNS в автоматическом режиме или использовать желаемые адреса, которые можно ввести вручную. Если вы выберете первый вариант, все запросы из браузера будут отправляться интернет-провайдеру, а он, в свою очередь, сам будет назначать тот или иной DNS-сервер (причём с наибольшей вероятностью это будет сервер самого провайдера). Этот вариант удобен тем, что вам ничего не нужно прописывать — сайты должны открываться без проблем. У него, однако, есть и недостатки. Если DNS-сервер или провайдер в целом по той или иной причине «ляжет», вы фактически лишитесь доступа в Интернет до устранения проблемы — браузер не будет получать IP-адреса веб-сайтов. Кроме того, DNS-сервер провайдера может умышленно отдавать неверные ответы, и вы будете видеть не те сайты, которые хотели бы открыть (это, в частности, возможно при блокировке Роскомнадзором интересующего вас ресурса). Обойти эти проблемы можно, если выбрать второй вариант и прописать адреса предпочитаемого и альтернативного DNS-сервера вручную.

 

Закономерен вопрос: какие адреса серверов можно указать в настройках? Вот несколько наиболее распространённых и популярных вариантов:

 

l серверы Google: предпочитаемый — 8.8.8.8, альтернативный — 8.8.4.4;

l серверы Яндекс: предпочитаемый — 77.88.8.8, альтернативный — 77.88.8.2;

l серверы Яндекс, содержащие записи только о проверенных сайтах и защищающие от злоумышленников: предпочитаемый — 77.88.8.8, альтернативный — 77.88.8.2;

l семейные серверы Яндекс (то же, что в пункте выше, за минусом сайтов со «взрослым» контентом: предпочитаемый — 77.88.8.3, альтернативный — 77.88.8.7;

l серверы OpenDNS: предпочитаемый — 208.67.222.222, альтернативный — 208.67.220.220.

Это — далеко не полный перечень существующих DNS-серверов, которые можно указать вручную. Вооружившись терпением, вы сможете найти в Интернете и другие адреса.

 

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

 

Основные DNS записи

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

 

A: IP-адрес сервера, на котором расположен домен, по стандарту IPv4.

 

AAA: IP-адрес по стандарту IPv6.

 

TXT: произвольные текстовые сведения о домене. Длина этой записи не может превышать 255 символов.

 

MX: информация о почтовом сервере в формате mail.company.com. Если у домена несколько почтовых серверов, что не редкость, рядом с каждой записью указывается число от 0 до 65535, обозначающее приоритет (наивысший — 0). Считается стандартом указывать 10-й приоритет для первого сервера почты.

 

CNAME: так называемое каноническое имя хоста. Необходимо при изменении имени сервера для перенаправления запроса на иное доменное имя. Содержит поля Alies и Canonical name (в первом указывается старое имя, во втором — новое, на которое должно идти перенаправление).

 

_Service._Proto.Name: запись, состоящая из нескольких элементов. Здесь Service означает название службы (например, ldap), Proto — протокол для подключения клиентов (например, tcp), Name — доменное имя, к которому привязана служба. Кроме того, указываются приоритет (по аналогии с MX), относительный вес, номер порта и доменное имя службы.

 

SOA: главная запись о домене, содержащая его имя и срок жизни информации о нём. Считается стандартом указывать срок жизни 1 сутки (задаётся в секундах, которых в сутках 86400).

 

DNS-сервер домена, что это значит простыми словами

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

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

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

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

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

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

Схема работы DNS

  1. 1.

    Когда вы вводите в строке браузера доменное имя, например, FAQ-REG.RU, браузер ищет на вашем локальном компьютере файл hosts. В нём задаётся соответствие домена IP-адресу. Если в этом файлe есть запись для введённого домена, то сайт откроется сразу (стрелка 9). Если же записи нет, браузер сформирует DNS-запрос к интернет-провайдеру (стрелка 1), чтобы тот нашёл IP-адрес домена.

  2. 2.

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

  3. 3.

    Корневые DNS-серверы хранят информацию только о DNS-серверах, ответственных за доменные зоны. Корневой DNS-сервер не может предоставить провайдеру информацию об IP-адресе домена FAQ-REG.RU. Зато он отправит IP-адрес DNS-сервера доменной зоны, в данном случае зоны .RU (стрелка 3).

  4. 4.

    Теперь у интернет-провайдера есть IP-адрес DNS-сервера доменной зоны .RU. Поэтому он обращается к этому DNS-серверу и запрашивает IP-адрес домена (стрелка 4).

  5. 5.

    DNS-серверы зоны .RU хранят только информацию о DNS-серверах всех доменов в этой зоне, а не их IP-адреса. Поэтому DNS-серверы зоны подскажут Интернет-провайдеру IP-адрес DNS-сервера домена FAQ-REG.RU (стрелка 5).

  6. 6.

    Интернет-провайдер получил IP-адрес DNS-сервера домена FAQ-REG.RU. Он обращается к DNS-серверу домена (например, к ns1.hosting.reg.ru) с запросом IP-адреса домена (стрелка 6).

  7. 7.

    После получения запроса DNS-сервер сначала проверяет, есть ли у него информация о домене FAQ-REG.RU и искомый IP-адрес для него. В случае успеха DNS-сервер отправит IP-адрес домена интернет-провайдеру (стрелка 7).

  8. 8.

    Интернет-провайдер получает IP-адрес домена и сохраняет его у себя в кеше. После этого он отправит браузеру результат DNS-запроса — IP-адрес домена FAQ-REG.RU (стрелка 8).

  9. 9.

    Браузер обращается к хостингу по полученному IP-адресу (стрелка 9). Теперь пользователю открывается запрашиваемый сайт FAQ-REG.RU.

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

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

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

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

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

Если вы зарегистрировали домен, но ещё не создали на нём сайт, после обновления DNS-серверов на вашем домене будет открываться парковочная страница с надписью «Домен надёжно припаркован». Если вы хотите создать на домене сайт, вам поможет статья: Я зарегистрировал домен, что дальше?

Помогла ли вам статья?

1496 раз уже
помогла

Что такое DNS сервер и как его настроить

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

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

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

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

work dns server

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

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

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

Во-вторых, днс серверы кроме ип адресов доменов могут хранить адреса почтовых серверов и некоторую другую информацию обеспечивающую работоспособность сети.

Как настроить DNS сервера в Windows

В разных версиях Windows настройка осуществляется одинаково, несколько отличается только внешний вид окон, поэтому покажем на примере Windows 10. Нам нужны настройки подключения к интернету, для этого щелкаем правой кнопкой мыши на соответствующем значке в системном трее и выбираем «Открыть „Параметры сети и Интернет“» и затем щелкаем по «Настройка параметров адаптера».

internet settings windows 10

Альтернативный вариант нажать сочетание клавиш WIN+R затем ввести команду control ncpa.cpl и нажать Enter. В результате откроется окно «Сетевые подключения» где выбираем интересующее нас подключение если их несколько, щелкаем по нему правой кнопкой мыши и выбираем в контекстном меню пункт «Свойства». Появится окно где нам нужна строчка «IP версии 4 (TCP/IPv4)» или версии 6, смотря какой у вас используется.

svoystva adaptera interneta

После этого нажимаем кнопку «Свойства» и попадаем в настройки данного протокола. В данном случае нас интересует нижний блок, связанный с DNS-серверами.

dns setting windows

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

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

Второй вариант «Использовать следующие адреса DNS-серверов» предполагает указание их пользователем самостоятельно. Это более гибкий вариант, только откуда взять адреса DNS серверов?

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

IP DNS серверов Яндекса:

Обычные

77.88.8.8

77.88.8.1

Безопасные — в базе отсутствуют мошеннические и вредоносные сайты

77.88.8.88

77.88.8.2

Семейные — тоже что безопасные плюс отсутствуют сайты для взрослых

77.88.8.3

77.88.8.7

IP DNS серверов Google:

8.8.8.8

8.8.4.4

IP DNS серверов проекта OpenDNS:

208.67.222.222

208.67.220.220

208.67.222.220

208.67.220.222

Вписываете в соответствующие поля нужные вам адреса и сохраняете настройки нажав OK. Возможность указать два адреса нужна на тот случай, что если окажется недоступен основной адрес, то Windows переключится на «Альтернативный DNS-сервер»

Что делать если DNS сервер не отвечает

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

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

Дело в том, что для ускорения работы Windows запоминает полученные ответы от DNS сервера и хранит их некоторое время. Поэтому, когда вы снова хотите открыть сайт, который уже недавно посещали, нужные сведения берутся из кэша. Чтобы очистить кэш DNS и заставить систему выполнить запрос на сервер откройте командную строку и выполните в ней команду ipconfig /flushdns.

На самом деле в Windows есть еще один способ указать системе ip адрес соответствующий конкретному домену. Это файл hosts являющийся локальной базой доменных имен. Он находится в папке C:\Windows\System32\drivers\etc и не имеет расширения, а для его редактирования необходимы права администратора.

Фактически это обычный текстовый файл и его можно открыть обычным Блокнотом. Каждая строчка соответствует одной записи и имеет вид ip-адрес пробел доменное имя, а строчки, начинающиеся со знака # являются комментариями.

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

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

Что делает DNS? Что это такое и как его изменить

В Allconnect мы работаем над предоставлением качественной информации с редакционной целостностью. Хотя этот пост может содержать предложения от наших партнеров, мы придерживаемся нашего мнения. Вот как мы зарабатываем деньги.

Как мы зарабатываем деньги

Allconnect — это независимый издательский сервис и служба сравнения, поддерживаемые рекламой. Наши партнеры могут компенсировать нам, когда вы нажимаете ссылки или подписываетесь на услуги через наш сайт. Эта компенсация может повлиять на то, как, где и в каком порядке появляются товары.Кроме того, мы иногда используем партнерские ссылки Amazon, рекомендуя продукт в наших статьях. Мы можем получить компенсацию, когда вы нажмете на ссылку и совершите покупку. Ваша информация передается только выбранным вами поставщикам во время оформления заказа. Эти партнерские отношения позволяют нам бесплатно подключить вас к лучшим поставщикам и продуктам.

Наше мнение наше

Начиная с 1998 года, цель Allconnect заключается в том, чтобы помочь вам уверенно сравнивать поставщиков и продукты услуг на дому.Мы знаем, что вы доверяете нам, чтобы быть точным и объективным. Хотя на нашем сайте представлены не все поставщики или продукты, представленные на рынке, наши рекомендации основаны на независимых исследованиях и честном мнении нашей редакции. Наша редакция не получает подарки или прямую компенсацию от наших партнеров.

Вы когда-нибудь слышали о термине «доменное имя» при просмотре интернета? Их примерно 351,8 миллиона.

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

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

Что такое DNS-сервер?

DNS-сервер сопоставляет доменные имена с IP-адресами. Доменные имена — это удобные для пользователя веб-адреса, например allconnect.com , а IP-адреса идентифицируют каждый из этих веб-сайтов с помощью удобного для компьютера числового кода, например 123.546.7.8.

Что означает DNS? Вы можете назвать это Системой доменных имен или Сервером доменных имен.

Как это работает?

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

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

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

Зачем менять свой DNS

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

Итак, почему вы хотите сменить DNS? Вот некоторые из них:

  • Доступ к веб-контенту, доступ к которому ограничен в вашем физическом месте (например, Netflix)
  • Ускорьте подключение к Интернету (иногда сторонние DNS-серверы работают быстрее, чем по умолчанию)
  • Поддерживайте безопасную сеть опыт просмотра веб-страниц для детей
  • Защитите свои устройства и данные с помощью сторонних DNS-серверов с дополнительными функциями безопасности (в основном для борьбы с фишингом)
  • Ваше интернет-соединение не работает, и вы подозреваете, что это проблема с DNS

Что делать, если он не работает

Существуют различные признаки того, что ваш DNS-сервер не работает, и вам потребуется небольшая диагностика на вашем конце, если вы хотите сделать исправление самостоятельно.Некоторые коды состояния HTTP, такие как 502 ошибки, 503 ошибки и 504 ошибки, могут указывать на проблему с вашим DNS.

Если вы подозреваете, что ваш DNS-сервер не работает, есть несколько основных способов подтвердить или даже исправить ситуацию:

  • Соединиться с другим устройством — Если у вас проблемы только на одном устройстве, в то время как все остальные могут подключиться без проблем, это, вероятно, зависит от устройства.
  • Попробуйте новый браузер или окно — Все устройства имеют проблемы? Откройте новый веб-браузер или попробуйте другую программу / приложение для просмотра веб-страниц.
  • Сброс вашего модема и маршрутизатора — Это может перезапустить все соединение, которое часто является все, что вам нужно.
  • Подключение с помощью проводного соединения — Подключите кабель Ethernet, чтобы проверить, не из-за того ли вам Wi-Fi, что вам трудно.

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

Очистить кэш DNS

На Mac:
  • Перейти к Приложения .
  • Нажмите Утилиты .
  • Двойной щелчок Терминал .
  • Выполните следующую команду: sudo dscacheutil -flushcache
  • Если команда выполнена успешно, система не возвращает никаких выходных данных.
В Windows:
  • Откройте окно Windows Command .
  • В открывшемся окне введите ipconfig / flushdns
  • После очистки кэша вы получите сообщение о вашем успехе в качестве подтверждения.

Измените DNS

На Mac:
  • Перейдите к Системные настройки .
  • Нажмите на Сеть .
  • Нажмите на Advanced .
  • Перейдите на вкладку DNS .
  • Нажмите значок + в левом нижнем углу, чтобы добавить новый DNS-сервер.
  • Введите номера общедоступного DNS-сервера (это можно получить на стороннем DNS-сервере).
  • Нажмите ОК .
  • Выберите Применить .
В Windows:
  • Перейдите к Параметры сети и Интернета .
  • Нажмите на Изменить настройки адаптера .
  • Щелкните правой кнопкой мыши по активному сетевому соединению и выберите Свойства .
  • Щелкните левой кнопкой мыши на интернет-протоколе версии 4 (TCP / IPv4) и выберите Свойства . (Если вы используете IPv6, также измените его.)
  • Нажмите Используйте следующие адреса DNS-серверов: и введите новый адрес DNS-сервера (вы можете получить его от стороннего DNS).

Рассматриваете DNS-сервер? Ознакомьтесь с нашими рекомендациями для лучших бесплатных DNS-серверов!

Alex Sheehan

Пытаетесь найти подходящий DNS-сервер? Проверьте наши лучшие выборы, чтобы найти тот, который подходит именно вам! Читать дальше

.

Какой у меня DNS сервер?

Этот сайт активно определяет DNS-серверы, которые использует ваш компьютер, наблюдая, как ваши DNS-запросы обрабатываются в Интернете.

Нажмите кнопку ниже, чтобы узнать, какие DNS-серверы использует ваш компьютер.

Какой у меня DNS сервер?


Что такое DNS-сервер?

Когда вы просматриваете URL-адрес (адрес веб-сайта), DNS-сервер сообщает вашему веб-браузеру, куда идти (адрес в Интернете, где находится этот веб-сайт).

Почему я должен заботиться?

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

Что определяет, какой DNS-сервер использует мой компьютер?

Существует несколько настроек, которые определяют, какой DNS-сервер будет использовать ваш компьютер:

  • Ваш DNS-сервер может быть настроен в сетевых настройках вашей операционной системы.
  • Если вы не настроили DNS в своей операционной системе, вы можете установить его в маршрутизаторе.
  • Если вы не установите его в маршрутизаторе, то ваш провайдер решит, какой DNS-сервер вы используете.

Таким образом, должно работать . К сожалению, есть вещи, которые могут пойти не так:

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

Как работает «Какой у меня DNS сервер?» Помогите?

«Какой у меня DNS сервер?» активно следит за тем, как обрабатываются DNS-запросы с вашего компьютера, а затем показывает, какой DNS-сервер использовался в Интернете, и известны ли какие-либо проблемы по этому поводу.Затем вы можете проверить, действительно ли использовался DNS-сервер, который, по вашему мнению, использовался.

Где-нибудь еще, где я могу получить эту функциональность?

Да! RouterCheck — это инструмент, который позволяет легко сканировать домашнюю сеть на наличие проблем безопасности. Он не только рассматривает состояние DNS, но и проверяет многие другие аспекты, чтобы определить общую безопасность и конфиденциальность вашей сети. Технология, которая работает «Что такое мой DNS-сервер?» встроен в RouterCheck вместе со многими другими расширенными функциями.

,
Что такое DNS? Понятие системы доменных имен, DNS-сервера и IP-адреса

Введение

К концу этой статьи вы должны лучше понять:

  1. Что такое DNS и что он делает
  2. Какие DNS-серверы работают
  3. Как работают адреса интернет-протокола (IP) в контексте DNS

Важные понятия

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

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

Ментальные модели дают вам ориентир, когда вещи становятся немного странными и незнакомыми.

Итак, давайте заложим основу.

  • Запрос и ответ. Это когда Thing 1 просит Thing 2 о чем-то, а Thing 2 отвечает на этот запрос.Например:
Запрос и ответ
  • Родительско-дочерние узлы и графики, которые выглядят следующим образом (только более сложные).
Граф дерева
  • Сообщения. Это не запрос и ответ, потому что нет ответа. В мире DNS форматирование и содержание сообщений варьируются в зависимости от использования.
Сообщение
  • Отношения клиент-сервер. Проще говоря, сервер — это программное или аппаратное устройство, которое обеспечивает функциональность для других программных или аппаратных устройств, называемых «клиентами».

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

Отношения клиент-сервер

Что такое DNS?

Система доменных имен (DNS) сопоставляет понятные человеку доменные имена (в URL или в адресе электронной почты) с IP-адресами. Например, DNS переводит и сопоставляет домен freecodecamp.org с IP-адресом 104.26.2.33.

Чтобы помочь вам полностью понять это описание, этот раздел подробно описывает:

  • Исторический контекст для развития DNS — какие проблемы были решены и IP-адреса?
  • Доменные имена
  • IP-адреса

Исторический контекст

В 1966 году Агентство перспективных исследовательских проектов (ARPA), правительственное агентство США, основало компьютерную сеть под названием ARPAnet.Проще говоря, ARPAnet — это первая итерация того, что мы сегодня знаем как Интернет.

Основные цели ARPAnet включали

«(1) обеспечение надежной связи даже в случае частичного отказа оборудования или сети, (2) возможность подключения к различным типам компьютеров и операционных систем и (3) совместные усилия, а не монополия, контролируемая одной корпорацией. Чтобы обеспечить надежную связь в случае отказа оборудования, ARPANET был разработан таким образом, чтобы ни одна точка или канал не были более критичными, чем любая другая.Это сопровождалось созданием избыточных маршрутов и использованием перенаправления данных на лету, если какая-либо часть сети вышла из строя ».

Проблемы

DNS и TCP / IP были критически важны при решении двух проблем с ARPAnet:

Для ARPAnet существовало одно местоположение (файл с именем HOSTS.TXT), которое содержало все сопоставления имени и адреса для каждого хост в сети.

«HOSTS.TXT» поддерживался Сетевым информационным центром SRI (названным «NIC») и распространялся с одного хоста, SRI-NIC.[*] Администраторы ARPAnet, как правило, отправляли свои изменения в сетевой карте по электронной почте, периодически пересылали данные по FTP на SRI-NIC и получали текущий H
.

DNS: что это такое и что делает

  1. Образование
  2. Основы Интернета
  3. DNS: что это такое и что делает

Блэр Рэмплинг, Дэвид Далан

По сути, DNS — это просто база данных, которая связывает значимые имена (известные как имен хостов ), такие как http://www.microsoft.com, с определенным IP-адресом, таким как 192.168.124.1. Однако простая привязка адресов к именам — это только начало, потому что DNS имеет гораздо больше возможностей в дополнение к сопоставлению имени хоста с адресом.

Основные характеристики сопоставления имени хоста и IP:

  • Отображения адресов на имена и наоборот (известные как записи) хранятся в базе данных.
  • База данных DNS распределена.
  • База данных DNS также хранит дополнительные записи.

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

В дополнение к базовым записям сопоставления IP-адресов и имен хостов, хранящимся в базе данных DNS, записи также поддерживаются DNS для других целей. DNS содержит несколько типов записей, которые облегчают другие приложения.Например, запись почтового обменника (MX) предоставляет почтовым серверам информацию, необходимую для пересылки сообщений электронной почты на почтовый сервер получателя. Другой тип записи, запись службы (SVC), используется Microsoft Active Directory для поиска сетевых служб.

Видя разницу DNS

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

Многие распространенные приложения используют службы DNS, в том числе

  • Другие приложения, такие как обмен мгновенными сообщениями

World Wide Web зависит от DNS для удобной навигации. Вы можете попасть на веб-сайт, введя IP-адрес сайта в веб-браузере, но запомнить множество произвольных чисел нелегко для большинства людей.Гораздо проще запомнить DNS-имя для веб-сайта, который отражает его содержимое, например http://www.yahoo.com или http://www.microsoft.com. Было бы справедливо сказать, что без DNS Интернет не стал бы таким явлением, как сейчас.

Обслуживание почтовой связи

Электронная почта — одно из самых популярных приложений, использующих DNS. Хотя Интернет просто использует DNS для привязки имен к IP-адресам для веб-сайтов, почтовым серверам также требуются некоторые специальные записи сверх того, что требуется для базового имени хоста и IP-адресов.Например, когда сообщение электронной почты отправляется с вашего почтового клиента (например, Microsoft Outlook или Netscape Messenger), его можно отправить либо напрямую в целевой домен (Microsoft.com, если примечание было отправлено пользователю @ microsoft). .com) или на другой почтовый сервер, который предоставляет услугу ретрансляции. Если в приложении электронной почты указан сервер исходящей почты (SMTP), который не является конечным сервером назначения для сообщения, вы используете процесс ретрансляции.

Адрес электронной почты состоит из двух частей: получателя и хоста.В адресе [email protected], postmaster — получатель, пользователь, который получит сообщение. Это не имеет отношения к процессу SMTP, потому что агент передачи почты (MTA) отвечает за то, чтобы сообщение попадало в почтовый ящик получателя.

Хост, domain.tld, представляет гораздо больший интерес. В этом случае domain.tld относится не к хосту в традиционном смысле записи A, а к почтовому серверу, известному как почтовый обменник (MX). Этот сервер отвечает за прием всей почты для domain.tld, обозначенной специальной записью — MX-записью — в DNS.

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

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

Об авторе книги
Блэр Рэмплинг — старший системный администратор и системный архитектор.

Дэвид Далан — технический инструктор и менеджер по обучению в одной из ведущих международных служб технической поддержки.

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Dns server что это такое – Что такое DNS-сервер и для чего он нужен?

Содержание

Что такое DNS-сервер и для чего он нужен?

480 auto

Если спросить среднего пользователя интернета, что такое сайт, скорее всего, он назовёт, например, yandex.ru, mail.ru, google.com, facebook.com, …

В практическом смысле этого вполне достаточно: нашёл интересный сайт, сообщил знакомым его доменное имя (или проще, «адрес»).

Однако настоящим адресом доменное имя не является. Ну это примерно так же, как отправить письмо с надписью на конверте: «город Екатеринбург, Петру Иванову». Здесь дело даже не в том, что Петров Ивановых в Екатеринбурге может быть несколько (представим, что человек с таким именем там единственный). Проблема в том, что адресат может перемещаться, минимум, по городу, и вручить ему письмо будет крайне проблематично.

Но письма-то доставляют и получают! — Да, конечно. Потому что они отправляют по почтовым адресам. Например, «город Ленинград, 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:

1cloud.ru

DNS сервер BIND (теория) / Habr

Основная цель DNS — это отображение доменных имен в IP адреса и наоборот — IP в DNS. В статье я рассмотрю работу DNS сервера BIND (Berkeley Internet Name Domain, ранее: Berkeley Internet Name Daemon), как сАмого (не побоюсь этого слова) распространенного. BIND входит в состав любого дистрибутива UNIX. Основу BIND составляет демон named, который для своей работы использует порт UDP/53 и для некоторых запросов TCP/53.
Основные понятия Domain Name System

Исторически, до появления доменной системы имен роль инструмента разрешения символьных имен в IP выполнял файл /etc/hosts, который и в настоящее время играет далеко не последнюю роль в данном деле. Но с ростом количества хостов в глобальной сети, отслеживать и обслуживать базу имен на всех хостах стало нереально затруднительно. В результате придумали DNS, представляющую собой иерархическую, распределенную систему доменных зон. Давайте рассмотрим структуру Системы Доменных Имён на иллюстрации:


Доменная структура DNS представляет собой древовидную иерархию, состоящую из узлов, зон, доменов, поддоменов и др. элементов, о которых ниже пойдет речь. «Вершиной» доменной структуры является корневая зона. Настройки корневой зоны расположены на множестве серверов/зеркал, размещенных по всему миру и содержат информацию о всех серверах корневой зоны, а так же отвечающих за домены первого уровня (ru, net, org и др). Информация о серверах корневой зоны расположена на данном сайте корневых серверов. Настройки корневой зоны всегда доступны тут. Серверы корневой зоны обрабатывают и отвечают на запросы, выдавая информацию только о доменах первого уровня (то есть отвечают на любые запросы, как на нерекурсивные)! Итак, уже много раз повторилось слово зона. Пора этот термин объяснить.

Зона — это любая часть дерева системы доменных имен, размещаемая как единое целое на некотором DNS-сервере. Зону, для бОльшего понимания, можно назвать «зоной ответственности». Целью выделения части дерева в отдельную зону является передача ответственности (Делегирование) за эту ветвь другому лицу или организации. На иллюстрации, примеры зон выделены синим градиентом (зона name., зона k-max.name. со всем подчиненными ресурсами, www.openoffice.org со всем подчиненными поддоменами и ресурсами). На иллюстрации выделены не все зоны, а лишь некоторые для общего понимания и представления. В каждой зоне имеется, по крайней мере, один авторитетный сервер DNS, который хранит ВСЮ информацию о зоне, за которую он отвечает.

Домен — это именованная ветвь или поддерево в дереве имен DNS, то есть это определенный узел, включающий в себя все подчиненные узлы. Следующая цитата из книги Linux Network Administrators Guide хорошо проясняет картину относительно разницы между зоной и доменом:

Таким образом, пространство имен раздроблено на зоны ( zones), каждая из которых управляется своим доменом. Обратите внимание на различие между зоной (zone) и доменом (domain): домен groucho.edu затрагивает все машины в университете Groucho Marx, в то время как зона groucho.edu включает только хосты, которые работают в непосредственно компьютерном центре, например в отделе математики. Хост в отделе физики принадлежат другой зоне, а именно physics.groucho.edu.

Каждый узел в иерархии DNS отделен от своего родителя точкой. Если провести аналогию с файловой системой Linux, система доменных имен имеет похожую структуру, за тем исключением, что разделитель в файловой системе — слэш, а в DNS — точка. А так же DNS адрес читается справа налево (от корневого домена к имени хоста) в отличии от пути в файловой системе Linux. Доменное имя начинается с точки (корневого домена) и проходит через домены первого, второго и если нужно третьего и т.д. уровней и завершается именем хоста. Т.о. доменное имя полностью отражает структуру иерархии DNS. Часто (я бы сказал — всегда в повседневной жизни), последняя точка (обозначение корневого домена) в доменном имени опускается (то есть в браузере мы вводим не k-max.name., а k-max.name). Итак, разобрав структуру доменного имени, мы незаметно подошли к понятию FQDN.

FQDN (англ. Fully Qualifed Domain Name, полностью определённое имя домена) — это имя домена, однозначно определяющее доменное имя и включающее в себя имена всех родительских доменов иерархии DNS, в том числе и корневого. Своеобразный аналог абсолютного пути в файловой системе. Давайте разберем вышесказанное на примере имени домена mail.k-max.name:

mail.k-max.name.
 |     |  |  | |
 |     |  |  | +-корневой домен
 |     |  |  +---домен первого уровня
 |     |  +------точка, разделяющая домены/части FQDN
 |     +---------домен второго уровня
 +---------------поддомен/домен третьего уровня, возможно - имя хоста

Различие между FQDN и обычным доменным (неFQDN) именем появляется при именовании доменов второго, третьего (и т. д.) уровня. Для получения FQDN требуется обязательно указать в доменном имени домены более высокого уровня (например, mail является доменным именем, однако FQDN имя выглядит как mail.k-max.name.). Максимальный размер FQDN — 255 байт, с ограничением в 63 байта на каждое имя домена.

Поддомены, коротко говоря, это — подчиненные домены. По большому счету, все домены в интернете являются подчиненными за исключением корневого. Например домен k-max является поддоменом домена name, а name, в свою очередь — поддоменом корневого домена.

Итак, на схеме выше мы рассмотрели корневой домен, следующим в иерархии идут домены первого/верхнего уровня, они же TLD, они же Top-Level Domain. К данным доменам относятся национальные домены (ru., ua. и др) и общие домены (com., net., и др). Существуют так же специализированные домены, которые не опубликованы в системе DNS, но используются программами (домен .onion используется анонимной сетью Tor для перехвата и последующей маршрутизации обращений к скрытым сервисам этой сети). Еще есть т.н. зарезервированные доменные имена, определенные в RFC 2606 (Reserved Top Level DNS Names — Зарезервированные имена доменов верхнего уровня) определяет названия доменов, которые следует использовать в качестве примеров (например, в документации), а также для тестирования. К таким именам относятся например example.com, example.org и example.net, а также test, invalid и др. Ниже по иерархии, как видно, идут домены третьего уровня и т.д. Заканчивается доменная иерархия — именами хостов, которые задаются соответствующими ресурсными записями или хостовыми записями.

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

Ресурсная запись — это то, собственно ради чего в конечном счете и существует DNS. Ресурсная запись — это единица хранения и передачи информации в DNS. Каждая такая запись несет в себе информацию соответствия какого-то имени и служебной информации в DNS, например соответствие имени домена — IP адреса.
Запись ресурса состоит из следующих полей:

  • имя (NAME) — доменное имя, к которому привязана или которому «принадлежит» данная ресурсная запись, либо IP адрес. При отсутствии данного поля, запись ресурса наследуется от предыдущей записи.
  • Time To Live (TTL) — дословно «время жизни» записи, время хранения записи в кэше DNS (после указанного времени запись удаляется), данное поле может не указываться в индивидуальных записях ресурсов, но тогда оно должно быть указано в начале файла зоны и будет наследоваться всеми записями.
  • класс (CLASS) — определяет тип сети, (в 99,99% случаях используется IN (что обозначает — Internet). Данное поле было создано из предположения, что DNS может работать и в других типах сетей, кроме TCP/IP)
  • тип (TYPE) — тип записи синтаксис и назначение записи
  • данные (DATA) — различная информация, формат и синтаксис которой определяется типом.

При этом, возможно использовать следующие символы:
  • ;   —  Вводит комментарий
  • #  —  Также вводит комментарии (только в версии BIND 4.9)
  • @  — Имя текущего домена
  • ( )    — Позволяют данным занимать несколько строк
  • *    — Метасимвол (только в поле имя)

Со всем набором ресурсных записей можно ознакомиться в wikipedia. Наиболее часто применяемые ресурсные записи следующими (далее, мы обязательно рассмотрим их на практике):
  • A — (address record/запись адреса) отображают имя хоста (доменное имя) на адрес IPv4. Для каждого сетевого интерфейса машины должна быть сделана одна A-запись. Например, следующая запись отображает доменное имя k-max.name. в IPv4 адрес хоста 81.177.139.65 (поле NAME k-max.name., поле TTL 86400, поле CLASS IN, поле DATA 81.177.139.65):
    k-max.name.             86400   IN      A       81.177.139.65
  • AAAA (IPv6 address record) аналогична записи A, но для IPv6.
  • CNAME (canonical name record/каноническая запись имени (псевдоним)) — отображает алиас на реальное имя (для перенаправления на другое имя), например, следующая запись задает алиас ftp для хоста www.k-max.name.:
    ftp             86400   IN      CNAME       www.k-max.name.
  • MX (mail exchange) — указывает хосты для доставки почты, адресованной домену. При этом поле NAME указывает домен назначения, поля TTL, CLASS — стандартное значение, поле TYPE принимает значение MX, а поле DATA указывает приоритет и через пробел — доменное имя хоста, ответственного за прием почты. Например, следующая запись показывает, что для домена k-max.name направлять почту сначала на mx.k-max.name, затем на mx2.k-max.name, если с mx.k-max.name возникли какие-то проблемы. При этом, для обоих MX хостов должны быть соответствующие A-записи:
    k-max.name.             17790   IN      MX      10 mx.k-max.name.
    k-max.name.             17790   IN      MX      20 mx2.k-max.name.
  • NS (name server/сервер имён) указывает на DNS-сервер, обслуживающий данный домен. Вернее будет сказать — указывают сервера, на которые делегирован данный домен. Если записи NS относятся к серверам имен для текущей зоны, доменная система имен их практически не использует. Они просто поясняют, как организована зона и какие машины играют ключевую роль в обеспечении сервиса имен. Например, зону name. обслуживают следующие NS:
    name.                   5772    IN      NS      l6.nstld.com.
    name.                   5772    IN      NS      m6.nstld.com.
    name.                   5772    IN      NS      c6.nstld.com.
    name.                   5772    IN      NS      j6.nstld.com.
    ......

    зону k-max.name обслуживают:
    k-max.name.             1577    IN      NS      ns2.jino.ru.
    k-max.name.             1577    IN      NS      ns1.jino.ru.
  • PTR (pointer) — отображает IP-адрес в доменное имя (о данном типе записи поговорим ниже в разделе обратного преобразования имен).
  • SOA (Start of Authority/начальная запись зоны) — описывает основные/начальные настройки зоны, можно сказать, определяет зону ответственности данного сервера. Для каждой зоны должна существовать только одна запись SOA и она должна быть первая. Поле Name содержит имя домена/зоны, поля TTL, CLASS — стандартное значение, поле TYPE принимает значение SOA, а поле DATA состоит из нескольких значений, разделенных пробелами: имя главного DNS (Primary Name Server), адрес администратора зоны, далее в скобках — серийный номер файла зоны (Serial number). При каждом внесении изменений в файл зоны данное значение необходимо увеличивать, это указывает вторичным серверам, что зона изменена, и что им необходимо обновить у себя зону. Далее — значения таймеров (Refresh — указывает, как часто вторичные серверы должны опрашивать первичный, чтобы узнать, не увеличился ли серийный номер зоны, Retry — время ожидания после неудачной попытки опроса, Expire — максимальное время, в течение которого вторичный сервер может использовать информацию о полученной зоне, Minimum TTL — минимальное время, в течение которого данные остаются в кэше вторичного сервера). Ниже в примере приведено 2 одинаковые записи SOA (хотя вторая и записана в несколько строк), но они одинаковы по значению и формат записи второй более понятен в силу его структурированности:
    k-max.name.             86400   IN      SOA     ns1.jino.ru. hostmaster.jino.ru. 2011032003 28800 7200 604800 86400
    k-max.name.             86400   IN      SOA     ns1.jino.ru. hostmaster.jino.ru. (
                                                      2011032003 ; serial (серийный номер)
                                                      28800 ; refresh (обновление)
                                                      7200 ; retry (повторная попытка)
                                                      604800 ; expire (срок годности)
                                                      86400) ; minimum TTL (минимум)
  • SRV (server selection) — указывают на сервера, обеспечивающие работу тех или иных служб в данном домене (например  Jabber и Active Directory).

Давайте рассмотрим, что есть Делегирование. Делегирование (корректнее сказать делегирование ответственности) — это операция передачи ответственности за часть дерева доменных имен (зону) другому лицу или организации. За счет делегирования, в DNS обеспечивается распределенность администрирования и хранения зон. Технически, делегирование заключается в выделении какой-либо части дерева в отдельную зону, и размещении этой зоны на DNS-сервере, принадлежащем другому лицу или организации. При этом, в родительскую зону включаются «склеивающие» ресурсные записи (NS и А), содержащие указатели на авторитативные DNS-сервера дочерней зоны, а вся остальная информация, относящаяся к дочерней зоне, хранится уже на DNS-серверах дочерней зоны. Например, на иллюстрации корневой домен делегирует полномочия серверам отвечающим за TLD, TLD же в свою очередь, делегируют полномочия управления зонами — серверам второго уровня, иногда на этом цепочка заканчивается, но бывает, что делегирование простирается до 4 и даже 5 уровней.

Для бОльшего понимания, приведу пример. Делегирование управления поддоменом k-max.name другому лицу (в моем случае — хостеру) приводит к созданию новой зоны, которая администрируется независимо от остального пространства имен (независимо от вышестоящего name.). Зона k-max.name после делегирования полномочий теперь не зависит от name. и может содержать все (вернее сказать — любые имена, которые я захочу) доменные имена, которые заканчиваются на *.k-max.name. С другой стороны, зона name. содержит только доменные имена, оканчивающиеся на *.name., но не входящие в делегированные этой зоны, такие, например, как k-max.name или a-lab.name или любая другая. k-max.name может быть поделен на поддомены с именами вроде mail.k-max.name, ftp.k-max.name и некоторые из этих поддоменов могут быть выделены в самостоятельные зоны, и ответственность за данные зоны может так же быть делегирована. Если ftp.k-max.name будет являться самостоятельной зоной, то зона k-max.name не будет содержать доменные записи, которые заканчиваются на *.ftp.k-max.name.

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

Серверы DNS

Выше, при рассмотрении типов ресурсных записей я упоминал о первичном и вторичном сервере. Кроме данных типов, существует еще один тип — кэширующий.

Главный сервер DNS (он же первичный, он же master, он же primary) — это авторитетный сервер (иногда называют — авторитативный, как правильнее называть — не знаю), который хранит главную копию файла данных зоны, сопровождаемую администратором системы.

Вторичный сервер — тоже является авторитетным, но он копирует главный файл зоны с первичного сервера. Отличие главного от вторичного лишь в том, что главный загружает свою информацию из конфигурационных файлов зоны, а вторичный — загружает (получает) настройки зон — с главного сервера. Вторичный DNS может получать свои данные и от другого вторичного сервера. Любой запрос относительно хоста в пределах зоны, за которую отвечает авторитетный сервер, будет в конце концов передан одному из этих серверов (главному или вторичному). Вторичных серверов может быть сколько угодно много. В зависимости от настроек, главный сервер может посылать вторичному сигнал о изменении зоны, при этом вторичный, получив сигнал производит копирование. Данное действие называется трансфер зоны (zone transfer). Существует два механизма копирования зоны: полное копирование (AXFR) и инкрементальное (incremental) копирование зоны (IXFR).

Кэширующие серверы НЕ АВТОРИТЕТНЫ, данные серверы хранят в памяти (кэше), ответы на предыдущие запросы, если данный сервер получил запрос, то он сначала просматривает информацию в кэше, и если в кэше не оказалось необходимого ответа, то отправляет запрос вышестоящему серверу DNS.

Возможно так же настроить DNS в режиме stels (т.н. невидимый), информацию о данном сервере невозможно получить используя прямые запросы. Это может быть полезно для организации primary сервера в защищенной среде и тем самым оградить зону от атак на зону.

Клиенты DNS (resolver)

Как же программы на конечных машинах знают куда и в каком виде посылать запросы DNS? Они этого не знают. Для разрешения имен и IP адресов клиентскими приложениями используется библиотека Resolver. Это не какое-то специальное приложение, это функциональность системы (ядра). Т.о. приложения посылают системные вызовы gethostbyname(2) и gethostbyaddr(2), а ядро уже на основании настроек в файле /etc/nsswitch.conf определяет по какому пути ему далее действовать. Данный файл определяет какие сервисы (будь то файл /etc/hosts или DNS) и в каком порядке использовать. В ранних версиях библиотеки Linux — libc, использовался файл /etc/host.conf. Вот фрагмент файла, который нас интересует:
root@DNS:~# cat /etc/nsswitch.conf
......
hosts:          files dns
networks:       files

Две строки данного фрагмента указывают ядру производить преобразование имен хостов в IP (строка hosts: files dns) сначала из файла hosts, затем силами DNS, а так же преобразование имен сетей в IP (строка networks: files) с помощью файла /etc/network.Возможны так же параметры nis или nisplu, определяющие использовать Network Information System (NIS) чтобы найти адрес. Порядок, в котором перечислены сервисы, определяет последовательность их опроса.
Если согласно /etc/nsswitch.conf запрос отправляется DNS, то используются настройки из файла /etc/resolv.conf, который определяет какие серверы DNS использовать. Вот типичный пример файла /etc/resolv.conf:
root@DNS:~# cat /etc/resolv.conf
nameserver 192.168.1.1
nameserver 192.168.1.2
domain  examle.com

Директива nameserver определяет адрес сервера доменных имен, который будет выполнять рекурсивные запросы resolver. В данном файле указано использовать север имен сначала 192.168.1.1 затем, если первый не смог обработать запрос, 192.168.1.2. Рекомендуется не использовать более 3х параметров nameserver. Если опция nameserver не задана, то резолвер попытается соединиться с сервером на локальном хосте. Параметр domain определяет заданное по умолчанию имя домена, которое будет подставлено, когда DNS не удастся найти имя хоста. Существует так же опция search, которая задает дополнительные домены, в которых необходимо произвести поиск и разрешение имени хоста. Опции search и domain нельзя использовать совместно.

Кроме кэша на ДНС сервере, существуют кэши интернет-браузеров, кэши резолверов. Довольно прозрачную картину предоставляет Wikipedia:

Запросы DNS

В DNS имеются следующие типы запросов: итеративный (он же прямой), обратный и рекурсивный.

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

Рекурсивный запрос посылает DNS серверу доменное имя и просит возвратить IP адрес запрошенного домена. При этом сервер может обращаться к другим DNS серверам.

Обратный запрос посылает IP  и просит вернуть доменное имя.

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

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

Давайте разберем, что тут нарисовано по шагам:

  1. Клиент (браузер, почтовая программа, либо любое другое приложение) отправляет запрос резолверу, резолвер на основании указанных конфигов определяет адрес настроенного сервера имен.
  2. Резолвер посылает запрос указанному серверу имен.
  3. Сервер имен принимает данный рекурсивный запрос и, т.к. не имеет информации ни о домене, ни, возможно, даже о зоне name., отправляет рекурсивный (или нерекурсивный в зависимости от настроек) запрос серверу, отвечающему за корневую зону.
  4. Сервер корневой зоны не обрабатывает рекурсивные запросы, в результате обрабатывает данный запрос как итеративный и возвращает имя и адрес сервера, авторитетного за зону name.
  5. Сервер последовательно продолжает опрашивать авторитативные сервера для последующих зон, в порядке убывания уровня зон в имени
  6. пока не получает удовлетворительный ответ, данных шагов может быть больше, в зависимости от длины доменного имени
  7. и «вложенности» доменных имен.
  8. В итоге, сервер получает необходимый ответ от сервера имен, хранящего необходимую ресурсную запись о хосте.
  9. Сервер провайдера локальной сети возвращает резолверу клиента запрошенные данные.

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

Для решения данного вопроса DNS-серверы BIND используют метрику, называемую временем отклика (roundtrip time, или RTT), для выбора среди авторитативных DNS-серверов одной зоны. RTT определяет задержку, с которой приходит ответ на запросы от удаленного сервера. Каждый раз, при передаче запроса удаленному серверу, DNS-сервер BIND запускает внутренний таймер. Таймер останавливается при получении ответа, и метрика фиксируется локальным сервером. Если приходится выбирать один из нескольких авторитативных серверов, выбор падает на сервер с наименьшим показателем RTT.

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

Ответы DNS сервера

Ответы DNS бывают следующего типа:
  • Авторитативный ответ (authoritative response) приходит от серверов, являющихся ответственными за зону.
  • Неавторитативный ответ (non authoritative response) приходит от серверов, которые не отвечают за зону (от кэширующих).

Ответ DNS обычно содержит следующую информацию:
  • Запись заголовка — служебную информацию о запросе.
  • Запись запроса — повторяет отправленный запрос.
  • Запись ответа — собственно, сам ответ.
  • Записи авторитетных серверов — информацию об авторитетных серверах, хранящих информацию по текущему запросу.
  • Дополнительную информацию — дополнительные записи, например адреса NS-серверов.

Вышенаписанное наглядно подтверждается утилитой dig:
root@DNS:~# dig ya.ru
; <<>> DiG 9.7.3 <<>> ya.ru (раздел заголовка)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53499
;; flags: qr rd ra; QUERY: 1, ANSWER: 7, AUTHORITY: 2, ADDITIONAL: 3

;; QUESTION SECTION: (раздел запроса)
;ya.ru.                         IN      A

;; ANSWER SECTION: (раздел ответа)
ya.ru.                  4813    IN      A       87.250.250.203
ya.ru.                  4813    IN      A       87.250.251.3
ya.ru.                  4813    IN      A       93.158.134.3
ya.ru.                  4813    IN      A       93.158.134.203
ya.ru.                  4813    IN      A       213.180.204.3
ya.ru.                  4813    IN      A       77.88.21.3
ya.ru.                  4813    IN      A       87.250.250.3

;; AUTHORITY SECTION: (авторитативные сервера)
ya.ru.                  4813    IN      NS      ns1.yandex.ru.
ya.ru.                  4813    IN      NS      ns5.yandex.ru.

;; ADDITIONAL SECTION: (дополнительная информация - адреса авторитативных name servers)
ns5.yandex.ru.          345565  IN      A       213.180.204.1
ns1.yandex.ru.          345565  IN      A       213.180.193.1
ns1.yandex.ru.          3565    IN      AAAA    2a02:6b8::1

;; Query time: 7 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Sat Jul  2 23:02:45 2011
;; MSG SIZE  rcvd: 238

Обратное преобразование имен

DNS используется в первую очередь для преобразования доменных имён в IP-адреса, но он также может выполнять обратный процесс, называемый Обратное преобразование имен или обратным отображением. Т.к. записи в прямой базе DNS структурированы иерархически по доменным именам, DNS не может эффективно выполнять поиск по IP адресу в такой базе. Для обратного преобразования в DNS используется специальный домен in-addr.arpa. Ресурсные записи в данном домене в поле Name содержат IP-адреса, в поле TypePTR, а в поле DataFQDN-имя соответствующее данному IP.

На схеме представлена структура домена arpa. Думаю, что тут все довольно наглядно. Домен arpa. имеет 2 поддомена in-addr и ip6, отвечающие за IPv4 и IPv6 адреса соответственно. Домен in-addr.arpa. имеет от *.0.in-addr.arpa. до *.255.in-addr.arpa. поддоменов, каждый из которых так же имеет по 256 поддоменов.

В целях уменьшения объёма нежелательной корреспонденции (спама) многие почтовые серверы могут проверять наличие PTR записи для хоста, с которого происходит отправка. В этом случае PTR запись для IP адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP сессии.

Наглядно приведенную схему можно представить командами:

[root@DNS~]# dig www.ru
...
;; QUESTION SECTION:
;www.ru                                IN      A

;; ANSWER SECTION:
www.ru                 52119   IN      A       194.87.0.50
...
[root@DNS~]# dig -x 194.87.0.50
...
;; QUESTION SECTION:
;50.0.87.194.in-addr.arpa.      IN      PTR

;; ANSWER SECTION:
50.0.87.194.in-addr.arpa. 30385 IN      PTR     www.ru
....

При этом, команду dig -x 194.87.0.50 правильнее будет представить как dig 50.0.87.194.in-addr.arpa., то есть записи в поддоменах *.in-addr.arpa. представлены в так называемой обратной нотации (или reverse форме), то есть хосту с IP 194.87.0.50 будет соответствовать PTR-запись, имеющая FQDN 50.0.87.194.in-addr.arpa., которая в свою очередь указывает на домен www.ru  Хочется отметить, что чаще всего за обратную зону и ее редактирование отвечает поставщик интернета.

Как и обещал, описываю ресурсную запись PTR в домене IN-ADDR.ARPA, соответствующая приведенной выше записи А для машины www.ru. будет иметь такой вид:

50.0.87.194 IN PTR www.ru

Имя 50.0.87.194 не заканчивается точкой и поэтому является относительным. Вопрос: относительным относительно чего? Ни в коем случае не относительно «www.ru». Для того чтобы эта запись была FQDN, домен по умолчанию должен называться «IN-ADDR.ARPA.». Этого можно добиться либо поместив записи PTR в отдельный файл, в котором доменное имя зоны по умолчанию — IN-ADDR.ARPA. (заданный в файле начальной загрузки демона named), либо изменив этот домен с помощью директивы $ORIGIN. Если домен по умолчанию определен как 0.87.194.IN-ADDR.ARPA., то запись можно представить так:

80 IN PTR www.ru
Регистрация доменных имен

В двух словах хотел бы затронуть вопрос регистрации доменных имен.

Регистрация доменов — это действие, посредством которого клиент сообщает регистратору, каким DNS-серверам следует делегировать поддомен, и также снабжает регистратора контактной и платежной информацией. Регистратор передает информацию в соответствующий реестр. Чаще всего, это процесс внесения в реестр зоны первого уровня (то есть в TLD зоны ru, com или др.), записи о новом доменном подимени.

Регистратор доменных имён — это организация, имеющая полномочия создавать (регистрировать) новые доменные имена и продлевать срок действия уже существующих доменных имён в домене, для которого установлена обязательная регистрация.

Уровни доменов, для которых необходима обязательная регистрация лица, ответственного за домен, следующие:

  • корневой домен
  • все домены первого уровня (TLD)
  • некоторые домены второго уровня (например, com.ru или co.uk)

Регистратором для корневого домена является организация ICANN. Чтобы стать регистратором доменов в зонах второго уровня (.com .net .org .biz .info .name .mobi .asia .aero .tel .travel .jobs …), необходимо получить аккредитацию ICANN.

Правила регистрации в международных (gTLD — com., org, и др.) доменах устанавливаются ICANN. Правила регистрации в национальных (ccTLD — ru, us и др.) доменах устанавливаются их регистраторами и/или органами власти соответствующих стран, например единые правила для всех регистраторов в доменах .ru, и.рф задаются Координационным центром национального домена сети Интернет. Для многих доменов (в том числе и для ru) регистратор не единственный. При наличии нескольких регистраторов все они должны использовать единую (централизованную или распределённую) базу данных для исключения конфликтов и обеспечения уникальности доменного имени.

Услуга регистрации домена в большинстве случаев платная, цену и условия регистрации определяет регистратор. Для регистрации домена, необходимо выбрать свободное имя и отправить заявку на регистрацию у одного из регистраторов (например nic.ru), оплатить предоставление услуги. После подтверждения регистрации, необходимо в интерфейсе регистратора определить (делегировать) dns сервера, скорее всего это будут DNS вашего хостера.

В завершение статьи хочу отметить так же о таком маркетинговом нюансе, что иногда домены второго уровня называют именами доменов ПЕРВОГО уровня, тем самым «опуская» значение корневого домена и принимая за корневой домен — домены TLD.

Так же хочу отметить, что доменный адрес и IP-адрес не тождественны — один IP-адрес может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество IP-адресов: это позволяет создавать балансировку нагрузки.

Резюме

Итак, в сегодняшней статье я постарался как можно понятней описать работы доменной системы имен. Надеюсь, это у меня получилось. Мы рассмотрели иерархическую структуру базы данных DNS, а так же рассмотрели процессы взаимодействия клиентов и серверов DNS, а так же разновидности серверов DNS. В следующей статье я рассмотрю практические вопросы установки и настройки DNS сервера BIND на Linux. Буду рад Вашим комментариям.
Что еще почитать:

man (5) resolver: http://www.opennet.ru/man.shtml?topic=resolver&category=5&russian=0
man (3) gethostbyname:  http://www.opennet.ru/cgi-bin/opennet/man.cgi?topic=gethostbyname&category=3
Linux Network Administrators Guide v2 Russian: скачать.
RFC882, 1035, 1183

Разместил с разрешения mcsim85, у которого еще нет полноценного аккаунта на хабре, но который за такие качественный статьи безусловно его заслуживает! На всякий случай ссылка на оригинал.

habr.com

Пара слов о DNS / 1cloud.ru corporate blog / Habr

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

/ фото James Cridland CC

Изначально, до распространения интернета, адреса преобразовывались согласно содержимому файла hosts, рассылаемого на каждую из машин в сети. Однако по мере её роста такой метод перестал оправдывать себя – появилась потребность в новом механизме, которым и стала DNS, разработанная в 1983 году Полом Мокапетрисом (Paul Mockapetris).

Что такое DNS?


Система доменных имен (DNS) является одной из фундаментальных технологий современной интернет-среды и представляет собой распределенную систему хранения и обработки информации о доменных зонах. Она необходима, в первую очередь, для соотнесения IP-адресов устройств в сети и более удобных для человеческого восприятия символьных имен.

DNS состоит из распределенной базы имен, чья структура напоминает логическое дерево, называемое пространством имен домена. Каждый узел в этом пространстве имеет свое уникальное имя. Это логическое дерево «растет» из корневого домена, который является самым верхним уровнем иерархии DNS и обозначается символом – точкой. А уже от корневого элемента ответвляются поддоменые зоны или узлы (компьютеры).


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

В иерархическом же пространстве имен каждое имя составлено из нескольких частей: например, домена первого уровня .ru, домена второго уровня 1cloud.ru, домена третьего уровня panel.1cloud.ru и т. д. Этот тип пространства имен позволяет легко проводить проверки на дубликаты, и при этом организациям не нужно беспокоиться, что префикс, выбранный для хоста, занят кем-то другим – полный адрес будет отличаться.

Сопоставление имен


Давайте взглянем, как происходит сопоставление имен и IP-адресов. Предположим, пользователь набирает в строке браузера www.1cloud.ru и нажимает Enter. Браузер посылает запрос DNS-серверу сети, а сервер, в свою очередь, либо отвечает сам (если ответ ему известен), либо пересылает запрос одному из высокоуровневых доменных серверов (или корневому).

Затем запрос начинает свое путешествие – корневой сервер пересылает его серверу первого уровня (поддерживающего зону .ru). Тот – серверу второго уровня (1cloud) и так далее, пока не найдется сервер, который точно знает запрошенное имя и адрес, либо знает, что такого имени не существует. После этого запрос начинает движение обратно. Чтобы наглядно объяснить, как это работает, ребята из dnssimple подготовили красочный комикс, который вы можете найти по ссылке.

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

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


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

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

Например, в Северной Америке находятся 40 серверов (32,5%), в Европе – 35 (28,5%), еще 6 серверов располагаются в Южной Америке (4,9%) и 3 – в Африке (2,4%). Если взглянуть на карту, то DNS-серверы расположены согласно интенсивности использования интернет-инфраструктуры.

Защита от атак


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

«В прошлом уже происходили атаки на DNS-сервера, приводящие к массовым сбоям. Как-то из-за подмены DNS-записи в течение часа для пользователей был недоступен известный всем сервис Twitter, – рассказывает Алексей Шевченко, руководитель направления инфраструктурных решений российского представительства ESET. – Но куда опаснее атаки на корневые DNS-сервера. В частности, широкую огласку получили атаки в октябре 2002 года, когда неизвестные пытались провести DDoS-атаку на 10 из 13 DNS-серверов верхнего уровня».

Протокол DNS использует для работы TCP- или UDP-порт для ответов на запросы. Традиционно они отправляются в виде одной UDP-датаграммы. Однако UDP является протоколом без установления соединения и поэтому обладает уязвимостями, связанными с подделкой адресов – многие из атак, проводимых на DNS-сервера, полагаются на подмену. Чтобы этому препятствовать, используют ряд методик, направленных на повышение безопасности.

Одним из вариантов может служить технология uRPF (Unicast Reverse Path Forwarding), идея которой заключается в определении того, может ли пакет с определенным адресом отправителя быть принят на конкретном сетевом интерфейсе. Если пакет получен с сетевого интерфейса, который используется для передачи данных, адресованных отправителю этого пакета, то пакет считается прошедшим проверку. В противном случае он отбрасывается.

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

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

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

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

Заключение


Система доменных имён разработана в еще 80-х годах прошлого века и продолжает обеспечивать удобство работы с адресным пространством интернета до сих пор. Более того, технологии DNS постоянно развиваются, например, одним из значимых нововведений недавнего времени стало внедрение доменных имен на национальных алфавитах (в том числе кириллический домен первого уровня.рф).

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

Кстати, компания 1cloud предлагает своим пользователям VPS бесплатную услугу «DNS-хостинг» – инструмент, упрощающий администрирование ваших проектов за счет работы с общим интерфейсом для управления хостами и ссылающимися на них доменами.

О чем еще мы пишем:

habr.com

DNS-сервер домена, что это значит простыми словами

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

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

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

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

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

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

  1. 1.

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

  2. 2.

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

  3. 3.

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

  4. 4.

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

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

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

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

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

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

Если вы зарегистрировали домен, но ещё не создали на нём сайт, после обновления DNS-серверов на вашем домене будет открываться парковочная страница с надписью «Домен надёжно припаркован». Если вы хотите создать на домене сайт, вам поможет статья: Я зарегистрировал домен, что дальше?

Помогла ли вам статья?

894 раза уже
помогла

www.reg.ru

Давайте уже разберемся в DNS / Habr


Внимательный читатель найдет на этой картинке IPv6

Люди часто озадачены доменами. Почему мой сайт не работает? Почему эта хрень поломана, ничего не помогает, я просто хочу, чтобы это работало! Обычно, вопрошающий или не знает про DNS, или не понимает фундаментальных идей. Для многих DNS — страшная и непонятная штука. Эта статья — попытка развеять такой страх. DNS — это просто, если понять несколько базовых концепций.


Что такое DNS

DNS расшифровывается как Domain Name System. Это глобальное распределенное хранилище ключей и значений. Сервера по всему миру могут предоставить вам значение по ключу, а если им неизвестен ключ, то они попросят помощи у другого сервера.

Вот и все. Правда. Вы или ваш браузер запрашивает значение для ключа www.example.com, и получает в ответ 1.2.3.4.


Базовые штуки

Большой плюс DNS в том, что это публичная услуга, и можно потыкать в сервера если хочется разобраться. Давайте попробуем. У меня есть домен petekeen.net, который хостится на машине web01.bugsplat.info. Команды, используемые ниже, можно запустить из командной строки OS X (ой, то есть macOS, — прим. пер.).

Давайте взглянем на маппинг между именем и адресом:

$ dig web01.bugsplat.info

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

; <<>> DiG 9.7.6-P1 <<>> web01.bugsplat.info
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51539
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

Здесь есть только одна интересная деталь: информация о самом запросе. Говорится, что мы запросили запись и получили ровно один ответ. Вот:

;; QUESTION SECTION:
;web01.bugsplat.info.       IN  A

dig по-умолчанию запрашивает A-записи. A это address (адрес), и это один из фундаментальных видов записей в DNS. A содержит один IPv4-адрес. Есть эквивалент для IPv6-адресов —  AAAA. Давайте взглянем на ответ:

;; ANSWER SECTION:
web01.bugsplat.info.    300 IN  A   192.241.250.244

Тут говорится, что у хоста web01.bugsplat.info. есть один адрес A192.241.250.244. Число 300 это TTL, или time to live (время жизни). Столько секунд можно держать значение в кэше до повторной проверки. Слово IN означает Internet. Так сложилось исторически, это нужно для разделения типов сетей. Подробнее об этом можно почитать в документе IANA’s DNS Parameters.

Оставшаяся часть ответа описывает сам ответ:

;; Query time: 20 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Fri Jul 19 20:01:16 2013
;; MSG SIZE  rcvd: 56

В частности, здесь говорится, как долго сервер откликался, какой у сервера IP-адрес (192.168.1.1), на какой порт стучался dig  (53, DNS-порт по-умолчанию), когда запрос был завершен и сколько байтов было в ответе.

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

Но в этом примере не видно, что DNS-сервер 192.168.1.1 связался с кучей других серверов чтобы ответить на простой вопрос: «куда указывает адрес web01.bugsplat.info?». Давайте запустим трейс чтобы узнать о всей возможной цепочке, которую пришлось бы пройти dig‘у, если бы информация не был закэширована:

$ dig +trace web01.bugsplat.info

; <<>> DiG 9.7.6-P1 <<>> +trace web01.bugsplat.info
;; global options: +cmd
.           137375  IN  NS  l.root-servers.net.
.           137375  IN  NS  m.root-servers.net.
.           137375  IN  NS  a.root-servers.net.
.           137375  IN  NS  b.root-servers.net.
.           137375  IN  NS  c.root-servers.net.
.           137375  IN  NS  d.root-servers.net.
.           137375  IN  NS  e.root-servers.net.
.           137375  IN  NS  f.root-servers.net.
.           137375  IN  NS  g.root-servers.net.
.           137375  IN  NS  h.root-servers.net.
.           137375  IN  NS  i.root-servers.net.
.           137375  IN  NS  j.root-servers.net.
.           137375  IN  NS  k.root-servers.net.
;; Received 512 bytes from 192.168.1.1#53(192.168.1.1) in 189 ms

info.           172800  IN  NS  c0.info.afilias-nst.info.
info.           172800  IN  NS  a2.info.afilias-nst.info.
info.           172800  IN  NS  d0.info.afilias-nst.org.
info.           172800  IN  NS  b2.info.afilias-nst.org.
info.           172800  IN  NS  b0.info.afilias-nst.org.
info.           172800  IN  NS  a0.info.afilias-nst.info.
;; Received 443 bytes from 192.5.5.241#53(192.5.5.241) in 1224 ms

bugsplat.info.      86400   IN  NS  ns-1356.awsdns-41.org.
bugsplat.info.      86400   IN  NS  ns-212.awsdns-26.com.
bugsplat.info.      86400   IN  NS  ns-1580.awsdns-05.co.uk.
bugsplat.info.      86400   IN  NS  ns-911.awsdns-49.net.
;; Received 180 bytes from 199.254.48.1#53(199.254.48.1) in 239 ms

web01.bugsplat.info.    300 IN  A   192.241.250.244
bugsplat.info.      172800  IN  NS  ns-1356.awsdns-41.org.
bugsplat.info.      172800  IN  NS  ns-1580.awsdns-05.co.uk.
bugsplat.info.      172800  IN  NS  ns-212.awsdns-26.com.
bugsplat.info.      172800  IN  NS  ns-911.awsdns-49.net.
;; Received 196 bytes from 205.251.195.143#53(205.251.195.143) in 15 ms

Информация выводится в иерархической последовательности. Помните как dig вставил точку . после хоста, web01.bugsplat.info? Так вот, точка . это важная деталь, и она означает корень иерархии.

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

Итак, в самом верху трейса находятся корневые сервера, каждый определен с помощью NS-записи. NS-запись связывает доменное имя (в данном случае, корневой домен) с DNS-сервером. Когда вы регистрируете доменное имя у регистратора типа Namecheap или Godaddy, они создают NS-записи для вас.

В следующем блоке видно, как dig выбрал случайный корневой сервер, и запросил у него A-запись для web01.bugsplat.info. Видно только IP-адрес корневого сервера (192.5.5.241). Так какой именно корневой сервер это был? Давайте узнаем!

$ dig -x 192.5.5.241

; <<>> DiG 9.8.3-P1 <<>> -x 192.5.5.241
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2862
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;241.5.5.192.in-addr.arpa.  IN  PTR

;; ANSWER SECTION:
241.5.5.192.in-addr.arpa. 3261  IN  PTR f.root-servers.net.

Флаг -x заставляет dig провести обратный поиск по IP-адресу. DNS отвечает записью PTR, которая соединяет IP и хост, в данном случае — f.root-servers.net.

Возвращаясь к нашему начальному запросу: корневой сервер F вернул другой набор NS-серверов. Он отвечает за домен верхнего уровня infodig запрашивает у одного из этих серверов запись A для web01.bugsplat.info, и получает в ответ еще один набор NS-серверов, и потом запрашивает у одного из этих серверов запись A для web01.bugsplat.info.. И, наконец, получает ответ!

Уф! Сгенерировалось бы много трафика, но почти все эти записи были надолго закэшированы каждым сервером в цепочке. Ваш компьютер тоже кэширует эти данные, как и ваш браузер. Чаще всего DNS-запросы никогда не доходят до корневых серверов, потому что их IP-адреса почти никогда не изменяются («Наверно все таки речь идет о большом TTL для записей в их базе. Если у DNS сервера IP адрес вообще ни разу не изменялся, то это не означает, что его база навечно закеширована» — прим. от rrrav). Домены верхнего уровня comnetorg, и т.д. тоже обычно сильно закэшированы.


Другие типы

Есть еще несколько типов, о которых стоит знать. Первый это MX. Он соединяет доменное имя с одним или несколькими почтовыми серверами. Электронная почта настолько важна, что у нее есть свой тип DNS-записи. Вот значения MX для petekeen.net:

$ dig petekeen.net mx

; <<>> DiG 9.7.6-P1 <<>> petekeen.net mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18765
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;petekeen.net.          IN  MX

;; ANSWER SECTION:
petekeen.net.       86400   IN  MX  60 web01.bugsplat.info.

;; Query time: 272 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Fri Jul 19 20:33:43 2013
;; MSG SIZE  rcvd: 93

Заметьте, что MX-запись указывает на имя, а не на IP-адрес.

Еще один тип, который вам скорее всего знаком, это CNAME. Расшифровываетя как Canonical Name (каноническое имя). Он связывает одно имя с другим. Давайте посмотрим на ответ:

$ dig www.petekeen.net

; <<>> DiG 9.7.6-P1 <<>> www.petekeen.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16785
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.petekeen.net.      IN  A

;; ANSWER SECTION:
www.petekeen.net.   86400   IN  CNAME   web01.bugsplat.info.
web01.bugsplat.info.    300 IN  A   192.241.250.244

;; Query time: 63 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Fri Jul 19 20:36:58 2013
;; MSG SIZE  rcvd: 86

Сразу видно, что мы получили два ответа. Первый говорит, что www.petekeen.net указывает на web01.bugsplat.info. Второй возвращает запись A для того сервера. Можно считать, что CNAME это псевдоним (или алиас) для другого сервера.


Что не так с CNAME

Записи CNAME очень полезны, но есть важный момент: если есть CNAME с каким-то именем, то нельзя создать другую запись с таким же именем. Ни MX, ни A, ни NS, ничего.

Причина в том, что DNS производит замену таким образом, что все записи того места, куда указывает CNAME, также валидны для CNAME. В нашем примере, записи у www.petekeen.net и web01.bugsplat.info будут совпадать.

Поэтому нельзя делать CNAME на корневом домене вроде petekeen.net, потому что обычно там нужны другие записи, например, MX.


Запросы к другим серверам

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

$ dig www.petekeen.net @8.8.8.8

Символ @ с IP-адресом или хостом заставляет dig прозводить запрос к указанному серверу через порт по-умолчанию. Можно использовать публичный DNS-сервер Гугла или почти-публичный-сервер Level 3 по адресу 4.2.2.2.


Типичные ситуации

Давайте рассмотрим типичные ситуации, знакомые многим веб-разработчикам.


Редирект домена на www

Часто нужно сделать редирект домена iskettlemanstillopen.com на www.iskettlemanstillopen.com. Регистраторы типа Namecheap или DNSimple называют это URL Redirect. Вот пример из админки Namecheap:

Символ @ означает корневой домен iskettlemanstillopen.com. Давайте посмотрим на запись A у этого домена:

$ dig iskettlemanstillopen.com
;; QUESTION SECTION:
;iskettlemanstillopen.com.  IN  A

;; ANSWER SECTION:
iskettlemanstillopen.com. 500   IN  A   192.64.119.118

Этот IP принадлежит Namecheap’у, и там крутится маленький веб-сервер, который просто делает перенаправление на уровне HTTP на адрес http://www.iskettlemanstillopen.com:

$ curl -I iskettlemanstillopen.com
curl -I iskettlemanstillopen.com
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Fri, 19 Jul 2013 23:53:21 GMT
Content-Type: text/html
Connection: keep-alive
Content-Length: 154
Location: http://www.iskettlemanstillopen.com/

CNAME для Heroku или Github

Взгляните на скриншот выше. На второй строке там CNAME. В этом случае www.iskettlemanstillopen.com указывает на приложение, запущенное на Heroku.

$ heroku domains
=== warm-journey-3906 Domain Names
warm-journey-3906.herokuapp.com
www.iskettlemanstillopen.com

С Github похожая история, но там нужно создать специальный файл в корне репозитория, и назвать его CNAME. См. документацию.


Wildcards

Большинство DNS-серверов поддерживают шаблоны (wildcards). Например, есть wildcard CNAME для *.web01.bugsplat.info указывает на web01.bugsplat.info. Тогда любой хост на web01 будет указывать на web01.bugsplat.info и не нужно создавать новые записи:

$ dig randomapp.web01.bugsplat.info

;; QUESTION SECTION:
;randomapp.web01.bugsplat.info. IN  A

;; ANSWER SECTION:
randomapp.web01.bugsplat.info. 300 IN CNAME web01.bugsplat.info.
web01.bugsplat.info.    15  IN  A   192.241.250.244

Заключение

Надеюсь, теперь у вас есть базовое понимание DNS. Все стандарты описаны в документах:


Есть еще пара интересных RFC, в том числе 4034, который описывает стандарт DNSSEC и 5321, который описывает взаимосвязь DNS и email. Их интересно почитать для общего развития.

habr.com

принцип работы, и как работает ДНС в интернете

Привет уважаемые читатели seoslim.ru! Задумывались ли вы когда-нибудь, каким образом браузер находит сайты в интернете?

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

На самом деле домен это вовсе не адрес сайта в и интернете, а что-то вроде никнейма абонента, которым вы обозначили своего знакомого в телефонной книге смартфона.

Это интересно: Что такое SSL сертификат и зачем он нужен

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

Аналогично происходит и с доменными именами сайтов. Однако, давайте разбираться с самого начала и подробно.

Зачем в интернете нужны DNS-серверы

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

Каждую точку подключения (клиентский компьютер) идентифицировали в сети при помощи IP-адреса. Что расшифровывается как Internet Protocol Address – адрес интернет-протокола.

IP-адрес выглядит примерно, как номер сотового телефона:

  • 59.109.189
  • 59.110.48
  • 59.109.207

Со временем количество пользователей интернета значительно увеличилось и тогда, для облегчения задачи серфинга в сети, было предложено ассоциировать цифровые IP-адреса сайтов с вербальными (словесными) доменными именами.

Чтобы обеспечивать назначение каждому цифровому IP-адресу веб-сайта удобного для восприятия имени была создана глобальная система доменных имен.

По-английски Domain Name System или сокращенно DNS.

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

  • Сервера доменных имен верхнего уровня – COM, RU и так далее.
  • Сервера со списками доменных имен второго уровня – google.com.
  • Сервера доменов третьего уровня – api.google.com.

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

Говоря простыми словами, система доменных имен функционирует, как глобальный адресный стол для всемирной сети.

В локальных отделениях DNS хранятся ассоциированные с доменными именами IP адреса сайтов, относящиеся к данному региону. Если на местном сервере DNS оказывается невозможно найти адрес сайта по запрашиваемому доменному имени, запрос делегируется к следующему уровню системы.

Статья по теме: Как сделать выделенный IP адрес сайту

И вот таким образом поиск IP-адреса по заданному браузером доменному имени происходит до тех пор, пока нужный сайт не будет обнаружен на одном из ответственных за его хранение серверов DNS.

Пример работы, как браузер находит сайт

Чтобы понять, как все это работает, давайте рассмотрим на конкретном примере поиска какого-либо сайта.

  • Пользователь набирает в адресной строке доменное имя либо кликает по ссылке на определенную веб-страницу.
  • Первым делом браузер обращается к собственному кэшу и проверяет – не посещался ли данный ресурс ранее.
  • Если искомый веб-сайт ранее уже посещался, тогда его IP-адрес уже сохранен в кэше браузера и необходимости тратить время на обращение к DNS-серверам нет. В данном случае кэширование используется как метод ускорения поиска в интернете.
  • Если в кэш браузера искомый домен не обнаружен, тогда поиск продолжается в записях операционной системы. Если и там сайт не записан, после этого уже происходит обращение к серверу провайдера интернета.
  • Интернет-провайдер, в свою очередь, собирает сведения о посещенных каждым пользователем веб-ресурсах в собственный кэш. Это тоже делается для ускорения поиска и повышения комфортности сервиса.
  • И только после того, как указанный в поисковой строке браузера домен не обнаружен в кэш браузера, операционной системы или у интернет-провайдера, происходит обращение к общей системе серверов DNS.
  • Далее происходит поиск доменного имени по иерархии ДНС-системы сверху вниз.
  • В этом случае поиск по системе DNS-серверов нацелен на выявление делегированного NS-сервера регистратора доменных имен, у которого владелец искомого сайта арендовал домен.

Такой достаточно сложный алгоритм поиска IP адреса сайта по доменному имени получается потому, что сегодня интернет-ресурсов во всемирной сети уже более миллиарда.

Hosts-файл

Чуть выше было упомянуто, что записи об адресах сайтов могут находиться в операционной системе компьютера. Действительно, среди системных файлов имеется документ по имени Hosts.

Это обычный текстовый файл, но не имеющий расширения txt. Дело в том, что Hosts-файлы могут присутствовать на компьютерах и других операционных систем, а не только Windows.

На альтернативных OS расширения файлов могут не совпадать, поэтому договорились использовать текстовый документ Hosts вообще без указания типа файла.

Hosts-файл содержит список сопоставления доменных имен известных пользователю интернет-ресурсов и их IP-адресов.

Сначала прописывается IP-адрес, а затем название интернет-ресурса.

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

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

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

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

Например, пользователь не хочет, чтобы его дети посещали какие-либо сайты. Тогда можно отредактировать Hosts-файл и указать в качестве IP-адреса нежелательного сайта локальный хост.

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

Например, доменному имени надежного онлайн-банка будет ассоциирован IP-адрес мошеннического ресурса. Набрав в браузере адрес банка, пользователь попадет на сайт мошенников и потеряет свои деньги.

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

Что такое NS серверы

В распределенной системе иерархической доменных имен выделяются NS-сервера, на которых хранится наиболее полная информация о конкретном интернет-ресурсе. Эти NS-сервера являются конечными (делегированными) во всей адресной цепочке по отношению к конкретному сайту.

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

На этом скриншоте мы видим, что мой домен seoslim.ru, который я был получен у партнера-регистратора Link-Host записан сразу на четырех NS-серверах. Один из этих NS-серверов назначается основным (Master), остальные подчиненные (Slave).

В качестве хостинг-провайдера, который и осуществляет бесперебойную работу сайта и который предоставляет бесплатные SSL сертификаты я выбрал McHost, чего и всем советую.

Как задать (сменить) DNS для домена

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

Как это сделать практически?

  • Зайти в панель управления сайтом на хостинге.
  • Перейти в раздел управления доменами.
  • Открыть интерфейс «DNS-серверы и зона».
  • Если доменное имя было зарегистрировано на том же хостинге, где и опубликован веб-сайт, NS-сервера прописываются автоматически.
  • Чтобы указать произвольные NS-сервера, нужно снять галочку в чекбоксе «Автоматически использовать NS-сервера регистратора» и вписать желаемые сервисы.

Алгоритм назначения NS-серверов может изменяться в зависимости от конкретного хостинга, доменного регистратора и панели управления сайтом.

Читайте статью: Как получить качественных хостинг бесплатно

Обновление данных о домене на серверах DNS происходит не мгновенно, а через сутки, в некоторых случаях в течение 72-х часов.

Так что придется подождать, пока сайт станет доступен пользователям после делегирования домена определенным NS-серверам.

Что значит DNS сервер не отвечает и что надо делать

Жизнь современного человека без интернета немыслима. И вот в один не самый прекрасный день браузер перестает находить сайты в интернете. Ни одна веб-страница по запросу не отображается.

Вы пытаетесь запустить другие интернет-обозреватели, но и они не работают.

Первая мысль – срочно звонить оператору связи и выяснять, почему интернет не работает и когда авария на линии будет исправлено.

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

Чтобы разобраться, почему отсутствует подключение к интернету, проведите диагностику сети средствами Windows.

  • Наведите стрелку мыши на иконку сетевых подключений в Панели задач и кликните правой кнопкой.
  • Откроется контекстное Меню.

  • Нажмите на пункт «Диагностика неполадок».

Если по результатам диагностики появится уведомление «DNS сервер не отвечает» – это значит, что можно предположить следующие проблемы:

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

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

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

Если роутер в порядке, вспомните, что вы делали с компьютером перед возникновением неисправности.

  • Причиной нарушения работы интернета может быть установка какого-либо нового программного обеспечения.
  • Некоторые компьютерные приложения глубоко внедряются в реестр и самостоятельно производят изменения в настройках системы.
  • Сделайте откат операционной системы к состоянию до установки подозрительных приложений.
  • Если после окончания процесса восстановления и перезагрузки компьютера интернет будет работать нормально – проблема была в приложении.

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

В этом случае следует очистить кэш. Для того чтобы очистить кэш, требуется использование Командной строки Windows. Если вы не являетесь продвинутым пользователем и не знаете, как это сделать, обратитесь к специалистам во избежание причинение вреда компьютеру.

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

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

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

Если ничего из перечисленного не помогает, следует обратиться за помощью к специалисту сервисного центра.

seoslim.ru

Как работает DNS (domain name system)?

Что такое DNS

DNS (domain name system) — это система, обеспечивающая работу привычных нам доменных имен сайтов. Связь между устройствами в сети Интернет осуществляется по IP адресам, например: «192.64.147.209». Однако, запомнить IP адреса сложно, поэтому были придуманы удобные для человека доменные имена, например: «google.com».

Компьютер / сервер не хранит таблицу соответствия доменов и их IP адресов. Точнее, не хранит всю таблицу, а временно запоминает данные для часто используемых доменов. Когда в браузере вводится домен сайта, компьютер автоматически узнает его IP адрес, и отправляет по нему запрос. Этот процесс называется «разрешение адреса домена» (domain resolving).

Разберемся, из чего состоит система DNS, и как она работает.

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

Система доменных имен состоит из следующих компонентов:

Иерархическая структура доменных имен:

  • Доменные зоны верхнего уровня (первого уровня) – например: «ru», «com», или «org». Они включают в себя все доменные имена, входящие в эту зону. В любую доменную зону может входить неограниченное количество доменов.
  • Доменные имена (доменные зоны второго уровня) – например: «google.com» или «yandex.ru». Т.к. система доменных имен является иерархичной, то «yandex.ru» можно также назвать поддоменом вышестоящей зоны «ru». Поэтому, правильнее указывать именно уровень домена. Однако, на практике, доменную зону любого уровня называют просто «доменом».
  • Поддомены (доменные зоны третьего уровня) – например: «api.google.com» или «mail.yandex.ru». Могут быть доменные зоны 4, 5 уровней и так далее.

Обратите внимание, что «www.gооgle.com» и «google.com» — это, фактически, разные домены. Надо не забывать указывать А-записи для каждого из них.

DNS сервер или NS (name server) сервер – поддерживает (обслуживает) доменные зоны, которые ему делегированы. Он непосредственно хранит данные о ресурсных записях для зоны. Например, что сервер, на котором находится сайт «example.ru», имеет IP адрес «1.1.1.1». DNS сервер отвечает на все запросы, касательной этих доменных зон. Если ему приходит запрос о домене, который ему не делегирован, то он спрашивает ответ у других DNS серверов.

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

Корневые DNS сервера (на данный момент их 13 во всем мире) хранят данные о том, какие DNS сервера обслуживают зоны верхнего уровня.

DNS сервера доменных зон верхнего уровня — хранят информацию, какие NS сервера обслуживают тот или иной домен.

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

Кэширование данных используется на всех устройствах (компьютерах, северах, DNS серверах). То есть, они запоминают ответы на последние пришедшие к ним запросы. И когда приходит аналогичный запрос, они просто отвечают то же самое, что и в предыдущий раз. Например, если вы в браузере открыли сайт google.com  первый раз после включения, то компьютер сделает DNS запрос, а при последующих запросах будет брать данные, которые ему были присланы DNS сервером в первый раз. Таким образом, для популярных запросов не надо каждый раз проходить всю цепочку и генерировать запросы к NS серверам. Это значительно снижает нагрузку на них, и увеличивает скорость работы. Однако, как результат, обновление данных в системе DNS происходит не сразу. При изменении IP адреса домена, информацию об этом будет расходиться по сети Интернет от 1 до 24 часов.

Регистрация/выделение доменов

У каждой доменной зоны первого уровня есть своя организация, которая устанавливает правила выделения доменов и обеспечивает работу этой зоны. Например, для доменных зон RU, SU и РФ – это Координационный центр национального домена сети Интернет https://cctld.ru. Эти организации устанавливают правила работы и технические требования к регистраторам доменов.

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

Администратор домена (владелец) – лицо, которому непосредственно принадлежат права на доменное имя. Он может управлять доменом, от него регистратор принимает заявки на внесение изменений.

Делегирование домена – указание для него DNS серверов, которые будут его обслуживать.

Основные DNS записи

Существуют следующие основные DNS (ресурсные) записи:

А – содержит информацию об IPv4 адресе хоста (сервера) для домена. Например, 1.1.1.1.

ААА – содержит информацию об IPv6 адресе хоста (сервера) для домена. Например, 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d.

MX – содержит данные о почтовом сервере домена. При этом указывается именно имя почтового сервера, например mail.example.com. Т.к. у домена может быть несколько почтовых серверов, то для каждого из них указывает приоритет. Приоритет задается числом от 0 до 65535. При этом «0» — это самый высокий приоритет. Принято по умолчанию для первого почтового сервера указывать приоритет «10».

TXT – дополнительная информация о домене в виде произвольного текста. Максимальная длина 255 символов. 

SRV – содержит информацию об имени хоста и номере порта, для определенных служб / протоколов в соответствии с  RFC 2782 http://www.rfc-editor.org/rfc/rfc2782.txt. Содержит следующие поля:

  • _Service._Proto.Name ( Пример: _jabber._tcp.jabber ), где:
    • Service: название службы (пример: ldap, kerberos, gc и другие).
    • Proto: протокол, при помощи которого клиенты могут подключиться к данной службе (пример: tcp, udp).
    • Name: имя домена, в котором размещена данная служба.
  • Приоритет – также как для MX записи указывает приоритет для данного сервера. Задается числом от 0 до 65535. При этом «0» — это самый высокий приоритет.
  • Вес – Относительный вес для распределения нагрузки между серверами с одинаковым приоритетом. Задается целым числом.
  • Порт – номер порта, на котором располагается служба на данном сервере.
  • Назначение — доменное имя сервера, предоставляющего данную службу.

NS – имя DNS сервера, поддерживающего данный домен.

CNAME (каноническое имя хоста / canonical name) – используется для перенаправления на другое доменное имя. Например, имя сервера изменилось с example.com на new.com. В таком случае в поле «Alies» для записи cname надо указать — example.com, а в поле «Canonical name» — new.com. Таким образом, все запросы на example.com автоматически будут перенаправлены на new.com.

SOA – базовая запись о домене. В ней хранится само имя домена и время жизни данных о домене  — TTL. TTL (time-to-live) определяет какой период времени DNS сервер получив информацию о зоне будет хранить ее у себя в памяти (кэшировать). Рекомендуемое значение 86400 – 1 день. Значение указывается в секундах.

neoserver.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *