AdguardForWindows icon indicating copy to clipboard operation
AdguardForWindows copied to clipboard

Turning DNS Protection on breaks the local Windows domain connection

Open jameszeroX opened this issue 1 year ago • 15 comments

AdGuard version

7.15.1

Browser version

OS version

Windows 10 Pro 21H2 (19044.1706)

What filters do you have enabled?

No response

What Stealth Mode options do you have enabled?

No response

Support ticket ID

No response

Issue Details

На компьютере, входящем в домен Windows, при включении "DNS-защиты" и выборе любого из вариантов DNS кроме системного, теряется доступ к домену. Не открываются DFS папки, не применяется групповая политика, в логах фиксируется ошибка:

Ошибка при обработке групповой политики. Windows не удалось получить имя контроллера домена. Возможная причина: ошибка разрешения имен. Проверьте, что служба DNS настроена и работает правильно.

Не доменный компьютер не вводится в домен с ошибкой:

При запросе DNS записи ресурса размещения службы (SRV), используемой для выяснения размещения контроллера домена Active Directory для домена "blabla.lan" произошла ошибка:
Произошла ошибка: "Ошибка DNS-сервера."
(код ошибки: 0x0000232A RCODE_SERVER_FAILURE)

DNS-защита выключена:

nslookup srv-dc.domain.lan
╤хЁтхЁ:  srv-sc.domain.lan
Address:  10.1.1.3
 
Не заслуживающий доверия ответ:
╚ь :     srv-dc.domain.lan
Address:  10.1.1.2 

DNS-защита включена:

nslookup srv-dc.domain.lan
╤хЁтхЁ:  UnKnown
Address:  10.1.1.3
 
*** UnKnown не удалось найти srv-dc.domain.lan: Non-existent domain 

В расширенных настройках AdGuard включена опция не фильтровать диапазоны локальных адресов и domain.lan добавлен в список DNS-исключений.

Actual Behavior

No response

Expected Behavior

Лучший вариант: Трафик доменных служб Windows должен быть исключён из фильтрации.

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

Screenshots

No response

Additional Information

No response

jameszeroX avatar Nov 16 '23 06:11 jameszeroX

@jameszeroX Добрый вечер! Для диагностики и решения Вашей проблемы, нам понадобятся логи приложения AdGuard.

Соберите и отправьте указанные файлы, используя данную инструкцию:

  1. Соберите логи согласно данной инструкции - https://adguard.info/kb/ru/adguard-for-windows/solving-problems/adguard-logs/
  2. Запомните точное время воспроизведения проблемы. Оно понадобится нам, чтобы найти соответствующие записи в лог-файле;
  3. Отправьте полученный архив по адресу [email protected]. Также укажите номер задачи Github и время воспроизведения проблемы.

KolbasovAnton avatar Nov 16 '23 15:11 KolbasovAnton

Отправил на email отладочные логи, если нужны ещё трейсовые, сообщите.

jameszeroX avatar Nov 17 '23 05:11 jameszeroX

@jameszeroX попробуйте пока внести диапазон ip-адресов, где находятся папки, к которым у Вас пропадает доступ, в исключения (Настройки - Основные настройки - Расширенные настройки). image

KolbasovAnton avatar Nov 17 '23 12:11 KolbasovAnton

@KolbasovAnton, используемая мной подсеть 10.1.1.0/24 поглощается уже внесенной в список 10.0.0.0/8, но даже принудительное указание 10.1.1.0/24 вместо 10.0.0.0/8 не влияет на ситуацию, проблема остаётся.

Хочу добавить, что компьютеры из сетевого окружения по самбе открываются нормально и их общие папки тоже. Проблема касается конкретно общих ресурсов распределенной файловой системы DFS, которая обслуживается DNS сервером контроллера доменов Active Directory. Полагаю, что запросы к этому DNS серверу перехватываются AdGuard-ом, а он про домен AD и тем более про DFS ничего не знает.

jameszeroX avatar Nov 17 '23 13:11 jameszeroX

@jameszeroX попробуйте добавить klod.rzga412.lan в системные hosts с ip-адресом (C:\Windows\System32\drivers\etc\hosts).

KolbasovAnton avatar Nov 17 '23 14:11 KolbasovAnton

Да, это работает, но есть нюанс. DFS позволяет объединять несколько серверов в одно пространство имен, т.е. на одном имени находятся несколько файловых ресурсов, а DNS-сервер контроллера домена выдаёт клиенту подключение к наименее загруженному либо к более близкорасположенному серверу (на практике всё несколько сложней, но не суть). Назначив DFS-ресурсу один IP-адрес в host мы нарушаем этот механизм. Кроме того запись в hosts не исправляет проблему невозможности обновить групповую политику.

jameszeroX avatar Nov 17 '23 15:11 jameszeroX

Дальнейшие эксперименты показали, что если добавить в файл hosts IP-адреса и имена контроллеров домена, а их в данной сети два, то групповая политика начинает применяться нормально, но есть несколько ресурсов на линукс, для которых создана A запись в DNS-сервере контроллера домена, их тоже приходится вносить в hosts, чтобы они открывались. В общем DNS-сервер контроллера доменов Windows не работает для клиента, если у клиента включена DNS-защита AdGuard и выбран резолвер, отличный от системного.

jameszeroX avatar Nov 18 '23 06:11 jameszeroX

@jameszeroX спасибо Вам за замечания. Предварительно планируем разобрать этот баг в версии 7.17.

KolbasovAnton avatar Nov 20 '23 13:11 KolbasovAnton

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

adbuker avatar Nov 27 '23 15:11 adbuker

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

jameszeroX avatar Nov 28 '23 05:11 jameszeroX

@jameszeroX, добрый день! Судя по логам, которые вы прислали, вы добавили в DNS исключения только rzga412.lan. Не могли бы добавить туда другие имена доменов, которые должны быть исключены, т.е. klod.rzga412.lan, srv-dc.domain.lan итд и попробовать с ними? Если вам нужно добавить в исключения все поддомены, например, rzga412.lan, то можно занести их в исключения с помощью ***** в виде *.rzga412.lan или, для всех поддоменов .lan - *.lan

vankos avatar Dec 15 '23 13:12 vankos

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

jameszeroX avatar Dec 18 '23 05:12 jameszeroX

Тогда большая просьба записать и отправить нам новые логи с новыми настройками с вайлдкартом по инструкции в этом комментарии: https://github.com/AdguardTeam/AdguardForWindows/issues/4906#issuecomment-1814739886 , спасибо!

vankos avatar Jan 09 '24 06:01 vankos

Отправил логи на почту [email protected]

jameszeroX avatar Jan 09 '24 08:01 jameszeroX

Проверил на версии 7.17 beta 1 Проблема решена. Дополнительные действия: требуется вручную добавить локальный домен Active Directory в DNS-исключения AdGuard, например: *.domain.lan или просто *.lan

jameszeroX avatar Jan 25 '24 10:01 jameszeroX