Hết thời gian chờ độ phân giải DNS của Windows 10


11

Tôi có một số máy khách Windows 10 đa nhân được nối với miền Windows 2012 R2. Ethernet1 được kết nối với mạng LAN với bộ điều khiển miền (không có bộ chuyển tiếp hoặc truy cập vào máy chủ gốc), Ethernet2 được kết nối với mạng LAN có quyền truy cập vào internet, Ethernet0 và Ethernet3 đều bị ngắt kết nối phương tiện. Các truy vấn cho các bản ghi từ các bộ điều khiển miền được trả về tốt, nhưng các truy vấn cho các bản ghi từ internet mất 10 giây cộng với các máy chủ DNS của ISP của tôi mất nhiều thời gian để trả lời. Nếu tôi truy vấn trực tiếp các máy chủ DNS của ISP thông qua nslookuptên được giải quyết kịp thời (<1 giây), nếu tôi chỉ chạy nslookupmà không chỉ định máy chủ DNS thì hết thời gian truy vấn và tên không bao giờ được giải quyết và nếu tôi cố gắng ping tên DNS thì mất> 10 giây trước khi tên được giải quyết.

Tôi đã xem qua Technet, nhưng dường như chưa có tài liệu nào trên Windows 10. Điều tốt nhất tôi tìm thấy là:

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

Điều đó nói rằng tôi nên mong đợi máy khách của mình truy vấn máy chủ DNS chính cho Ethernet1, đợi 1 giây để phản hồi hết thời gian chờ, sau đó truy vấn cả máy chủ DNS thứ cấp cho Ethernet1 và máy chủ DNS chính cho Ethernet2, nhưng điều này dường như không sẽ xảy ra Tài liệu tiếp tục nói rằng sau 10 giây (và hơn 3 vòng truy vấn DNS nữa với thời gian chờ lâu hơn) Độ phân giải DNS sẽ thất bại hoàn toàn cho tất cả các bộ điều hợp, nhưng hành vi của khách hàng mang lại ấn tượng là mất 10 giây trước khi cố gắng sử dụng máy chủ DNS cho bộ điều hợp thứ hai.

Vắng tôi (hoặc bạn) mở Wireshark và đánh hơi đường dây, hoặc sửa đổi một cách mù quáng HKLM\System\CurrentControlSet\Services\dnscache\Parameters\DNSQueryTimeoutscó ai biết Windows 10 phải hành xử như thế nào không, và quan trọng hơn là làm thế nào tôi có thể định cấu hình hành vi? Tôi sẵn sàng sống với thời gian giải quyết ~ 1 giây, nhưng 10 giây là khá tàn bạo.

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

Cập nhật

Trong trường hợp bất kỳ ai khác thắc mắc, tôi đã tham gia máy ảo Win7 SP1 (không có bản vá) với cùng cấu hình bộ điều hợp mạng cho miền, chuyển nó vào cùng một OU như các máy ảo khác và chính sách nhóm được cập nhật trên máy khách chỉ trong trường hợp. Nó có thể giải quyết các truy vấn DNS cả từ máy chủ DNS của DC và ISP của tôi ngay lập tức. Vì vậy, có vẻ như đây là hành vi dành riêng cho máy khách DNS của Windows 10.

Cập nhật 2

Vì vậy, mọi thứ đang trở nên xa lạ. Có vẻ như Win10 theo mặc định sẽ đưa ra các truy vấn song song nhưng nó sẽ không chuyển phản hồi cho bất kỳ quy trình nào được yêu cầu cho đến khi hết thời gian truy vấn. Và vì một số lý do, máy chủ DNS trên bộ điều khiển miền thứ 2 của tôi không hoạt động. Có ai biết làm thế nào để vô hiệu hóa hành vi này?

Dấu vết gói Wireshark


Hãy xem câu hỏi này: superuser.com/questions/966017/ Cách haarymc chỉ ra rằng trình phân giải DNS của Windows 10 đã được sửa đổi đáng kể và chỉ ra một số giải pháp có thể.
Brandon Xavier

Tôi sẽ bắt đầu với DisableSmartNameResolution đã được đề cập.
Brandon Xavier

