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

Записи DNS

Основная статья: Типы ресурсных записей DNS

Записи DNS, или ресурсные записи (англ. resource records, RR), — единицы хранения и передачи информации в DNS. Каждая ресурсная запись состоит из следующих полей:

  • имя (NAME) — доменное имя, к которому привязана или которому «принадлежит» данная ресурсная запись,
  • тип (TYPE) ресурсной записи — определяет формат и назначение данной ресурсной записи,
  • класс (CLASS) ресурсной записи; теоретически считается, что DNS может использоваться не только с TCP/IP, но и с другими типами сетей, код в поле класс определяет тип сети,
  • TTL (Time To Live) — допустимое время хранения данной ресурсной записи в кэше неответственного DNS-сервера,
  • длина поля данных (RDLEN),
  • поле данных (RDATA), формат и содержание которого зависит от типа записи.

Наиболее важные типы DNS-записей:

  • Запись A (address record) или запись адреса связывает имя хоста с адресом протокола IPv4. Например, запрос A-записи на имя вернёт его IPv4-адрес — .
  • Запись AAAA (IPv6 address record) связывает имя хоста с адресом протокола IPv6. Например, запрос AAAA-записи на имя вернёт его IPv6-адрес — .
  • Запись CNAME (canonical name record) или каноническая запись имени (псевдоним) используется для перенаправления на другое имя.
  • Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена.
  • Запись NS (name server) указывает на DNS-сервер для данного домена.
  • Запись PTR (pointer) обратная DNS-запись или запись указателя связывает IP-адрес хоста с его каноническим именем. Запрос в домене на IP-адрес хоста в reverse-форме вернёт имя (FQDN) данного хоста (см. ). Например (на момент написания), для IP-адреса запрос записи PTR вернёт его каноническое имя . В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR-записи для хоста, с которого происходит отправка. В этом случае PTR-запись для IP-адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP-сессии.
  • Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, тайминги (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов.
  • SRV-запись (server selection) указывает на серверы для сервисов, используется, в частности, для Jabber и Active Directory.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Работа ДНС-системы

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

Иерархическая структура

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

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

Доменное имя содержит, как минимум, две части (обычно называются метками), разделённые точкой. Самая правая метка является доменом верхнего уровня (например, для адреса ru.wikipedia.org домен верхнего уровня — org). Каждая следующая метка справа налево является поддоменом (например, wikipedia.org — поддомен домена org, а ru.wikipedia.org — домена wikipedia.org). Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения.
Система DNS содержит иерархию серверов DNS. Каждый домен или поддомен поддерживается как минимум одним авторизированным сервером DNS, на котором расположена информация о домене. Иерархия серверов DNS совпадает с иерархией доменов.

Рассмотрим на примере работу всей системы.
Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер знает только IP-адрес сервера DNS, обычно это один из серверов интернет-провайдера. Он спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org?». Сервер DNS обращается к корневому серверу — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 поддерживает доменную зону org.» Браузер направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 поддерживает доменную зону wikipedia.org.» Наконец, браузер отправляет свой запрос к третьему DNS-серверу (который является авторизированным сервером для домена wikipedia.org), и получает ответ — IP-адрес. Этот процесс называется рекурсивным поиском.

Имя хоста и IP-адрес не тождественны — хост с одним IP может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество хостов: это позволяет создавать балансировку нагрузки.
Запрос на определение имени обычно не идёт дальше кэша DNS, который помнит (ограниченное время) ответы на запросы, проходившие через него ранее. Организации или провайдеры могут по своему усмотрению организовывать кэш DNS. Обычно вместе с ответом приходит информация о том, сколько времени следует хранить эту запись в кэше.
Для повышения устойчивости системы используется множество серверов, содержащих идентичную информацию. Существует 13 корневых серверов, расположенных по всему миру и привязанных к своему региону, их адреса никогда не меняются, а информация о них есть в любой операционной системе.
Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDP датаграммы. TCP используется в случае, если ответ больше 512 байт, или в случае AXFR-запроса.

Файл hosts — как первый шаг к созданию DNS

Для решения задачи разработчики решили использовать словарь, который связывал уникальное имя и IP-адрес каждого компьютера в сети. Таким словарём стал файл hosts.txt, который и отвечал за привязку IP-адреса к имени компьютера. Файл лежал на сервере Стэнфордского исследовательского института, и пользователи сети регулярно вручную скачивали этот файл на свои компьютеры, чтобы сохранять актуальность словаря, ведь новые компьютеры появлялись в сети почти каждый день.

Выглядел hosts.txt тогда (да и сейчас) таким образом:

При наличии такого файла на компьютере пользователя для связи с компьютером Майка, можно было не запоминать цифры, а использовать понятное латинское имя «MIKE-STRATE-PC».

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

  • В Unix-системах:
  • В Windows-системах:

Компьютеру с IP-адресом 192.168.10.36, который находится внутри локальной сети мы указали имя «MIKE-STRATE-PC». После чего можно воспользоваться командой ping, которая пошлёт специальный запрос на компьютер Майка и будет ждать от него ответа. Похоже на то, как вы стучитесь в дверь или звоните в звонок, чтобы узнать, «есть ли кто дома?» Такой запрос можно послать на любой компьютер.

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

В 1984 году Пол Мокапетрис (Paul Mockapetris) описал новую систему под названием DNS (Domain Name System / Система доменных имён), которая была призвана автоматизировать процессы соотнесения IP-адресов и имён компьютеров, а также процессы обновления имён у пользователей без необходимости ручного скачивания файла со стороннего сервера.

Как включить DNS через HTTPS (DoH) в веб-браузерах

Google Chrome

В Google Chrome в Windows уже включена опция DNS через HTTPS. Вы можете её проверить перейдя в «Настройки» → «Конфиденциальность и безопасность» → «Безопасность» → «Дополнительные» → «Использовать безопасный DNS сервер». Чтобы быстро найти эту настройку, введите в адресную строку «chrome://settings/security/» и пролистните в самый низ.

Вы можете выбрать из списка любой DNS сервер с поддержкой DoH или указать свой собственный.

На момент написания, в Google Chrome в Linux данная опция недоступна.

Firefox

Перейдите в Настройки → Основные. Пролистните в самый низ, чтобы найти кнопку «Параметры сети, Настроить».

Поставьте галочку «Включить DNS через HTTPS» и выберите провайдера из списка или введите свой IP адрес:

Opera

Перейдите в настройки (шестерёнка внизу левого сайдбара или кнопка «Простые настройки» → «Открыть все настройки браузера»).

Затем перейдите в «Дополнительно» → «Система».

Включите галочку «Использовать DNS поверх HTTPS вместо системных настроек DNS» и выберите желаемый DNS сервер.

Microsoft Edge

На момент написания предустановленный по умолчанию Internet Explorer (Microsoft Edge) вовсе не знает про DNS через HTTPS. Если скачать последнюю версию Microsoft Edge, то там эту настройку можно включить с помощью флага.

Введите в адресную строку edge://flags#dns-over-https

Включите экспериментальный флаг и перезапустите веб-браузер.

Эммм… вроде как нужно бы ещё ввести настройки DNS сервера, но я не нашёл, где это сделать в Microsoft Edge. Да и кому дело до Microsoft Edge — кто им вообще пользуется?!

Протокол DNS

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

Формат пакета DNS

Пакет DNS состоит из двух частей заголовок и данные. Заголовок свою очередь состоит из шести полей.

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

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

Флаги

Поле флаги состоит из нескольких полей:

  1. Поле QR — тип операции запрос (0) или ответ (1).
  2. Поле OPCODE (4 бита) — тип запроса, но на практике используются только 0-стандартный запрос.
  3. Флаг AA указывает, является полученный ответ авторитетным (1) или нет (0).
  4. Флаг TC говорит о том был пакет обрезан (1) или не был (0).
  5. Флаг RD указывается только в запросах, если этот флаг установлен, клиент просит сервер работать в рекурсивном режиме.
  6. Флаг RA используется только в ответах, с помощью этого флага сервер сообщает, что он может работать в рекурсивном режиме.
  7. Флаг Z зарезервирован для будущего использования.
  8. RCODE (4 бита) последние четыре бита это статус выполнение операции, статус 0 говорит о том что операция прошла успешно, любые другие коды говорят о том что произошла какая-то ошибка.

Формат запроса DNS

Формат DNS запроса очень простой, содержит имя, тип и класс записи.

Например, имя www.yandex.ru, тип записи 1, (запись типа A) отображение доменного имени в ip- адрес. В системе DNS также используются другие типы записей. Класс записи 1 (IN, Интернет) код единица, других классов записей в системе DNS сейчас не используется.

Формат ответа DNS

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

Пример, ответа DNS имя www.yandex.ru, запись типа A, класс записи интернет, время жизни 90 секунд, однако администратор DNS resolver  может принудительно установить другое время жизни. Длина данных измеряется в байтах, 4 байта и ip-адрес сервера www.yandex.ru.

Ключевые характеристики DNS

DNS обладает следующими характеристиками:

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

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

Проблемы с безопасностью

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

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

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

Некоторые доменные имена могут использоваться для достижения эффектов спуфинга. Например, paypal.com и paypa1.com — это разные имена, но пользователи могут не различать их в графическом пользовательском интерфейсе в зависимости от выбранного шрифта пользователя. Во многих шрифтах буква l и цифра 1 выглядят очень похожими или даже идентичными. Эта проблема остро стоит в системах, которые поддерживают интернационализированные доменные имена, поскольку многие коды символов в ISO 10646 могут отображаться на типичных экранах компьютеров. Эта уязвимость иногда используется в фишинге.

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

Типы DNS-серверов

По выполняемым функциям DNS-серверы делятся на несколько групп; сервер определённой конфигурации может относиться сразу к нескольким типам:

  • Авторитативный DNS-сервер — сервер, отвечающий за какую-либо зону.
    • Мастер, или первичный сервер (в терминологии BIND) — имеет право на внесение изменений в данные зоны. Обычно зоне соответствует только один мастер-сервер. В случае Microsoft DNS-сервера и его интеграции с Active Directory мастер-серверов может быть несколько (так как репликация изменений осуществляется не средствами DNS-сервера, а средствами Active Directory, за счёт чего обеспечивается равноправность серверов и актуальность данных).
    • Слейв, или вторичный сервер, не имеющий права на внесение изменений в данные зоны и получающий сообщения об изменениях от мастер-сервера. В отличие от мастер-сервера, их может быть (практически) неограниченное количество. Слейв также является авторитативным сервером (и пользователь не может различить мастер и слейв, разница появляется только на этапе конфигурирования/внесения изменений в настройки зоны).
  • Кэширующий DNS-сервер — обслуживает запросы клиентов (получает рекурсивный запрос, выполняет его с помощью нерекурсивных запросов к авторитативным серверам или передаёт рекурсивный запрос вышестоящему DNS-серверу).

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

  • Корневой DNS-сервер — сервер, являющийся авторитативным за корневую зону. Общеупотребительных корневых серверов в мире всего 13 штук, их доменные имена находятся в зоне root-servers.net и называются a.root-servers.net, b.root-servers.net, …, m.root-servers.net. В определённых конфигурациях локальной сети возможна ситуация настройки локальных корневых серверов.
  • Регистрирующий DNS-сервер. Сервер, принимающий динамические обновления от пользователей. Часто совмещается с DHCP-сервером. В Microsoft DNS-сервере при работе на контроллере домена сервер работает в режиме регистрирующего DNS-сервера, принимая от компьютеров домена информацию о соответствии имени и IP компьютера и обновляя в соответствии с ней данные зоны домена.
  • DNSBL-сервер (сервер с чёрными списками адресов и имён). Формально не входит в иерархию DNS, однако использует те же механизм и протокол работы, что и DNS-серверы..

Файл /etc/ hosts

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

Этот файл в системах Unix и Linux называются Linux/Unix/etc/hosts, в Windows похожий файл тоже есть, только он находится по другому пути. Windows: C:\Windows\System32\drivers\etc\hosts. Такой подход работал на заре создания сетей tcp-ip, когда компьютеров было мало, все компьютеры и их ip-адреса можно было перечислить в одном файле, который хранился на центральном сервере имен, остальные компьютеры подключались к этому серверу и загружали файл.

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий