Введение в терминологию, элементы и понятия DNS. Что такое DNS-серверы и зачем они нужны в интернете Dns функции


DNS (domain name service) - это краеугольный камень удобной работы в сети, эдакая «прослойка» между и понятным пользователю «буквенным» именам сайтов.

Ведь выражение «я зашел на 87.240.131.119» при использовании «vk.com» звучит, по меньшей мере, нелепо, хотя, для компьютера эти адреса идентичны: ведите этот ip-шник в адресную строку, и вы попадете на знакомый ресурс. И в данной статье мы разберем, как работает и для чего нужен dns сервер в глобальной и локальной информационной сети.

Что такое DNS и домены в сети?

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

Домен - это то самое «буквенное» имя сайта. К примеру, «wikipedia.org», хотя «wikipedia» уже является поддоменом у «.org». И «ru.wikipedia.org» - также.

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

Если из вышестоящей DNS-зоны понадобится сделать запрос в нижестоящую - то сервер DNS-1 обратится непосредственно к DNS-2, который уже перешлет запрос на нужный хост [узел].

Назначение DNS сервера в локальной сети

Разобраться что такое dns, и как работает dns-сервер в локальной сети можно на конкретном примере.

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

Саму локальную сеть, ещё не подключенную к глобальной сети, мы назовем «neboley.ru». DHCP - сервис на «serv2» автоматически задает после чего они могут общаться друг с другом и с веб-сервером по ip-адресам.

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

К счастью, всё для настройки клиенсткой части DNS предусмотрено в ОС Windows и большинстве Linux-систем, и вам нужно только прописать авторитетным DNS IP-адрес локального DNS-сервера для каждого сетевого компьютера - обратите внимание, не сервера провайдера или Google, а именно той DNS-машинки, что крутится в локальной сети.

Также, не забудьте разрешить на каждом компьютере автоматическое добавление ресурсных записей о себе в БД DNS-сервера и сделать каждый компьютер частью домена «neboley.ru».

К примеру, в ОС Windows добавить машину в сеть домена можно в «Свойствах Компьютера», где уже прописано Имя компьютера (например,»comp1-andrey» или «annaPC»).

После добавления в сеть, это будет уже annaPC.neboley.ru, а когда запись о данной машине появится в базе данных внашего DNS - Андрей, сидящий за «comp1-adndrey.neboley.ru» сможет связаться с Аней, сидящей за «annaPC.neboley.ru», а не с безымянным «192.168.43.19».

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

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

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

Для того, чтобы не запоминать числовой адрес компьютера, была создана система DNS. Система Доменных Имен или DNS (Domain Names System), связывает имена, подобные c цифровыми адресами(185.12.92.137), которые используют компьютеры, чтобы связываться друг с другом.

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

Ns1.yourhosting.ru
ns2.yourhosting.ru

Есть три пути настроки DNS:

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

Как указать (изменить) DNS-сервера для домена?

Для указания/изменения DNS-сервера у домена, то Вам необходимо:

  1. зарегистрироваться у регистратора домменых имен;
  2. Найти нужный домен и выбрать там "Управление DNS-серверами / Делегирование"
  3. В открывшейся форме укажите нужные DNS-сервера (IP можно не указывать). или установите галочку "Использовать DNS-сервера регистратора".
  4. Нажмите на кнопку "Сохранить".

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

Настройка DNS-записей.

Для внесения/изменения записей на DNS сервере Вам необходимо сделать следующее:

Пример внесения записей в DNS:

Предположим, вы зарегистрировали домен mydomain.ru и IP-адрес web-сервера, на котором будет расположен сайт - 195.128.128.26. В этом случае Вам потребуется создать минимум две записи типа "A" для Вашего домена (чтобы связать mydomain.ru и www.mydomain.ru с адресом 195.128.128.26). Для этого в форме добавления записей "A" в поле "Имя поддомена" укажите "@" для первой записи и "www" для второй записи, а в поле "Данные" укажите 195.128.128.26 (для обоих записей).

Чтобы сделать пересылку всех поддоменов на IP адрес, нужно в качестве "Имени поддомена" указать *

Пример 2: Вы хотите, чтобы адрес mail.mydomain.ru указывал на тот же хост, что и адрес relay.highway.ru. Для этого необходимо в поле "Имя поддомена" указать "mail", выбрать "Тип записи" CNAME, а в поле "Данные" указать "relay.highway.ru.".

Пример DNS-записей для зоны mydomain.ru:

@ A 195.161.114.80 @ MX 10 relay.highway.ru. www A 195.161.114.80 ctrl CNAME ctrl.muse.highway.ru. ftp CNAME ftp.muse.highway.ru. mail CNAME relay.highway.ru. ssh CNAME ssh.muse.highway.ru.

