9

У меня есть несколько клиентских виртуальных машин с многосетевым подключением Windows 10, подключенных к домену Windows 2012 R2. Ethernet1 подключен к локальной сети с контроллерами домена (у которых нет серверов пересылки или доступа к корневым серверам), Ethernet2 подключен к локальной сети с доступом к Интернету, у Ethernet0 и Ethernet3 оба носителя отключены. Запросы на записи с контроллеров домена возвращаются просто отлично, но запросы на записи из интернета занимают 10 секунд плюс сколько угодно времени, чтобы DNS-серверы моего интернет-провайдера возвращали ответ. Если я запрашиваю DNS-серверы моего интернет-провайдера напрямую через nslookup имя разрешается быстро (<1 секунда), если я просто запускаю nslookup без указания DNS-сервера, запрос прерывается, а имя никогда не разрешается, и если я пытаюсь пропинговать DNS имя занимает> 10 секунд, прежде чем имя будет решено.

Я осмотрел Technet, но, похоже, еще нет документации по Windows 10. Лучшее, что я нашел, это:

http://blogs.technet.com/b/networking/archive/2009/06/26/dns-client-resolver-behavior.aspx http://blogs.technet.com/b/stdqry/archive/2011/12/15/dns-clients-and-timeouts-part-2.aspx

Это говорит о том, что я должен ожидать, что мой клиент запросит первичный DNS-сервер для Ethernet1, подождет 1 секунду для ответа на тайм-аут, а затем запросит как вторичный DNS-сервер для Ethernet1, так и первичный DNS-сервер для Ethernet2, но это не кажется быть происходящим. Далее в документации говорится, что после 10 секунд (и еще 3 раундов DNS-запросов с более длительными тайм-аутами) разрешение DNS полностью не будет работать для всех адаптеров, но поведение клиента создает впечатление, что требуется 10 секунд, прежде чем даже предпринять попытку используйте DNS-серверы для второго адаптера.

Если я (или вы) не открыли Wireshark и не понюхали строку или не изменили вслепую HKLM\System\CurrentControlSet\Services\dnscache\Parameters\DNSQueryTimeouts , кто-нибудь знает, как должна вести себя Windows 10, и, что более важно, как я могу настроить поведение? Я готов жить с разрешением ~ 1 секунда, но 10 секунд довольно жестоко.

IPCONFIG

Ethernet adapter Ethernet1:

   Connection-specific DNS Suffix  . : intranet.mydomain.net
   Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection #2
   Physical Address. . . . . . . . . : 00-0C-29-CC-E8-93
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::999b:3e21:749b:6f55%7(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.2.0.20(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.0.0
   Lease Obtained. . . . . . . . . . : Sunday, September 6, 2015 8:17:00 AM
   Lease Expires . . . . . . . . . . : Sunday, September 13, 2015 8:17:00 AM
   Default Gateway . . . . . . . . . :
   DHCP Server . . . . . . . . . . . : 10.2.0.2
   DHCPv6 IAID . . . . . . . . . . . : 83889193
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1D-74-AB-6A-00-0C-29-CC-E8-89
   DNS Servers . . . . . . . . . . . : 10.2.0.1
                                       10.2.0.2
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Ethernet2:

   Connection-specific DNS Suffix  . : internet.mydomain.net
   Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection #3
   Physical Address. . . . . . . . . : 00-0C-29-CC-E8-9D
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::944:ded1:dc53:cec4%6(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.1.116(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Sunday, September 6, 2015 8:17:04 AM
   Lease Expires . . . . . . . . . . : Monday, September 7, 2015 8:17:04 AM
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DHCPv6 IAID . . . . . . . . . . . : 83889193
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1D-74-AB-6A-00-0C-29-CC-E8-89
   DNS Servers . . . . . . . . . . . : 75.75.75.75
                                       75.75.76.76
                                       8.8.8.8
   NetBIOS over Tcpip. . . . . . . . : Enabled

Nslookup

C:\Users\username>nslookup www.google.com 75.75.75.75
Server:  cdns01.comcast.net
Address:  75.75.75.75

Non-authoritative answer:
Name:    www.google.com
Addresses:  2607:f8b0:4001:c07::69
          74.125.196.106
          74.125.196.104
          74.125.196.147
          74.125.196.105
          74.125.196.99
          74.125.196.103


C:\Users\username>nslookup www.google.com
DNS request timed out.
    timeout was 2 seconds.
Server:  UnKnown
Address:  10.2.0.1

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** Request to UnKnown timed-out

Обновить

Если кому-то еще интересно, я подключил к домену виртуальную машину Win7 SP1 (без исправлений) с той же конфигурацией сетевого адаптера, перенес ее в то же подразделение, что и другие виртуальные машины, и на всякий случай обновил групповую политику на клиенте. Он способен разрешать DNS-запросы как с DNS-серверов DC, так и с моих интернет-провайдеров. Таким образом, похоже, что это поведение, специфичное для DNS-клиента Windows 10.

Обновление 2

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

Wireshark Packet Trace

3 ответа3

10

Microsoft в Windows 10 существенно изменила или переписала DNS Resolver.

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

Эта ошибка, несомненно, будет исправлена в будущем обновлении Windows 10. До тех пор, чтобы максимально приблизить поведение к предыдущим версиям Windows, существуют следующие модификации реестра:

DisableSmartNameResolution (DWORD)

В разделе реестра HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient .
Значение 1 для отключения, 0 для включения интеллектуального разрешения.
От Отключите интеллектуальное разрешение имен для нескольких домов :

Указывает, что многодомный клиент DNS должен оптимизировать разрешение имен в сетях. Этот параметр повышает производительность, выполняя параллельные запросы локальных многоадресных имен DNS-ссылок (LLMNR) и запросы NetBIOS через TCP/IP (NetBT) во всех сетях. В случае получения нескольких положительных ответов порядок привязки сети используется для определения того, какой ответ принять.Если вы включите этот параметр политики, клиент DNS не будет выполнять никаких оптимизаций. DNS-запросы будут выдаваться во всех сетях в первую очередь. Запросы LLMNR будут выдаваться в случае сбоя DNS-запросов, за которыми следуют запросы NetBT в случае сбоя запросов LLMNR.Если этот параметр политики отключен или не настроен, разрешение имен будет оптимизировано при выполнении запросов DNS LLMNR и NetBT.

DisableParallelAandAAAA (DWORD)

В разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters .
Значение 0 для включения, 1 для отключения DNS-запросов A и AAAA от параллельного выполнения на всех настроенных DNS-серверах, причем самый быстрый ответ сначала теоретически принимается.

0

источник

SMHNR немного изменен для Windows 10 по сравнению с Windows 8. В Windows 10 его нельзя отключить через реестр.

В Windows 10 вы можете использовать "Локальные политики", чтобы отключить эту функцию. Выполните следующие шаги, чтобы сделать это:

  • Нажмите WIN+R и напишите gpedit.msc
  • Развернуть Административные шаблоны Развернуть Сеть
  • Нажмите DNS-клиент. Дважды щелкните "Отключить интеллектуальное разрешение имен с несколькими домами".
  • Установите флажок "Включено"
  • Нажмите "Применить все", а затем "ОК"
0

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

Процедура удаления корневых ссылок в 2008 R2 описана здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .