Настройка Интернет-Фильтра На Роутере Zyxel Keenetic — Яндекс DNS и AdGuard DNS


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

Рассмотрим протокол, который используется для сетевого взаимодействия в службе DNS. Напомню, что в системе доменных имен есть дерево серверов DNS, каждый из которых отвечает за некоторую часть пространства доменных имен, которое называется зоной. Клиент хочет узнать ip-адрес сервера для которого ему известно доменное имя. Например maps.yandex.ru.

Система работы протокола DNS

Поиск начинается с корневого домена, отправляется запрос на доменное имя maps.yandex.ru.

Поиск корневого домена

Но корневой сервер отвечает, что он не знает ip-адрес этого компьютера, зато он знает ip-адрес DNS-сервера, которому делегировано управление зоной ru.

ip-адрес DNS-сервера

Клиент DNS отправляет запрос к серверу, который отвечает за зону ru.

Клиент DNS отправляет запрос к серверу

Но тот в свою очередь, снова присылает ответ, что адрес этого компьютера ему неизвестен, но он знает адрес сервера, которому делегировано управление зоной yandex.ru.

Знает делегировано управление зоной yandex.ru

Отправляется третий запрос к DNS серверу, который отвечает за зону yandex.ru.

запрос отвечает за зону yandex.ru

У этого сервера есть необходимая нам информация и он присылает необходимый нам ip-адрес.

присылает необходимый ip-адрес

Режим работы DNS

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

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

Инфраструктура DNS

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

DNS серверы, которые хранят информацию об отображении доменных имен в ip-адресах

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

сервисы разрешением имен для клиентов

Сервер разрешения имен DNS

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

Другой вариант это использовать открытый сервер разрешения имен, которые предоставляют некоторые компании. Например, широко известен общедоступный DNS сервер компании Google с адресом 8.8.8.8, который может использовать кто угодно. Зачем может понадобиться использовать открытый сервер, вместо серверов вашей локальной сети? Некоторые такие серверы, например, сервер компании Яндекс с таким адресом 77.88.8.7 блокирует контент для взрослых.

Кэширование

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

Кэширование в DNS

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

Типы ответов DNS

В DNS есть два типа ответов:

  • Авторитетный или как пишется в утилите nslookup windows — authoritative «заслуживающий доверие», это ответ, который получен от DNS сервера, который ответственный за данную зону. Ответ получен из конфигурационных файлов на диске сервера, и точно является актуальным.
  • Неавторитетный (non-authoritative) или «не заслуживающий доверия ответ», это ответ который получен от сервера, который не является ответственным за эту зону. Как правило, это DNS resolver, который закэшировал полученный ранее ответ. С момента создания записи в кэше данные могли измениться, поэтому ответ называется не заслуживающим доверия, но как правило в кэше находятся верные данные.

Как узнать предпочитаемые DNS сервера Ростелеком

Как отмечалось, имя сервера Ростелеком задается в автоматическом режиме. К предпочтительным относятся следующие адреса:

  1. Приоритетный — 48.193.36.
  2. Дополнительный — 213.158.0.6, 212.48.193.36.

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

В случае неполадки можно использовать другие адреса (об этом ниже).

Протокол DNS

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

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

Пакет 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 ответа более сложный, первые три поля точно такие же имя, тип записи и класс записи. Затем указывается время жизни, это время на которые запись может сохранить в кэше DNS resolver, затем указывается длина данных и собственно данные ответа.

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

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

Пример ответа DNS

Что такое DNS-SD?

В примере с mDNS мы выясняли айпишник устройства с уже известным именем. Но что, если ты хочешь связаться с девайсом, имя которого не знаешь, — например, с принтером? Эту проблему как раз и решает протокол обнаружения сервисов (Service Discovery). Он позволяет устройствам заявлять о конкретных сервисах, которые они предлагают, — так, чтобы можно было обнаружить их без централизованной настройки.

Начнем с вычисления принтеров:

$ dig @224.0.0.251 -p 5353 -t ptr +short _printer._tcp.local Brother\032DCP-L2540DW\032series._printer._tcp.local.

Тут нам помогут те же мультикастомный DNS-адрес и порт, но на сей раз мы запрашиваем PTR-записи и используем специальное доменное имя _printer._tcp.local — оно как раз предназначено для распознавания принтеров. В ответ на этот запрос мой принтер Brother вернул свое локальное доменное имя.

Если ты хочешь запросить устройства с другими сервисами, то стоит свериться с их официальным реестром. Например, там есть любопытная служба RAOP — она же протокол Apple, известный как AirTunes. Давай-ка его вычислим:

$ dig @224.0.0.251 -p 5353 -t ptr +short _raop._tcp.local C8D083XXXXXX\@Living\032Room._raop._tcp.local

Запрос показывает устройство в моей сети, предлагающее сервис RAOP, — это Apple TV под названием «Гостиная» (Living Room). На самом деле в моей сети два Apple TV, но dig выводит только первый полученный ответ. К счастью, есть инструменты и получше. На macOS это команда dns-sd в программном модуле Rendezvous (Bonjour), эппловской реализации Zeroconf.

$ dns-sd -B _raop._tcp Browsing for _raop._tcp DATE: —Sun 16 Sep 2018— 10:02:18.236 …STARTING… Timestamp Domain Service Type Instance Name 10:02:18.237 local. _raop._tcp. [email protected] 10:02:18.238 local. _raop._tcp. [email protected] Room ^C

Эта команда разошлет запрос и отобразит все полученные ответы (чтобы избавиться от них, нужно будет нажать Ctrl-C). Теперь мы видим оба моих Apple TV.

На Linux тот же набор инструментов предлагает пакет Avahi (на Debian/Ubuntu он называется avahi-utils).

$ avahi-browse _raop._tcp + IPv6 [email protected] AirTunes Remote Audio local + IPv6 [email protected] Room AirTunes Remote Audio local + IPv4 [email protected] AirTunes Remote Audio local + IPv4 [email protected] Room AirTunes Remote Audio local ^C

Avahi умеет переводить имена служб типа _raop._tcp.local в более понятные — AirTunes Remote Audio local, например. Также Avahi может вычислить айпишник с помощью mDNS, так что dig здесь вообще не нужен:

$ avahi-resolve —name Bedroom.local Bedroom.local 10.105.0.230

Типы записей DNS

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

Каждая запись dns по-английский (Resource Record, RR) имеет тип записи и класс записи. Тип записей говорит о том для чего эта запись предназначена, а класс указывает в каких сетях эта запись может использоваться. Сейчас DNS применяется только в сетях интернет, поэтому в классе записи вы почти всегда увидите IN, сокращение от интернета.

Записи, которые используются для определения ip адреса компьютера (IPv4) по доменному имени имеют тип A, для адресов IPv6 используется тип запись 4 раза (AAAA ).

Сервера Yandex DNS без установки модуля

Однако есть возможность включить фильтрацию контента от Яндекс ДНС без установки специального модуля на роутер Zyxel Keenetic. Разница между двумя способами будет в том, что в первом мы имеем возможность детально настроить ограничения для отдельного компьютера или смартфона, а во втором — для всей сети. Так что лучше все-таки пользоваться встроенной функцией, но если это не получается, то заходим в настройки «Интернет» и кликаем по подключению «Broadband Connection»

И здесь в пунктах DNS1 и DNS2 указываем адреса серверов Яндекса

Их можно взять из скриншота ниже.

После этого сохраняем изменения кнопкой «Применить»

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

Результатом работы фильтра Яндекс DNS будет вот такое сообщение при заходе на опасный сайт при активированном «семейном» режиме

блокировка яндекс dns

А вот так смотрится просто блокировка рекламы — на месте пустого серого окна на сайте на самом деле должен отображаться баннер

реклама фильтр keenetic

Запрос записей разных типов

В утилите nslookup можно указать тип записи, который вы запрашиваете с помощью ключа минус type, например если вы укажете -type=A, нужно узнать Ipv4 адрес для доменного имени www.yandex.ru, то получите адреса ip версии 4.

nslookup для DNS

А если указать тип записей четыре раза A, то получим адрес IPv6 для того же самого доменного имени.

DNS псевдонимы

Для одного и того же IP-адреса можно задавать несколько доменных имен. Есть два варианта, как это можно сделать.

  • Первый вариант использовать DNS запись типов CNAME (Canonical Name каноническое имя) эта запись определяет псевдоним для доменного имени. Например, доменное имя ftp.zvondozvon.ru является псевдонимом www.zvondozvon.ru, то есть два этих имени указывают на один и тот же IP-адрес. Канонических имен для одного и того же доменного имени можно создавать очень много. Для того чтобы такие имена работали необходимо, чтобы для доменного имени на которые они указывают существовала запись, которая определяет IP-адрес для этого доменного имени.
  • Альтернативный способ, создать большое количество A записей, которые указывают на один и тот же ip адрес. Но это не всегда удобно, например если вы хотите поменять IP адрес, то вам придется менять его в разных местах. С другой стороны на применение записей типа CNAME есть ряд технических ограничений со стороны системы DNS например, нельзя определять цепочки из канонических имен, которые ссылаются друг на друга, о других ограничениях можно подробно посмотреть в документах RFC, которые описывают работу DNS.

Альтернативные DNS для «Ростелекома»

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

ДНС-сервер «Ростелекома» в данном случае не подойдет, так как он задается самим провайдером, а другие адреса от Google и Yandex описаны выше. Но это не все варианты, в «глобальной сети» их множество.

Адрес почтового сервера

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

Это можно сделать с помощью DNS. Для этого в DNS есть запись специального типа MX (Mail eXechange), например для домена gmail.com есть целых пять записей типа MX, которые задают пять серверов, принимающие почту в домене Google.

Адрес почтового сервера в DNS протоколе

Запись MX содержит два поля. Первое поле это приоритет, а второе это адрес сервера принимающего почту для данного домена. Чем ниже значение, тем более высокий приоритет. Самый высокий приоритет у сервера, у которого значение приоритета пять и самый низкий приоритет у сервера со значением 40. Таким образом, при отправке электронной почты сначала будет выбираться сервер с наименьшим приоритетом, если по каким-либо причинам он будет недоступен, следующий сервер и так далее.