Brandon, có vẻ như cài đặt DisableSmartNameResolution thành 1 (thay vì 0 như đề xuất của liên kết) đã hoạt động! Nếu bạn muốn đăng nó như một câu trả lời, tôi sẽ trao giải cho đại diện. Cảm ơn!
Matt

LOL, chiếu rất nhiều. Thật điên rồ khi Brandon Xavier phát hiện ra vấn đề ở đây, sẽ nhận được đại diện +100 khi anh ấy đăng lại nhận xét của mình dưới dạng câu trả lời và bạn không thể bận tâm đọc những trích dẫn của riêng mình.
Matt

1
Đây là một liên kết tốt khác về tính năng mới này và cách nó thay đổi từ Windows 8.1 sang Windows 10. Medium.com/@ValdikSS/ mẹo
GuitarPicker

Câu trả lời:


11

Microsoft đã sửa đổi hoặc viết lại DNS Resolver một cách đáng kể.

Thay đổi lớn nhất là phát hành song song các truy vấn DNS cho tất cả các bộ điều hợp, sau đó đưa câu trả lời đầu tiên đến. Thật không may, mã mới chứa lỗi và thiếu sót, và dường như thay vì đưa ra câu trả lời đầu tiên, nó chờ đợi tất cả các câu trả lời. Nếu một trong các truy vấn DNS sẽ hết thời gian, điều này có nghĩa là phải đợi 10 giây trước khi DNS được giải quyết.

Lỗi này chắc chắn sẽ được sửa trong bản cập nhật tương lai của Windows 10. Cho đến lúc đó, để trả lại hành vi nhiều nhất có thể cho các phiên bản Windows trước đó, vẫn tồn tại các sửa đổi đăng ký sau:

Vô hiệu hóaSmartNameResolution (DWORD)

Trong khóa đăng ký HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient.
Giá trị là 1 để vô hiệu hóa, 0 để kích hoạt độ phân giải thông minh.
Từ Tắt độ phân giải tên đa homed thông minh :

Chỉ định rằng máy khách DNS đa homed sẽ tối ưu hóa độ phân giải tên trên các mạng. Cài đặt cải thiện hiệu suất bằng cách phát hành song song độ phân giải tên cục bộ liên kết DNS (LLMNR) và NetBIOS qua các truy vấn TCP / IP (NetBT) trên tất cả các mạng. Trong trường hợp nhận được nhiều phản hồi tích cực, thứ tự ràng buộc mạng được sử dụng để xác định phản hồi nào được chấp nhận. Nếu bạn bật chính sách này, máy khách DNS sẽ không thực hiện bất kỳ tối ưu hóa nào. Truy vấn DNS sẽ được ban hành trên tất cả các mạng đầu tiên. Các truy vấn LLMNR sẽ được cấp nếu các truy vấn DNS không thành công sau các truy vấn NetBT nếu các truy vấn LLMNR không thành công. Nếu bạn vô hiệu hóa cài đặt chính sách này hoặc nếu bạn không định cấu hình độ phân giải tên cài đặt chính sách này sẽ được tối ưu hóa khi ban hành các truy vấn LLMNR và NetBT.

Vô hiệu hóaParallelAandAAAA (DWORD)

Trong khóa đăng ký HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters.
Giá trị là 0 để bật, 1 để vô hiệu hóa các truy vấn DNS A và AAAA thực thi song song trên tất cả các máy chủ DNS được định cấu hình, với phản hồi nhanh nhất được chấp nhận trước tiên về mặt lý thuyết.


1
Chỉ muốn thêm rằng tôi đang dùng Win 10.0.10586 và HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClientkhông tồn tại. Ngoài ra, DisableParallelAandAAAAkhông tồn tại nhưng các khóa tồn tại để người ta có thể thêm nó.
Mahdi

Điều này đã giải quyết vấn đề chia tách VPN trên Windows 10. Khi được kết nối với vpn (tức là sử dụng máy khách của Cisco), dns của vpn chỉ được sử dụng đôi khi vì hai tính năng này. Bằng cách vô hiệu hóa cả hai điều này (Độ phân giải tên thông minh và truy vấn song song dns), nó cho phép các dns của VPN được sử dụng một cách đáng tin cậy. Ngoài ra, nó giải quyết vấn đề "rò rỉ dns" mà bạn gặp phải khi sử dụng mạng wi-fi không an toàn / không tin cậy, chẳng hạn như tại quán cà phê có Windows 10. Truy vấn dns của bạn sẽ chuyển qua vpn ngay bây giờ thay vì thỉnh thoảng đến cửa hàng cà phê dns. Cảm ơn bạn rất nhiều vì đã cung cấp giải pháp này!
truemedia

2
Phiên bản PowerShell tiện dụng cho bất kỳ ai nhấn vào điều này (chúng tôi đang ở Stack Exchange): 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

1
Các khóa đăng ký này không có tác dụng gì với windows10 của tôi, hoạt động là: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

nguồn

SMHNR được thay đổi một chút cho Windows 10 so với Windows 8. Trong Windows 10, bạn không thể tắt nó thông qua sổ đăng ký.

Đối với Windows 10, bạn có thể sử dụng "Chính sách cục bộ" để tắt tính năng này. Thực hiện theo các bước dưới đây để làm điều này:

  • Nhấn WIN + R và viết gpedit.msc
  • Mở rộng mẫu quản trị Mở rộng mạng
  • Nhấp vào DNS-client Nhấp đúp vào "Tắt độ phân giải tên đa nhà thông minh"
  • Chọn hộp có tên "Đã bật"
  • Nhấp vào "Áp dụng tất cả" và sau đó "OK"

Julien, tôi không nói rằng các đường dẫn chưa được di chuyển trong sổ đăng ký nhưng khi bạn cập nhật cài đặt trong Chính sách cục bộ, phần lớn những gì bạn đang làm là thực hiện thay đổi sổ đăng ký (bởi Trình chỉnh sửa chính sách cục bộ). Trong thực tế, đây là một cách rất phổ biến để tìm ra phần nào của sổ đăng ký để trực tiếp sửa đổi cho một cài đặt cụ thể. Chạy ProcMon (từ Sysiternals) và thực hiện thay đổi và sau đó xác định đường dẫn đăng ký hiệu quả trong tổ ong được cập nhật từ cái gì thành cái gì.
thepip3r

0

Vì máy chủ DNS tên miền của bạn không có quyền truy cập vào máy chủ gốc và bạn không thiết lập chuyển tiếp, bạn cần xóa các gợi ý gốc không thể truy cập của mình khỏi máy chủ DNS để tăng tốc truy vấn cho các địa chỉ mà nó không lưu trữ. Điều này sẽ tăng tốc độ thời gian chờ và lần lượt tăng tốc độ phân giải của máy khách. Nếu không, nó sẽ tiếp tục cố gắng liên lạc với các máy chủ gốc trước khi từ bỏ.

Quy trình xóa gợi ý gốc trên 2008 R2 được ghi lại ở đây .


Cảm ơn đã trả lời nhưng câu hỏi này liên quan đến hành vi của khách hàng, không phải máy chủ DNS của bộ điều khiển miền, như đã lưu ý bởi "... có ai biết Windows 10 phải hành xử như thế nào không, và quan trọng hơn là tôi có thể định cấu hình như thế nào hành vi "
Matt

Đủ công bằng. Có vẻ như các khách hàng đã hành xử theo cách này do cấu hình không tối ưu. Bạn có bất kỳ máy khách Windows 10 nào hoạt động khác không?
GuitarPicker

Không, tôi có các máy khách Win10 VM khác có Ethernet3 (truy cập internet dựa trên VPN và máy chủ DNS 1.2.3.4) được kết nối thay vì Ethernet2 và chúng hoạt động giống nhau. Và làm thế nào một máy khách đa biến với máy chủ DNS cho cả hai mạng được coi là không tối ưu?
Matt

1
GuitarPicker, tôi đã thử đề xuất ứng dụng khách không phải Win10 của bạn và có vẻ như đây là hành vi dành riêng cho Windows 10.
Matt

Câu trả lời của @ harrymc có vẻ như nó sẽ giải quyết mọi việc về phía khách hàng. Tôi thực sự tìm thấy nó sau khi đọc bình luận của bạn và trước khi đọc câu trả lời của anh ấy. Microsoft ngạc nhiên im lặng về tài liệu này. Giải pháp của tôi có thể giúp bạn tăng thêm một chút thời gian giải quyết cho tất cả khách hàng, nhưng câu trả lời của anh ấy sẽ giải thích sự khác biệt ở khách hàng.
GuitarPicker
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.