Инструкции по смене DNS-серверов

  1. Если вы указываете у домена RU, SU, РФ DNS-сервера, которые расположены в этом же домене (т.е. "свои" DNS), например, для домена testsite.ru вы указываете DNS-сервера ns1.testsite.ru и ns2.testsite.ru , то обязательно необходимо указать для каждого DNS-сервера его IP адрес.
  2. Если вы указываете у любого домена DNS-сервера, которые расположены в другом домене, например, для домена testsite.ru вы указываете DNS-сервера ns1.abrakadabra.ru и ns2.abrakadabra.ru , то указывать для каждого DNS-сервера IP адреса не нужно .
  3. IP адреса у DNS-серверов (в случае необходимости их указания, см. выше) для доменов RU, SU, РФ должны отличаться хотя бы на одну цифру! Одинаковые IP для всех DNS не допустимы.
  4. Для международных доменов (com, net, org, info и т.п.) DNS-сервера, которые вы указываете у домена, должны быть обязательно зарегистрированы в международной базе NSI Registry. Если они там не зарегистрированы, то указать их нельзя. Для международных доменов IP адреса у DNS-серверов указывать не нужно. Они указываются при регистрации DNS в базе NSI Registry

Как прикрепить домен к IP адресу?

Для того, чтобы прикрепить домен к IP адресу, Вам необходимо:

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

Как долго происходит изменение DNS?

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

Какие DNS сервера можно использовать для доступа в интернет?

Для получения IP адреса по имени домена можно использовать следующие DNS сервера:

8.8.8.8 4.4.4.4

77.88.8.8 77.88.8.1

Поробности о яндекс DNS и о том, как с помощью DNS защититься от вредоносных сайтов читайте на dns.yandex.ru

    Читать

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

Как работает

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

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

Поскольку Интернет – это американская разработка, то существует два типа первичных доменов:

  • общие домены, которые принадлежат учреждениям США:
  1. com – бизнес-организации;
  2. gov – правительственные заведения;
  3. edu – образовательные учреждения;
  4. mil – военные представительства;
  5. org – частные организации;
  6. net – интернет-провайдера.
  • коренные домены других страны состоят из двух букв.

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

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

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

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

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

Поиск необходимых данных происходит так:


Основы DNS

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

Существует несколько типов компьютеров, которые обслуживают DNS:

  • master – главный агент сети. Он может изменять ее конфигурацию;
  • slave – устройства второго порядка. Они обслуживают клиентов наравне с master и могут заменять его заменять в случае неполадок. Это позволяет разгрузить сеть;
  • кэширующий. Содержит в своем информацию о доменах посторонних зон;
  • невидимый. Отсутствует в описании зоны. Чаще всего этот статус присваивается пользователям со статусом master для того, чтобы уберечь их от атаки.

К ним пользователь может отправить один из двух типов запроса.

Браузер посылает его через программу-resolver:

  • рекурсивный. Если сервер не содержит необходимой информации, этом случае он узнает необходимые данные у компьютеров высшего уровня и присылает клиенту ответ. Это позволяет уменьшить количество запросов и обеспечивает экономию времени и вашего трафика;
  • итеративный. Сервер присылает готовый ответ, отбирая информацию только из собственного кэша (памяти). Если у него нет подходящих данных, то он предоставляет ссылку на другие компьютеры. Затем браузер переходит по этому адресу.

Существует два типа ответов:

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

Видео: служба DNS

Имена и IP-адреса

Служба DNS обеспечивает перевод имен сайтов в IP-адреса. В интернете каждое устройство можно отследить по 2 основным параметрам – имени домена и IP-адресу. Они могут присваиваться компьютеру пользователя, сетевому принтеру или маршрутизатору.

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

Режим работы

Сервера могут работать в режимах:

  1. обслуживание собственной зоны. Обмен данными совершается между главным и подчиненными компьютерами. При этом запросы от неавторитативных пользователей не принимаются;
  2. выполнение рекурсивного вопроса;
  3. форвардинг – сервер отправляет запрос в другую зону.

Изменение DNS параметров

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

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

В разделе «Свойства» можно задать необходимые параметры. Обычно указываются основной IP-адрес сервера и альтернативный.

Формат сообщения

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

Поле флагов (следующие 16 бит) включает информацию:

  1. тип сообщения;
  2. код операции;
  3. идентификация авторитативности (т.е. показывает, принадлежит ли обслуживающий компьютер к сети);
  4. ТС-флаг. Отображает, пришло сообщение обрезанным или полным.
  5. флаг рекурсии, т.е. требования серверу послать запросы компьютерам высшего порядка;
  6. флаг возможности рекурсии. Показывает способность сервера осуществлять перенаправление сообщения;
  7. код возврата. Отображает, послан ответ с ошибками или нет.

Последнее 16-битное поле показывает общее количество учитываемых параметров.

Вопросы в DNS запросе

Часть записи ресурса в отклике

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

Кроме них, в сообщении содержится:

  • имя домена;
  • тип запроса;
  • срок актуальности кэшированной версии;
  • длина записи ресурса – оценка объема информации.

Запросы указателя

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

Для его отправки адрес узла записывается в противоположном порядке с добавлением определенного суффикса (чаще всего в форме in-addr.arpa).

Совершить операцию можно, если ресурс содержит PTR-запись. Это позволяет передать управление зоной владельцу IP-адресов.

Записи ресурсов

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

Эти данные включают следующие виды записей:

  1. SOA –старта полномочий. Она позволяет сопоставить домен и обслуживающие его компьютеры. Также в них содержатся сведения о сроке актуальности кэшированной версии, и контактном лице, которое обслуживает сервер определенного уровня;
  2. А содержат перечень IP-адресов и соответствующих им хостов. Они позволяют идентифицировать адрес ресурсов домена;
  3. NS (Name Server) включают список компьютеров, которые обслуживают домен;
  4. SRV (Service) отображают все ресурсы, которые выполняют важнейшие функции службы;
  5. MX (Mail Exchanger) позволяют автоматически настроить рассылку данных обслуживающим компьютерам в границах одного домена;
  6. PTR (Pointer) используются для поиска имени ресурса, если пользователь знает его IP-адрес;
  7. CNAME (Canonical Name) позволяют серверу упоминаться под несколькими псевдонимами в службе.

Кэширование

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

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

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

UDP или TCP

Служба поддерживает как протокол UDP, так и TCP.

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

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

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

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

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

Чтобы узнать необходимую информацию, клиент посылает запрос. Отклик содержит основные данные об интересующем объекте и компьютере, обслуживающем зону. Для осуществления этого обмена используются протоколы UDP и TCP.

>

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

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

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

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

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

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

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

Доменное имя

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

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

IP-адрес

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

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

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

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

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

Узел

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

Поддомен

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

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

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

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

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

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

DNS-сервер

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

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

Файл зоны

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

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

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

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

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

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

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

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

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

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

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

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

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

TLD Серверы

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

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

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

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

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

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

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

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

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

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

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

Файлы зоны

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

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

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

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

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

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

Типы записи

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

Записи SOA

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

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

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

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

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

А и AAAA записи

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

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

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

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

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

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

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

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

Запись CNAME

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

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

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

Запись MX

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

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

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

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

NS записи

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

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

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

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

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

Вывод

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

Современную жизнь уже сложно представить без интернета. Он преследует нас повсюду. Даже в часах и микроволновках есть интернет. Большинство людей не особо интересует принцип работы и общее понимание устройства работы сети.

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

Базовые понятия

Domain Name System (ДНС) с английского буквально означает система доменных имён. Такая система призвана получать информацию о доменах, входит в семейство TCP / IP и имеет прикладной уровень по модели OSI .

В свою очередь, TCP / IP - это протокол передачи информации от одного компьютера к другому. Более того, если несколько ПК подключены по локальной сети и не имеют выхода в интернет, обмен данным между ними осуществляется по этому протоколу.

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

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

Что в итоге дает домен? Он позволяет узнать многое о сайте. В названии сайта всегда присутствует: .com - это значит, что указанный сайт коммерческой направленности, .ru - сайт находится в сегменте русскоязычного интернета - тот самый «рунет». Давайте рассмотрим государственный портал закупок, находящийся по адресу: http://zakupki.gov.ru, где.gov означает, что сайт находится в ведении государства, а.ru обозначает принадлежность к российской зоне имен.

Теперь нужно понять, что представляет собой IP-адрес . Машина не понимает наших букв, так как работает исключительно в двоичной системе исчисления (в которую входят лишь два числа 0 и 1). IP-адрес выступает в виде цифр, служащих для удобства настройки сети адреса узлов сети (устройств, которые могут обмениваться данными и присваивать себе ip, например, смартфон, принтер, роутер и т. д.), используя десятичную систему, машина сама переводит цифры в двоичную, и таким образом понимает, куда ей обращаться с запросом о получении данных и обмена соответствующими пакетами.

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

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

Структура DNS

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

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

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

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

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

Систематика DNS-серверов

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

Все серверы делятся на:

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

Информация для пользователя

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

Однако самые искушенные пользователи используют бесплатные альтернативы от крупных IT-компаний, таких как Google или Яндекс. Так, сервера Яндекса включают в себя больше 80 DNS.

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

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

Если DNS-сервер не отвечает

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