Час очікування роздільної здатності для Windows 10-ти DHM


11

У мене є декілька багатоходових віртуальних клієнтів 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

Оновлення

Якщо хтось цікавиться, я приєднався до VM Win7 SP1 (без патчів) з тією ж конфігурацією мережевого адаптера до домену, перемістив його в той же ОУ, що й інші віртуальні машини та оновив групову політику щодо клієнта на всякий випадок. Він здатний негайно вирішувати запити DNS як з DNS-серверів DC, так і з моїх Інтернет-провайдерів. Так виглядає, що це поведінка, специфічна для клієнта DNS Windows 10.

Оновлення 2

Тож речі стають незнайомими. Схоже, Win10 за замовчуванням видаватиме запити паралельно, але він не передасть відповідь на будь-який процес, про який його вимагали, до тих пір, поки всі запити не очікуються. І чомусь сервер DNS на моєму другому контролері домену не працює. Хтось знає, як відключити таку поведінку?

Wireshark Packet Trace


Погляньте на це питання: superuser.com/questions/966017/… haarymc зазначив, що роздільна здатність DNS для Windows 10 була значно модифікована та вказує на деякі можливі рішення.
Брендон Ксав'є

Я б почав з DisableSmartNameResolution, про який згадувалося.
Брендон Ксав'є

Брендону, схоже, встановлення DisableSmartNameResolution на 1 (а не 0, як рекомендовано посиланням) працювало! Якщо ви хочете опублікувати це як відповідь, я нагороджу представника. Дякую!
Метт

LOL, стільки проекції. Будьте злі, що Брендон Ксав'є знайшов проблему тут, отримаючи +100 повторень, коли він відправить свій коментар як відповідь, і що вам не вдасться почитати свої власні цитати.
Метт

1
Ось ще одна хороша посилання про цю нову функцію, і як вона змінюється з ОС Windows 8.1 в ОС Windows 10. medium.com/@ValdikSS / ...
GuitarPicker

Відповіді:


11

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, при цьому найперше теоретично приймається швидкий відповідь.


1
Просто хотів додати, що я на Win 10.0.10586 і HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClientне існує. Також DisableParallelAandAAAAне існує, але ключі існують, щоб можна було додати його.
Махді,

Це вирішило проблему VPN split-dns у Windows 10. При підключенні до vpn (тобто за допомогою клієнта Cisco) dns vpn використовується лише деякий час через ці дві функції. Якщо вимкнути обидва ці можливості (смарт-роздільна здатність імені та паралельний запит dns), це дозволяє надійно використовувати dn-адреси VPN. Крім того, він вирішує проблему "протікання dns", яка виникає під час незахищеної / ненадійної мережі Wi-Fi, наприклад, у кав'ярні з Windows 10. Ваші dns-запити перейдуть через vpn зараз, а не іноді в кав'ярню dns. Дуже дякую за надання цього рішення!
truemedia

2
Зручна версія PowerShell для тих, хто потрапляє на це (ми знаходимось на Stack Exchange): Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name DisableSmartNameResolution -Value 1 -Type DWordіSet-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name DisableParallelAandAAAA -Value 1 -Type DWord
Нік Крейвер

2
Цей ключ реєстру не вплинув на мій windows10, що спрацювало:Press WIN+R and write gpedit.msc Expand Administrative templates Expand Network Click DNS-client Double-click "Turn off smart multi-homed name resolution" Check the box called "Enabled" Click "Apply all" and then "OK"
Julien

1

джерело

SMHNR дещо змінено для Windows 10 порівняно з Windows 8. У Windows 10 не можна вимкнути його через реєстр.

Для Windows 10 ви можете використовувати функцію "Місцева політика" для деактивації функції. Для цього виконайте наведені нижче дії.

  • Натисніть WIN + R і напишіть gpedit.msc
  • Розгорнути адміністративні шаблони Розгорнути мережу
  • Клацніть DNS-клієнт Двічі клацніть "Вимкнути розумну роздільну здатність імені"
  • Поставте прапорець "Увімкнено"
  • Клацніть «Застосувати все», а потім «ОК»

Жюльєн, я не кажу, що шляхи не перемістилися в реєстрі, але коли ви оновлюєте налаштування в локальній політиці, переважна більшість того, що ви робите, - це внесення змін до реєстру (редактором локальної політики). Насправді це дуже поширений спосіб розібратися, яку частину реєстру безпосередньо змінити для певного параметра. Запустіть ProcMon (від Sysinternals) і внесіть зміни, а потім визначте, який ефективний шлях до реєстру в якому вулику було оновлено, від чого до чого.
thepip3r

0

Оскільки ваші доменні сервери DNS не мають доступу до кореневих серверів і у вас немає налаштування переадресації, вам потрібно видалити недоступні кореневі підказки з сервера DNS, щоб пришвидшити запити щодо адрес, на яких він не розміщений. Це повинно прискорити очікування та, в свою чергу, прискорити дозвіл клієнта. Інакше перед тим, як відмовитися, намагатимуться зв’язатися з кореневими серверами.

Порядок видалення кореневих натяків на R2 2008 року задокументований тут .


Дякую за відповідь, але це питання стосувалося поведінки клієнтів, а не DNS-сервера контролера домену, як зазначає "... хто-небудь знає, як має вести себе Windows 10, і ще важливіше, як я можу йти щодо налаштування поведінка »
Метт

Справедливо. Здавалося, що клієнти поводилися таким чином через неоптимальну конфігурацію. Чи є у вас клієнти, що не належать до Windows 10, які ведуть себе по-різному?
GuitarPicker

Ні, у мене є інші клієнти Win10 VM, у яких замість Ethernet2 підключено Ethernet3 (VPN на базі доступу до Інтернету та сервер DNS 1.2.3.4), і вони поводяться так само. І як міг багатохолодний клієнт з DNS-серверами для обох мереж коли-небудь вважатись неоптимальним?
Метт

1
GuitarPicker, я спробував запропонувати клієнтські пропозиції, які не є Win10, і, схоже, це поведінка, специфічна для Windows 10.
Метт

Відповідь @ harrymc виглядає так, що вона піклується про речі на стороні клієнта. Я насправді знайшов це, прочитавши ваш коментар і перед тим, як прочитати його відповідь. Microsoft напрочуд тихо задокументує це. Моє рішення може дати вам трохи більше прискорення часу для вирішення всіх клієнтів, але його відповідь пояснить різницю клієнтів.
GuitarPicker
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.