멀티 홈 Windows 10 DNS 확인 시간 초과


11

Windows 2012 R2 도메인에 가입 한 여러 멀티 홈 Windows 10 클라이언트 VM이 있습니다. Ethernet1은 도메인 컨트롤러 (포워더가 없거나 루트 서버에 액세스 할 수 없음)를 사용하여 LAN에 연결되고 Ethernet2는 인터넷에 액세스 할 수있는 LAN에 연결되며 Ethernet0 및 Ethernet3은 미디어 연결이 끊어집니다. 도메인 컨트롤러의 레코드에 대한 쿼리는 정상적으로 반환되지만 인터넷의 레코드에 대한 쿼리는 10 초가 걸리지 만 ISP의 DNS 서버가 응답을 반환하는 데 시간이 오래 걸립니다. nslookup이름을 통해 ISP의 DNS 서버를 직접 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

클라이언트가 Ethernet1에 대한 기본 DNS 서버를 쿼리하고 응답 시간이 초과 될 때까지 1 초 동안 기다린 다음 Ethernet1에 대한 보조 DNS 서버와 Ethernet2에 대한 기본 DNS 서버를 모두 쿼리해야합니다. 일어나고 있습니다. 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 (패치 없음) VM에 도메인에 가입하고 다른 VM과 동일한 OU로 옮기고 경우에 따라 클라이언트의 그룹 정책을 업데이트했습니다. DC의 DNS 서버와 ISP에서 즉시 DNS 쿼리를 해결할 수 있습니다. 따라서 이것은 Windows 10 DNS 클라이언트에 특정한 동작 인 것 같습니다.

업데이트 2

그래서 일이 생겨나 고 있습니다. 기본적으로 Win10은 쿼리를 병렬로 발행하지만 모든 쿼리가 시간 초과 될 때까지 요청한 프로세스에 응답을 전달하지 않는 것처럼 보입니다. 그리고 어떤 이유로 내 두 번째 도메인 컨트롤러의 DNS 서버가 작동하지 않습니다. 누구나이 동작을 비활성화하는 방법을 알고 있습니까?

Wireshark 패킷 추적


이 질문을 살펴보십시오. superuser.com/questions/966017/… haarymc는 Windows 10 DNS 리졸버가 크게 수정되었으며 가능한 해결책을 지적했습니다.
Brandon Xavier

언급 된 DisableSmartNameResolution으로 시작합니다.
Brandon Xavier

Brandon, DisableSmartNameResolution을 1 (링크가 권장하는 0이 아님)로 설정 한 것 같습니다! 답변으로 게시하려면 담당자에게 수여합니다. 감사!
Matt

LOL, 너무 많은 투영. Brandon Xavier가 여기서 문제를 발견하고 답변으로 자신의 의견을 다시 게시 할 때 +100 명의 응답을 받고, 자신의 인용을 읽도록 귀찮게 할 수 없다는 것에 화를 내십시오.
Matt

1
이 새로운 기능에 대한 또 다른 좋은 링크와 Windows 8.1에서 Windows 10으로 변경되는 방법에 대한 다른 링크가 있습니다. medium.com/@ValdikSS/…
GuitarPicker

답변:


11

Microsoft는 Windows 10에서 DNS 확인자를 크게 수정하거나 다시 작성했습니다.

가장 큰 변화는 모든 어댑터에 병렬로 DNS 쿼리를 발행 한 다음 첫 번째 응답을 수행하는 것입니다. 불행히도 새로운 코드에는 버그와 누락이 포함되어 있으며 첫 번째 답변을 얻는 것이 아니라 모든 답변을 기다리는 것 같습니다. DNS 쿼리 중 하나가 시간 초과되면 DNS가 해결되기 전에 10 초 동안 대기한다는 의미입니다.

이 버그는 의심 할 여지없이 향후 Windows 10 업데이트에서 수정 될 것입니다. 그때까지 이전 Windows 버전의 동작을 최대한 많이 되돌리려면 다음 레지스트리 수정이 존재합니다.

DisableSmartNameResolution (DWORD)

레지스트리 키에서 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient.
사용하지 않으려면 1, 스마트 해상도를 사용하려면 0입니다.
에서 스마트 멀티 홈 이름 확인의 전원을 끄고 :

멀티 홈 DNS 클라이언트가 네트워크에서 이름 확인을 최적화하도록 지정합니다. 이 설정은 모든 네트워크에서 병렬 DNS 링크 로컬 멀티 캐스트 이름 확인 (LLMNR) 및 NetBT (NetBIOS over TCP / IP) 쿼리를 실행하여 성능을 향상시킵니다. 여러 긍정적 인 응답이 수신되는 경우 네트워크 바인딩 순서를 사용하여 수락 할 응답을 결정합니다.이 정책 설정을 사용하면 DNS 클라이언트가 최적화를 수행하지 않습니다. DNS 쿼리는 모든 네트워크에서 먼저 발행됩니다. LLMNR 쿼리는 LLMNR 쿼리가 실패 할 경우 DNS 쿼리에 실패한 후 NetBT 쿼리에 이어 실행됩니다.이 정책 설정을 사용하지 않거나이 정책 설정을 구성하지 않으면 DNS LLMNR 및 NetBT 쿼리를 실행할 때 이름 확인이 최적화됩니다.

ParallelAandAAAA (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 클라이언트 사용)에 연결하면 VPN의 DNS는이 두 가지 기능 때문에 일부 시간 만 사용됩니다. 이 두 가지 (Smart Name Resolution 및 Parallel dns 쿼리)를 모두 비활성화하면 VPN의 DNS를 안정적으로 사용할 수 있습니다. 또한 Windows 10을 사용하는 커피 숍과 같이 안전하지 않거나 신뢰할 수없는 Wi-Fi 네트워크에있을 때 발생하는 "dns leak"문제를 해결합니다. dns 쿼리는 때때로 커피 숍으로가는 대신 VPN을 통과합니다. dns. 이 솔루션을 제공해 주셔서 감사합니다!
truemedia

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
Nick Craver

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 8에 비해 Windows 8에서 약간 변경되었습니다. Windows 10에서는 레지스트리를 통해 끌 수 없습니다.

Windows 10의 경우 "로컬 정책"을 사용하여 기능을 비활성화 할 수 있습니다. 이렇게하려면 아래 단계를 수행하십시오.

  • WIN + R을 누르고 gpedit.msc를 작성하십시오
  • 관리 템플릿 확장 네트워크 확장
  • DNS 클라이언트를 클릭하십시오 "스마트 멀티 홈 이름 확인 끄기"를 두 번 클릭하십시오.
  • "활성화 됨"확인란을 선택하십시오.
  • "모두 적용"을 클릭 한 다음 "확인"을 클릭하십시오.

Julien, 경로가 레지스트리에서 이동하지 않았다고 말하고 있지만 로컬 정책에서 설정을 업데이트 할 때 수행하는 작업의 대부분은 레지스트리를 변경하는 것입니다 (로컬 정책 편집기 사용). 실제로 이것은 특정 설정에 대해 레지스트리의 어떤 부분을 직접 수정해야하는지 알아내는 매우 일반적인 방법입니다. Sysinternals에서 ProcMon을 실행하고 변경 한 다음 하이브가 업데이트 된 내용에서 효과적인 레지스트리 경로를 확인하십시오.
thepip3r

0

도메인 DNS 서버는 루트 서버에 액세스 할 수없고 전달 설정이 없으므로 DNS 서버에서 연결할 수없는 루트 힌트를 삭제하여 호스트하지 않는 주소에 대한 쿼리 속도를 높여야합니다. 이렇게하면 시간 초과가 빨라지고 클라이언트 확인 속도가 빨라집니다. 그렇지 않으면 포기하기 전에 루트 서버에 계속 연결을 시도합니다.

2008 R2에서 루트 힌트를 제거하는 절차는 여기설명되어 있습니다 .


답변에 감사드립니다. 그러나이 질문은 도메인 컨트롤러의 DNS 서버가 아닌 클라이언트의 동작에 관한 것이 었습니다. "... 행동 "
Matt

그럴 수 있지. 최적화되지 않은 구성으로 인해 클라이언트가 이런 식으로 동작하는 것처럼 들렸습니다. 다르게 동작하는 Windows 10 이외의 클라이언트가 있습니까?
GuitarPicker

아니요, Ethernet2 대신 Ethernet3 (VPN 기반 인터넷 액세스 및 DNS 서버 1.2.3.4)이 연결된 다른 Win10 VM 클라이언트가 있으며 동일하게 작동합니다. 그리고 두 네트워크 모두에 DNS 서버가있는 멀티 홈 클라이언트는 어떻게 최적이 아닌 것으로 간주됩니까?
Matt

1
기타 Picker, Win10 이외의 클라이언트 제안을 시도한 결과 이것이 Windows 10에 특정한 동작 인 것 같습니다.
Matt

@harrymc의 대답은 클라이언트 측에서 일을 처리하는 것처럼 보입니다. 나는 당신의 의견을 읽은 후 그의 대답을 읽기 전에 실제로 그것을 발견했습니다. Microsoft는 문서화에 대해 놀랍게도 조용합니다. 내 솔루션은 모든 고객의 해결 시간을 조금 더 늘릴 수 있지만 그의 대답은 고객의 차이점을 설명합니다.
GuitarPicker
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.