Windows 2012 R2ドメインに参加しているマルチホームのWindows 10クライアントVMがいくつかあります。イーサネット1はドメインコントローラー(フォワーダーを持たない、またはルートサーバーにアクセスできない)のLANに接続され、イーサネット2はインターネットにアクセスできるLANに接続され、イーサネット0とイーサネット3は両方ともメディアが切断されています。ドメインコントローラーからのレコードのクエリは問題なく返されますが、インターネットからのレコードのクエリには10秒かかり、さらにISPのDNSサーバーが応答を返すのに時間がかかります。 nslookup
を介してISPのDNSサーバーに直接クエリすると、名前はすぐに解決されます(<1秒)。DNSサーバーを指定せずにnslookup
を実行すると、クエリがタイムアウトし、名前が決してDNS名をpingしようとすると、名前が解決されるまでに10秒以上かかります。
Technetの周りを調べましたが、Windows 10にはまだドキュメントがありません。
http://blogs.technet.com/b/networking/archive/2009/06/26/dns-client-resolver-behavior.aspxhttp://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サーバーが機能していません。誰かがこの動作を無効にする方法を知っていますか?
MicrosoftはWindows 10でDNSリゾルバーを大幅に変更または書き直しました。
最大の変更は、すべてのアダプターにDNSクエリを並列に発行し、最初の回答を受け取ることでした。残念ながら、新しいコードにはバグと脱落が含まれており、最初の回答をとるのではなく、すべての回答を待つようです。 DNSクエリの1つがタイムアウトした場合、これは、DNSが解決されるまでに10秒待機することを意味します。
このバグは間違いなく将来のWindows 10のアップデートで修正される予定です。それまでは、動作を可能な限り以前のWindowsバージョンの動作に戻すために、次のレジストリの変更が存在します。
DisableSmartNameResolution(DWORD)
レジストリキーHKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient
。
値は、無効にする場合は1、スマート解決を有効にする場合は0です。
From スマートマルチホームの名前解決をオフにする :
マルチホーム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サーバーでDNS AおよびAAAAクエリが並行して実行されないようにします。
SMHNRは、Windows 8と比較してWindows 10でわずかに変更されています。Windows10では、レジストリを使用してSMHNRをオフにすることはできません。
Windows 10の場合、「ローカルポリシー」を使用して機能を非アクティブ化できます。これを行うには、以下の手順に従います。
ドメインのDNSサーバーはルートサーバーにアクセスできず、転送も設定されていないため、DNSサーバーから到達できないルートヒントを削除して、ホストしていないアドレスのクエリを高速化する必要があります。これにより、タイムアウトが高速化され、クライアントの解決が高速化されます。それ以外の場合は、あきらめる前にルートサーバーへの接続を試み続けます。
2008 R2でルートヒントを削除する手順は ここに記載 です。