Что такое ДНС сервера и для чего они нужны

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

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

Таким образом, DNS выполняет следующие функции:

  1. Выступает в роли проводника к сайтам в Интернете.
  2. Фильтрует нежелательный и запрещенный контент.
  3. Задает основные параметры пинга, скорости соединения и т. д.

Адреса сетевых сервисов

Для некоторых типов сервисов интернет, можно указывать не только IP адрес, но и порт на котором этот сервис работает. Для этого используются DNS записи типа SRV (Service record). Структуры этой записи достаточно сложны, вместо доменного имени указывается строка с описанием сервисов в специальном формате (_сервис._протокол.имя.-˃ приоритет вес порт имя).

Адреса сетевых сервисов DNS

Например, если мы хотим узнать на каком компьютере и на каком порту работает jabber сервер работающий по протоколу tcp в домене example.com мы получим вот такую запись (0 5 5269 xmpp.example.com). Проще всего разбирать её с конца. Сервис работает на компьютере с доменным именем xmpp.example.com порт 5269, приоритет 0, вес 5. Так же как и с почтовыми серверами, чем меньше значение приоритета, тем более высокий приоритет у сервера.

Резервный jabber сервер для этого домена работает на компьютере backup_xmpp.xample.com порт 5269 приоритет 20, вес 0. Вес используются для распределения нагрузки между разными серверами, которые имеют один и тот же приоритет.

Серверы – теория

Не будем сильно углубляться в архитектуру DNS серверов, но для общего понимания стоит знать:

  1. Их много – нет единого верного, как правило вы получаете DNS провайдера, но это не всегда лучшее решение.
  2. Имеют вложенную структуру – корневые, страны, провайдеры, роутеры (очень грубо). В том плане, что все DNS наследуют друг от друга информацию, и если чего-то нет на текущем, запрос будет послан выше.
  3. У них есть IP адрес – вы стучитесь на него, а он уже отдает нужные IP адреса сайтов.

Как правило, после подключения к интернету при ничегонеделании с настройками вы получите DNS от своего провайдера.

Делегирование ответственности

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

DNS делегирование

Записи серверов имен

Для этого используются dns-записи типа NS (Name Server). Например, за доменную зону yandex.ru отвечают серверы ns1.yandex.ru и ns2.yandex.ru, а за доменную зону urfu.ru отвечает целых 3 сервера. Записи типа ns задаются на домене более высокого уровня в нашем случае на сервере, который отвечает за зону ru. Именно этот сервер содержит записи ns для домена yandex.ru и для домена urfu.ru.

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

Определение имени по IP-адресу

Кроме определения ip адреса по компьютеру, по доменному имени, система dns может использоваться для обратной задачи определения доменного имени компьютера по его IP адресу. Для этого используются специальные зоны, называются обратные (reverse) или реверсивные.

Реверсивная зона содержит записи типа PTR (Pointer), которые ставят в соответствии IP-адрес компьютера доменному имени. Однако из-за технических ограничений DNS не может работать напрямую с IP адресами, поэтому для обратных зон был придуман обходной путь, представлять IP адрес в виде доменного имени. Для этих целей создан специальный домен in-addr.arpa и в этом домене IP адреса записываются в обратном порядке, например адрес 77.88.55.66 в обратной зоне будет записан следующим образом 66.55.88.77.in-addr.arpa.

Настройка

А теперь покажу, куда нужно вставить эти адреса, чтобы все работало как дорогие швейцарские часы.

  1. Переходим в «Центр управления сетями» (Windows 7) ил «Параметры сети и интернет» (Windows 10). Можно для этого щелкнуть по значку сети правой кнопкой мыши и выбрать этот пункт:

Что такое DNS сервер и их адреса: от теории до тонкой настройки

  1. Далее «Настройка параметров адаптера» (или «Изменение параметров адаптера»):

Что такое DNS сервер и их адреса: от теории до тонкой настройки

  1. А тут уже ищем наш адаптер, через который мы подключились к сети, правой кнопкой – «Свойства» и делаем все как на схеме:

Что такое DNS сервер и их адреса: от теории до тонкой настройки

Здесь я установил адреса Google – первый и второй (первая и вторая колонка таблицы выше соответственно). Можете сделать так же, а можете поэкспериментировать с другими сервисами.

Эти действия выполняются одинаково на операционных системах Windows 7, Windows 8, Windows 10.

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

А лучше все сразу сделать на роутере в настройках DHCP сервера (который занимается раздачей сетевых настроек на подключенные устройства). Тогда все подключенные к нему устройства сразу будут идти через нормальные серверы. На примере TP-Link, под свою модель ищите настройки через поиск на нашем сайте:

Что такое DNS сервер и их адреса: от теории до тонкой настройки

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

Рейтинг
( 2 оценки, среднее 4 из 5 )
Понравилась статья? Поделиться с друзьями: