Протокол dns описание и принцип работы

Типы ресурсных записей в системе DNS

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

  • NS-записи – управление ими всегда доступно из личного кабинета регистратора доменов. Именно они указывают на name-серверы, на которых нужно искать адрес вашего домена.
  • A-запись – позволяет задавать конкретный IPv4-адрес вашего сервера или сервера-балансировщика (для кластеров).
  • AAAA-запись – аналогична A-записи, но работает только с IPv6-адресами.
  • MX-запись – используется для указания почтового сервера.
  • SPF-запись – определяет перечень серверов, с которых может отправляться электронная почта от имени вашего домена.
  • TXT-запись – используется для разных служебных задач, например, сюда можно прописать DKIM.
  • CNAME-запись – определяет каноническое (основное) доменное имя.

Как работает

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

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

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

общие домены, которые принадлежат учреждениям США:

  1. com – бизнес-организации;

gov – правительственные заведения; edu – образовательные учреждения; mil – военные представительства; org – частные организации; net – интернет-провайдера.

коренные домены других страны состоят из двух букв.

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

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

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

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

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

  • когда человек хочет найти определенный сайт, служба делает запрос на локальный сервер;

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

Протокол 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

Теперь давайте посмотрим на основные настройки. Получить к ним доступ можно через пункт свойств активного соединения после ввода сокращения ncpa.cpl в консоли «Выполнить». Как уже понятно из всего вышесказанного, вариантов установки опций DNS может быть два: либо автоматическое получение, либо задание вручную.

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

Изменение настроек DNS

Недостаточно уметь проверять используемые сетевые настройки, необходимо знать, как их изменять. Процедура простая и осуществляется через «ЦУС и ОД» (Центр управления сетями и общим доступом).

Шаги:

  1. Открыть меню «ЦУС и ОД». Удобнее всего это сделать, клацнув иконку сети в трее;
  2. В отобразившемся меню кликнуть «ЦУС и ОД»;
  3. Далее в окне «ЦУС и ОД» клацнуть «Подключение по локальной сети»;
  4. В закладке «Общие» кликнуть «Свойства»;
  5. Выделить используемый протокол;
  6. Клацнуть «Свойства»;
  7. Ввести параметры, которые были определены после исполнения предыдущего параграфа этого руководства;
  8. Перезапустить ПК;
  9. Готово.

Привязка доменного имени к вашему компьютеру

Как я и писал ранее, если у вас имеется доменное имя, то вы можете привязать его к вашему компьютеру. Для этого необходимо в редакторе DNS вашего регистратора, прописать CNAME запись со значением вашего домена, полученного на dyn.com. Для примера, я сделал поддомен ftp.. И в интерфейсе редактора DNS Яндекса это выглядит вот так.

В наши дни почти совсем не осталось бесплатных сервисов DDNS, которые позволяют подменять ваш динамический IP адрес в интернете на статическое доменное имя третьего уровня и получать благодаря этому прямой удаленный доступ к роутеру из интернета. Поэтому многие производители сетевого оборудования внедряют для своих клиентов собственные, наподобие TP-Link ID. Думаю, большинству это ни о чем не говорит, поэтому будем разбираться на пальцах, как сделать статический ip адрес из динамического и тем самым настроить удаленный доступ к роутеру.

Вспомним, как работает ваш домашний роутер с активированной ? Вы задаете ему диапазон (пул) локальных IP адресов.

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

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

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

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

  1. Статический — когда за вашей квартирой закреплен белый внешний IP, который никогда не меняется. То есть он всегда постоянный и зайдя по нему вы напрямую из интернета, попадете на свой компьютер или роутер. Поскольку такие адреса очень редкие, за них нужно платить отдельные деньги сверх тарифа.
  2. Динамический — тоже белый айпишник, но который периодически меняется. Например, после перезагрузки роутера или по определенному промежутку времени. Это более часто встречаемый случай и именно с ним будет работьать технология замены динамического IP на статический, которая называется DDNS.
  3. Серый — это самый частый случай, когда на целый дом или микрорайон выдается один внешний IP адрес, принадлежащий роутеру провайдера, а он уже в свою очередь раздает свои внутренние адреса пользователям. В качестве примера могу привести различные модемы и роутеры от мобильных операторов — они выдают интернет именно по такой технологии, и с ней даже при наличии DDNS нам ловить вообще нечего — чтобы из интернета получить доступ к вашему роутеру или устройству, к нему подключенному, нужно устанавливать VPN соединение.

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

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

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

DDNS (или Динамический DNS, DynDNS) — это технология, благодаря которой можно отследить изменения внешнего IP адреса и преобразовть его в статическое доменное имя. Оно всегда будет одинаковым и доступно из интернета по одному и тому же веб-адресу. Поддержка DDNS сервисов в маршрутизаторе как раз позволяет сделать статический ip адрес из динамического и организовать удаленный доступ к роутеру и ресурсам внутри вашей локальной сети из интернета.

Настройка DNS на маршрутизаторе

Этот пример описывает настройки DNS Relay для межсетевых экранов. Все межсетевые экраны DFL (DFL-210/800/1600/2500) поддерживают эту функцию, начиная с прошивок v2.04 и более поздних.

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

  • • LAN IP на межсетевом экране: 192.168.1.1 (с функцией DNS relay)
  • • Lannet на межсетевом экране: 192.168.1.0/24
  • • DNS Сервер в Интернет: 12.0.0.1

1. Настройка адресов

Зайдите Objects -> Address book -> Interface Addresses

Создайте IP Address с именем dns_server с адресом 12.0.0.1

2. Создайте IP правила для перенаправления DNS пакетов в Интернет.

Зайдите Rules -> IP Rules

Создайте новое правило IP Rule с действием SAT.

Во вкладке General:

General:

Name: SAT_DNS_Relay Action: SAT Service: dns_all

Address Filter:

Source Interface: lan Source Network: lannet Destination Interface: core Destination Network: lan_ip

Во вкладке SAT:

General:

Translate the: Destination IP Address New IP Address: dns_server

Нажмите Ok.

Создайте аналогичное правило IP Rule с действием NAT. Если среда не NAT, создайте вместо этого правило ALLOW.

Во вкладке General:

Name: Allow_DNS_Relay Action: NAT Service: dns_all

Address Filter:

Source Interface: lan Source Network: lannet Destination Interface: core Destination Network: lan_ip

Нажмите Ok.

Убедитесь, что два этих правила находятся перед другими правилами (т.е. allow_standard правилами).

И также, установите все персональные компьютеры PC, чтобы иметь firewall lan_ip (192.168.1.1) в качестве DNS сервера.

Сохраните и активизируйте конфигурацию межсетевого экрана.

2021: «Ростелеком» запретил использование публичных DNS-серверов Google, Cloudflare и сервиса DoH

13 сентября 2021 года появилась информация о том, что «Ростелеком» направил своим подразделениям официальное письмо, запрещающие применение публичных DNS-серверов , Cloudflare и сервиса DoH (doh.opendns.com).

Согласно документу, подразделениям «Ростелекома» дается указание «запретить к использованию для выдачи абонентам с BRAS/DHCP и в технологических сетях адресов DNS Google (8.8.8.8, 8.8.4.4), Cloudflare (1.1.1.1, 1.0.0.1) и сервиса doh.opendns.com».

Как пишет Telegram-канал «Двач», «Ростелеком», вероятно, действует согласно указаниям Роскомнадзора и таким образом прорабатывается блокировка Рунета.

Как ранее сообщалось, в сентябре Роскомнадзор планирует протестировать блокировку ряда иностранных интернет-протоколов, скрывающих имя сайта, включая DoH, который внедряют Mozilla и Google. Такие протоколы могут затруднить блокировку доступа к запрещенным ресурсам.

«Ростелеком» решил заблокировать DNS-серверы Google, Cloudflare

Чтобы сохранить работоспособность сетей, ведомство рекомендовало компаниям до 9 сентября подключиться к DNS-сервисам российских операторов связи или Национальной системе доменных имен (НСДИ).

Вместо указанных серверов и DoH «Ростелеком» предложил использовать DNS-серверы под собственным управлением или IP-адреса Национальной системы доменных имен.

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

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

Технический директор «Роскомсвободы» Станислав Шакиров рассказал РБК, что компании заранее переводят клиентов на другие серверы на случай возможной блокировки публичных DNS-серверов Google и Cloudflare. Анонимный источник издания полагает, что основная цель ограничений — прекратить работу протокола DoH, поскольку на мобильных сетях практически нет проблем с блокировкой доступа к запрещенным сайтам.

Независимый эксперт в области информационной безопасности Алексей Лукацкий считает, что блокирование публичных DNS-серверов — это часть кампании, в рамках которой на прошлой неделе некоторые госкомпании разослали письмо своим «дочкам», а Банк России — финансовым организациям с просьбой проверить, есть ли у компаний корпоративные, технологические сети и приложения, которые используют протоколы шифрования, скрывающие имя сайта (DNS-сервера Google, Cloudflare и сервис DoH). По мнению Лукацкого, такие действия ведут к существенному ограничению публичных DNS-серверов Google и Cloudflare в России.

Настройка DNS: видео

Возможно, будет интересно:

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

Любой домашний и офисный роутер ДНС запросы тоже обрабатывает, а как именно ему удается это выполнять, вроде бы, не так важно

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

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

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

Термин English Определение
Прямой запрос к DNS forward DNS Преобразование имён хостов в адреса IP
Ориджин origin Обозначает домен, покрываемый конкретным файлом зоны
named, bind, сервер имён Общеупотребительные названия для обозначения пакета BIND, обеспечивающего работу сервера имён во FreeBSD.
Резолвер Системный процесс, посредством которого машина обращается к серверу имён для получения информации о зоне
Обратный DNS reverse DNS Операция, обратная прямому запросу к DNS; преобразование адресов IP в имена хостов. Что такое PTR запись обратного просмотра DNS
Корневая зона Начало иерархии зон Интернет. Все зоны находятся под корневой зоной, подобно тому, как все файлы располагаются ниже корневого каталога.
Зона Отдельный домен, поддомен или часть DNS, управляемая одним сервером.

Примеры зон:

  • . является корневой зоной
  • org. – домен верхнего уровня (TLD) в корневой зоне.
  • example.org. является зоной в домене верхнего уровня (TLD) org..
  • 1.168.192.in-addr.arpa является зоной, в которую включены все IP-адреса, формирующие пространство адресов 192.168.1.*.

Как можно видеть, уточняющая часть имени хоста появляется слева. Например, example.org. более точен, чем org., также, как org. более точен, чем корневая зона. Расположение каждой части имени хоста сильно похоже на файловую систему: каталог /dev расположен в корневой файловой системе, и так далее.

Эволюция DNS

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

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

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

DNS с Dnsmasq

Dnsmasq — это легкий DNS-сервер, входящий в состав большинства дистрибутивов Linux. Кроме того, его очень просто настроить.

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

Схема маршрутизации будет выглядеть так:

  • Сетевой маршрутизатор получает запрос от одного из ваших подключенных устройств. Маршрутизатор будет настроен на использование хоста Dnsmasq в качестве DNS-сервера.
  • Dnsmasq проверит, есть ли у него определенный маршрут для доменного имени, например, от веб-сервера до 192.168.0.101. Если запрос был для http: // web-server / example-page, он отправит 192.168.0.101 обратно на маршрутизатор.
  • Когда Dnsmasq не имеет подходящего маршрута, он пересылает DNS-запрос в Google 8.8.8.8, обеспечивая разрешение в общедоступном Интернете. Это гарантирует, что вы по-прежнему можете выходить в более широкую сеть при использовании собственного DNS.

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

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

Основой для обработки запросов доменных имен являются корневые сервера в количестве 123 устройств, которые располагаются в разных частях света. Они формируют так называемую доменную зону, благодаря которой и существует всемирная сеть Интернет. На сегодняшний день порядка 32,5% корневых серверов располагается на территории Северной Америки, 28,5% — в Европе, 4,9% — в Южной Америке и около 2,4 % в Африке.

На территории РФ находится также несколько реплик корневых серверов DNS, включая F.root, I.root, L.root, J.root и K.root. Они располагаются в Москве, Санкт-Петербурге, Екатеринбурге, Новосибирске и Ростове-на-Дону. С целью защиты информации DNS-сервера имеют резервные копии, позволяющие при необходимости восстанавливать утраченные данные.

Что они делают

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

  1. Переходим на сайт «google.com». Браузер передаёт этот запрос DNS-клиенту, который встроен в операционную систему.

  2. DNS-клиент проверяет локальный кеш на наличие IP адреса для запрашиваемого названия.

    Если соответствие найдено, то IP передаётся браузеру и он на него отправляет запрос для получения содержимого сайта. Работа с DNS на этом заканчивается.

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

    Узнать IP адрес рекурсивного DNS-сервера можно командой «nslookup» в командной строке Windows (cmd). Просто запросите информацию для любого сайта.

  3. Рекурсивный DNS-сервер также ищет в своей базе нужный IP адрес и если не находит, то последовательно делает следующее:

    • Запрашивает у одного из корневых DNS-серверов IP адрес TLD-сервера, который отвечает за доменную зону «.com» (ведь ищем «google.com»).
    • Обращается к TLD-серверу зоны «.com», чтобы получить IP адрес авторитативного DNS-сервера, на котором есть информация о «google.com».
    • Запрашивает у авторитативного DNS-сервера IP сайта «google.com».
    • Наконец, получает нужный IP и отсылает его DNS-клиенту или сообщает — ничего не нашел, ошибка «DNS_PROBE_FINISHED_NXDOMAIN».
  4. DNS-клиент компьютера, получив IP для «google.com», кеширует информацию, чтобы при повторном запросе не проделывать предыдущие шаги, и передаёт браузеру.

  5. Браузер посылает на этот IP адрес http-запрос, чтобы в ответ получить содержимое сайта.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
PR-HOST
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: