Вопрос или проблема
Используя один и тот же DNS сервер, разрешение одного и того же адреса даёт разные ответы, если DNS-запрос поступает с Windows 11 по сравнению с другими машинами.
Все машины получают одни и те же настройки DHCP, используя маршрутизатор в качестве DNS-сервера и находясь в одной домашней сети без сегментации.
Эта команда: nslookup -d2 subaddress.mydomain.com.
На Windows 11 возвращает:
Сервер: UnKnown
Адрес: 192.168.0.1
------------
SendRequest(), len 40
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: query, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
subaddress.mydomain.com, type = A, class = IN
------------
------------
Получен ответ (96 байт):
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 2, authority records = 0, additional = 0
QUESTIONS:
subaddress.mydomain.com, type = A, class = IN
ANSWERS:
-> subaddress.mydomain.com
type = CNAME, class = IN, dlen = 28
каноническое имя = subdomain.dyndnsprovider.com
ttl = 300 (5 минут)
-> subdomain.dyndnsprovider.com
type = A, class = IN, dlen = 4
интернет-адрес = xxx.xxx.xxx.xxx (мой публичный IP-адрес)
ttl = 60 (1 минута)
Но с Windows 10 или Windows Server 2019 возвращает:
Сервер: UnKnown
Адрес: 192.168.0.1
------------
SendRequest(), len 40
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: query, want recursion
questions = 1, answers = 0, authority records = 0, additional = 0
QUESTIONS:
subaddress.mydomain.com, type = A, class = IN
------------
------------
Получен ответ (56 байт):
HEADER:
opcode = QUERY, id = 2, rcode = NOERROR
header flags: response, want recursion, recursion avail.
questions = 1, answers = 1, authority records = 0, additional = 0
QUESTIONS:
subaddress.mydomain.com, type = A, class = IN
ANSWERS:
-> subaddress.mydomain.com
type = A, class = IN, dlen = 4
интернет-адрес = 192.168.0.3
ttl = 300 (5 минут)
Есть ли известные различия в DNS-запросах на Windows 11?
Nslookup, по всей видимости, использует DNS-сервер (как указано Адрес: 192.168.0.1), но DNS-сервер не регистрирует запрос от машины Windows 11, независимо от настроек IP. Запросы других машин регистрируются.
Единственное, что мне приходит в голову, это то, что Windows 11 не поддерживает классический «незащищённый» DNS-сервер и пытается действовать самостоятельно, используя какой-то предопределённый DNS-сервер.
Как я могу это отладить?
Спасибо за подсказки, похоже, я нашёл виновника:
- С помощью Wireshark я выяснил, что все DNS-запросы на проблемной машине идут с 127.0.0.1:некоторыйпорт на 127.0.0.1:53
- Используя SysInternals TcpView, я смог определить, что служба (dnscryptproxy.exe) действует как локальный DNS-резолвер (сидит на 127.0.0.1:53)
У меня установлен Cisco Secureclient (но не подключен), и он содержит модуль под названием umbrella. Это и вызвало проблему.
Остановка/выход из клиента не остановит службу.
После того как служба была вручную остановлена, разрешение DNS снова заработало.
Изначально я исключил этот клиент, так как другая машина в моей сети (с Windows 10), используя более старую версию Secureclient (configured to the same endpoint), правильно разрешала доменное имя. Я теперь проверил, что у этого клиента нет модуля umbrella.
Безусловно, я мог бы отвергнуть свои подозрения по поводу Windows 11, если бы у меня была другая машина с Windows 11 в моей сети.
Ответ или решение
Различия в разрешении DNS между Windows 10 и Windows 11 могут быть связаны с несколькими факторами, включая настройки сети, используемые службы и программное обеспечение безопасности.
В вашем случае, судя по приведенной информации, проблема заключалась в том, что Windows 11 не использовал стандартный DNS-сервер (192.168.0.1), а обращался к локальному DNS-резолверу, который работал на порту 53 на 127.0.0.1. Это поведение связано с установленной утилитой Cisco Secure Client, которая, судя по всему, включает в себя модуль Umbrella. Этот модуль может перенаправлять DNS-запросы на локальный резолвер, который, в свою очередь, ведет себя иначе, чем ожидаемое поведение стандартного DNS-сервера.
Вот шаги, которые могут помочь вам в разрешении подобных проблем:
-
Проверка сервисов и программ: Используйте такие утилиты, как SysInternals TcpView или Process Explorer, чтобы определить, какие приложения и сервисы прослушивают локальные порты, а также на какие IP-адреса уходит трафик. В вашем случае,
dnscryptproxy.exe
выполнял функцию локального DNS-резолвера. -
Настройки DNS: Убедитесь, что в Windows 11 правильно настроен DNS-адрес. Это можно сделать в «Сетевых настройках» в разделе свойств адаптера. Проверьте, не установлен ли галочка «Использовать автоматически полученный DNS-сервер», и укажите ваш DHCP-сервер (например, 192.168.0.1) вручную.
-
Отключение стороннего ПО: Если вы используете сетевые утилиты безопасности, такие как Cisco Secure Client или другие VPN/прокси-сервисы, попробуйте временно отключить их, чтобы проверить, влияет ли это на разрешение DNS. Это позволит вам понять, действительно ли проблема вызвана сторонним программным обеспечением.
-
Логи DNS: Поскольку ваш DNS-сервер не ведет лог запросов от Windows 11, убедитесь, что у вас включено логирование на DNS-сервере для диагностики (если это возможно). Это может дать дополнительную информацию о том, какие запросы проходят через сервер.
-
Сравнение конфигураций: Если возможно, выполните сравнение настроек сетевых адаптеров между рабочими версиями Windows 10 и Windows 11. Обратите внимание на любые существенные различия, особенно в конфигурации DNS.
-
Обновления системы: Убедитесь, что вся система и драйверы сетевого адаптера обновлены до последней версии на Windows 11, так как обновления могут содержать исправления для ошибок, связанных с сетевой работой.
Если выполненные шаги не разрешат проблему, может быть полезно запустите диагностику сети (инструменты Windows) или воспользуйтесь встроенными командами, такими как ipconfig /flushdns
и ipconfig /registerdns
, чтобы обновить конфигурацию сети.
С учетом вашего находки, оказалось, что проблема действительно связана с установленным программным обеспечением. Если это программное обеспечение вызывает сбой в разрешении DNS, возможно, стоит рассмотреть возможность его обновления или поиска альтернатив.