Wi-CAT LLC

Wireless Comprehensive Advanced Technology. Build your network now.

Wi-CAT LLC
Навигация Форума
Вы должны войти, чтобы создавать сообщения и темы.

Настройка DNS сервисов Wive-NG – часть 2 – локальные DNS сервисы, DNSSEC, альтернативные DNS

Помимо контент-фильтрации на уровне DNS и блокировки нежелательного контента пDns Sec Diagrammосредством Adblock, механизм работы которых мы рассмотрели в предыдущей статье, в ПО Wive-NG начиная с ветки 7.8 добавлена поддержка DNSSec, призванного обеспечить защиту от подмены DNS, а также - возможность организовать доступ к ресурсам локальной сети по доменным именам.

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

 

Добавление локальных записей DNS

Для обеспечения пользователям доступ к локальным ресурсам и сервисам посредством доменных имён, в разделе DNS Services предусмотрен блок настроек Local DNS Entries. Помимо этого, локальная запись DNS позволяет отказаться от NAT loopback - достаточно для ресурсов, доступных в глобальной сети по определенному доменному имени, создать локальную запись с идентичным доменным именем и локальным IP адресом этого ресурса. Это позволяет разгрузить маршрутизатор и нивелировать риск некорректной работы того же NAT loopback.

local dns at wive-ng-mt

Включение локальных DNS в ПО Wive-NG

Для того, чтобы обеспечить корректную работу локальной записи DNS, необходимо первым делом присвоить постоянный IP адрес (2) MAC адресу (1) устройства (3), для которого мы создаем запись. Сделать это можно в разделе Services → DHCP Server → Static IP address assignment table. При отсутствии статической пары MAC — IP, IP адрес целевого устройства, полученный от DHCP сервера роутера, может измениться, после чего локальная запись DNS станет недействительной.

static MAC IP

Присвоение постоянного IP адреса MAC адресу целевого устройства

Следующим шагом в блоке Add Local DNS Entry следует создать запись, включающую IP адрес (1) (который ранее мы присвоили на постоянной основе ресурсу, к которому обеспечиваем доступ) и доменное имя (2), по которому ресурс будет доступен пользователям локальной сети. Достаточно добавить запись (3) и применить, нажав Apply внизу страницы. Перезагрузка устройства не требуется.

locat dns entry

Добавление локальной DNS записи

После добавления записи, последняя появится в таблице Local DNS Entries. Одновременно с этим целевой ресурс станет доступен по доменному имени.

ping to check local access by domain name

Проверка доступности локального ресурса по доменному имени

Тип сервиса в данном случае роли не играет (это может быть http, samba, и т.д).

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

redirect to local dns

Включение редиректа всех запросов на локальный DNS

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

Функционал DNSSEC

Для препятствования атакам, основанным на подмене DNS, в ПО Wive-NG-mt добавлена поддержка DNSSec. Чтобы ее включить, достаточно выставить параметр DNSSec в значение Enable.

Важно: в силу ресурсоёмкости функционал DNSSEC доступен только в сборках Wive-NG для старших моделей (на базе MT7621)

dnssec enable at wive-ng-mt

Включение DNSSec в Wive-NG

Как работает DNSSec:

В основе принципа работы DNSSec лежат цифровые подписи, за счёт которых проверяется подлинность ответов, полученных от DNS серверов. Для понимания нам понадобятся термины:
ZSK - zone signing key — ключ, которым подписывается зона
KSK - key signing key — ключ, которым подписывается набор ключей
Закрытый ключ - с помощью него формируется цифровая подпись
Открытый ключ - с помощью него производится валидация цифровой подписи
В отличии от схемы без DNSSec, при выставленном бите DO (означающем работу DNSSEC) каждая итерация будет возвращать резолверу не только адрес DNS сервера, отвечающего за нижестоящую зону, но еще и DNSKEY — набор открытых ZSK и KSK ключей зоны, подписанный закрытым ключом KSK зоны, а также подписанный с помощью закрытого ZSK зоны хэш KSK (DS-запись) для нижестоящей зоны.
Алгоритм каждой итерации таков: подлинность открытого KSK зоны проверяется путем сравнения хэшей с тем, что получен для этой зоны от вышестоящей на предыдущей итерации. Если подлинность подтверждается, резолвер доверяет открытому ключу KSK и производит валидацию подписи набора ключей (DNSKEY). Если валидация пройдена, резолвер начинает доверять открытому ключу ZSK и с его помощью производит валидацию DS-записи для нижестоящей зоны, получая тем самым хэш KSK, используемый в следующей итерации для валидации ключей нижестоящей зоны. DS-запись для корневой зоны резолвер получает от т.наз. trust_anchor. Схематически, процесс выглядит так:

scheme of dnssec

Принцип работы DNSSec - схематически

Какая-либо ручная настройка для работы DNSSec не требуется — достаточно просто включить данную опцию в web интерфейсе.

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

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

upstream dns for correct dnssec work

Просмотр и добавление альтернативных DNS серверов для корректной работы DNSSec

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

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

Вопрос по upstream dns. Пр указании, например 4 апстримных днс: 2 cloudflare и 2 google, запросы делаются одновременно на все указанные днс и тот который быстрее ответит и используется? Или как-то по другому?

dnsmasq у нас запущен с --all-servers т.е. опрашиваются так или иначе все сервера, а не только перый попавшийся. А данные используются с того кто первым прислал ответ.

Выдержка из man`а.

--all-servers
By default, when dnsmasq has more than one upstream server available,
it will send queries to just one server. Setting this flag forces
dnsmasq to send all queries to all available servers. The reply from
the server which answers first will be returned to the original requester.

Добрый день,

не могу найти информацию. Установил в настройке DNS через Adblock,  но отвалился Kinopub на appletv.

вопрос, можно ли настроить определенный статический ip адрес на отдельный днс? Скажем 8.8.8.8.

  1. может выдавать разные DNS для разных клиентов? Нет нельзя.
  2. почему не добавить в исключения домены (см статью про adblock) которые нужны этим сервисам?
  3. почему не написать автору списков блокировки? Он тут на форуме есть и на 4pda. До кучи поможете остальным кто эти сервисы использует.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: