マルチホームのWindows 10 DNS解決タイムアウト


11

Windows 2012 R2ドメインに参加しているマルチホームのWindows 10クライアントVMがいくつかあります。イーサネット1はドメインコントローラー(フォワーダーを持たない、またはルートサーバーへのアクセスがない)でLANに接続され、イーサネット2はインターネットにアクセスできるLANに接続され、イーサネット0およびイーサネット3は両方ともメディアが切断されています。ドメインコントローラーからのレコードのクエリは問題なく返されますが、インターネットからのレコードのクエリには10秒かかり、さらにISPのDNSサーバーが応答を返すのに時間がかかります。nslookup名前を介して直接ISPのDNSサーバーにクエリを実行すると、迅速に解決されます(<1秒)nslookup。DNSサーバーを指定せずに実行しただけでは、クエリがタイムアウトし、名前が解決されず、DNS名にpingを実行しようとすると、名前が解決されるまでに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

これは、クライアントがイーサネット1のプライマリDNSサーバーにクエリを実行して、応答がタイムアウトになるまで1秒待ってから、イーサネット1のセカンダリDNSサーバーとイーサネット2のプライマリDNSサーバーの両方にクエリを実行することを期待する必要があることを示していますが、これは見えません起こっている。ドキュメントではさらに、10秒後(およびタイムアウトがより長い3ラウンド以上のDNSクエリ)、DNS解決はすべてのアダプターで完全に失敗しますが、クライアントの動作は、試行する前に10秒かかるという印象を与えます2番目のアダプターには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(パッチなし)VMをドメインに参加させ、他のVMと同じOUに移動し、念のためにクライアントのグループポリシーを更新しました。DCのDNSサーバーと私のISPの両方からのDNSクエリをすぐに解決できます。したがって、これはWindows 10 DNSクライアントに固有の動作のようです。

アップデート2

だから物事は奇妙になっています。デフォルトでは、Win10はクエリを並行して発行するように見えますが、すべてのクエリがタイムアウトするまで、要求したプロセスには応答を渡しません。そして、何らかの理由で、私の2番目のドメインコントローラーのDNSサーバーが機能していません。誰かがこの動作を無効にする方法を知っていますか?

Wiresharkパケットトレース


この質問をご覧ください:superuser.com/questions/966017/…haarymcは、Windows 10 DNSリゾルバーが大幅に変更されていることを指摘し、いくつかの可能な解決策を指摘しています。
Brandon Xavier

言及されたDisableSmartNameResolutionから始めます。
Brandon Xavier

ブランドン、DisableSmartNameResolutionを1に設定したようです(リンクで推奨されている0ではなく)。回答として投稿したい場合は、担当者に授与します。ありがとう!
Matt

笑、あまりにも多くの予測。Brandon Xavierがここで問題を発見し、彼がコメントとして回答を再投稿すると+100の担当者が返されること、そして自分の引用を読むことに煩わされなかったことに気をとらえてください。
Matt

1
この新機能に関する別の良いリンクと、Windows 8.1からWindows 10への変更点を示します。medium.com
@ ValdikSS /

回答:


11

マイクロソフトは、Windows 10でDNSリゾルバーを大幅に変更または書き直しました。

最大の変更は、すべてのアダプターにDNSクエリを並列に発行し、最初の回答を受け取ることでした。残念ながら、新しいコードにはバグと脱落が含まれており、最初の答えをとるのではなく、すべての答えを待つようです。DNSクエリの1つがタイムアウトした場合、これは、DNSが解決されるまでに10秒待機することを意味します。

このバグは間違いなく将来のWindows 10のアップデートで修正される予定です。それまでは、動作をできる限り以前のWindowsバージョンの動作に戻すために、次のレジストリの変更が存在します。

DisableSmartNameResolution(DWORD)

レジストリキー HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient
値は、無効にする場合は1、スマート解決を有効にする場合は0です。スマートマルチホームの名前解決をオフにする
から:

マルチホームDNSクライアントがネットワーク全体の名前解決を最適化する必要があることを指定します。この設定は、すべてのネットワークにわたって並列DNSリンクローカルマルチキャスト名前解決(LLMNR)およびNetBIOS over TCP / IP(NetBT)クエリを発行することにより、パフォーマンスを向上させます。複数の肯定応答が受信された場合、ネットワークバインドの順序を使用して、受け入れる応答を決定します。このポリシー設定を有効にすると、DNSクライアントは最適化を実行しません。DNSクエリはすべてのネットワークで最初に発行されます。DNSクエリが失敗した場合はLLMNRクエリが発行され、次にLLMNRクエリが失敗した場合はNetBTクエリが発行されます。このポリシー設定を無効にした場合、またはこのポリシー設定を構成しなかった場合、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存在しませんが、キーは存在するため、追加できます。
Mahdi、

これにより、Windows 10のVPN split-dnsの問題が解決しました。VPNに接続した場合(つまり、Ciscoクライアントを使用した場合)、これら2つの機能のため、VPNのDNSが使用されるのはしばらくの間だけです。これらの両方(スマート名前解決と並列DNSクエリ)を無効にすることで、VPNのDNSを確実に使用できます。また、Windows 10のコーヒーショップなど、安全でない/信頼できないwi-fiネットワーク上にあるときに発生する「dnsリーク」の問題を解決します。DNSクエリは、時々コーヒーショップに行くのではなく、VPNを通過します。 DNS。このソリューションを提供してくれてありがとう!
truemedia '14年

2
これを打つ誰のためのハンディPowerShellのバージョン(私たちはスタック所にあり): Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name DisableSmartNameResolution -Value 1 -Type DWordSet-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name DisableParallelAandAAAA -Value 1 -Type DWord
ニックCraver

1
これらのレジストリキーは私の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"
ジュリアン

1

ソース

SMHNRは、Windows 8と比較してWindows 10でわずかに変更されています。Windows10では、レジストリを使用してSMHNRをオフにすることはできません。

Windows 10の場合、「ローカルポリシー」を使用して機能を非アクティブ化できます。これを行うには、以下の手順に従います。

  • WIN + Rを押して、gpedit.mscを書き込みます
  • 管理用テンプレートを展開するネットワークを展開する
  • [DNSクライアント]をクリックします[スマートマルチホームの名前解決をオフにする]をダブルクリックします
  • 「有効」というボックスにチェックを入れます
  • 「すべて適用」をクリックしてから「OK」をクリックします

ジュリアン、レジストリでパスが移動しなかったと言っているのではありませんが、ローカルポリシーの設定を更新するとき、あなたがしていることの圧倒的大部分は(ローカルポリシーエディターによる)レジストリの変更です。実際、これは、特定の設定に対してレジストリのどの部分を直接変更するかを把握するための非常に一般的な方法です。(Sysinternalsから)ProcMonを実行して変更を行い、どのハイブの有効なレジストリパスが何から何に更新されたかを判断します。
thepip3r 2018

0

ドメインのDNSサーバーはルートサーバーにアクセスできず、転送も設定されていないため、DNSサーバーから到達できないルートヒントを削除して、ホストしていないアドレスのクエリを高速化する必要があります。これにより、タイムアウトが高速化され、クライアントの解決が高速化されます。それ以外の場合は、あきらめる前にルートサーバーへの接続を試み続けます。

2008 R2でルートヒントを削除する手順については、こちらをご覧ください


回答ありがとうございます。この質問は、ドメインコントローラのDNSサーバーではなく、クライアントの動作に関するものでした。「...行動」
Matt

けっこうだ。構成が最適ではないため、クライアントがこのように動作していたようです。動作が異なるWindows 10以外のクライアントはありますか?
GuitarPicker

いいえ、Ethernet2の代わりにEthernet3(VPNベースのインターネットアクセスとDNSサーバー1.2.3.4)が接続されている他のWin10 VMクライアントがありますが、それらは同じように動作します。また、両方のネットワーク用のDNSサーバーを備えたマルチホームクライアントは、どのようにして最適ではないと見なされるのでしょうか。
Matt

1
GuitarPicker、Win10以外のクライアントの提案を試しましたが、これはWindows 10に固有の動作のようです
Matt

@harrymcの答えは、クライアント側の処理を行うようです。私は実際にあなたのコメントを読んだ後、彼の答えを読む前にそれを見つけました。マイクロソフトはそれを文書化することについて驚くほど静かです。私の解決策は、すべてのクライアントの解決時間をもう少し長くするかもしれませんが、彼の答えはクライアントの違いを説明するでしょう。
GuitarPicker
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.