Windows 10 DNS การแก้ปัญหาหมดเวลาแบบมัลติ


11

ฉันมี VMs ไคลเอนต์ Windows 10 multihomed จำนวนมากที่เข้าร่วมกับโดเมน Windows 2012 R2 Ethernet1 เชื่อมต่อกับ LAN ด้วยตัวควบคุมโดเมน (ซึ่งไม่มีตัวส่งต่อหรือการเข้าถึงเซิร์ฟเวอร์ราก) Ethernet2 เชื่อมต่อกับ LAN ที่มีการเข้าถึงอินเทอร์เน็ต Ethernet0 และ Ethernet3 ทั้งคู่ถูกตัดการเชื่อมต่อสื่อ แบบสอบถามสำหรับระเบียนจากตัวควบคุมโดเมนจะถูกส่งคืนได้ดี แต่การสืบค้นระเบียนจากอินเทอร์เน็ตใช้เวลา 10 วินาทีบวกกับเซิร์ฟเวอร์ DNS ของ ISP ของฉันใช้เวลานานในการตอบกลับ ถ้าฉันค้นหาเซิร์ฟเวอร์ DNS ของ ISP โดยตรงผ่านnslookupชื่อนั้นจะถูกแก้ไขทันที (<1 วินาที) ถ้าฉันเพิ่งรันnslookupโดยไม่ระบุเซิร์ฟเวอร์ DNS การสืบค้นจะหมดเวลาและชื่อนั้นจะไม่ได้รับการแก้ไขและถ้าฉันพยายาม ping ชื่อ 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

ปรับปรุง

ในกรณีที่มีคนอื่นสงสัยฉันเข้าร่วม Win7 SP1 (ไม่มีแพตช์) VM ที่มีการกำหนดค่าอะแดปเตอร์เครือข่ายเดียวกันกับโดเมนย้ายมันไปที่ OU เดียวกันกับ VM อื่น ๆ และนโยบายกลุ่มที่อัปเดตบนไคลเอ็นต์ในกรณีนี้ สามารถแก้ไขการสืบค้น DNS ทั้งจากเซิร์ฟเวอร์ DNS ของ DC และ ISP ของฉันได้ทันที ดังนั้นดูเหมือนว่านี่เป็นลักษณะการทำงานเฉพาะของไคลเอนต์ Windows 10 DNS

อัปเดต 2

ดังนั้นสิ่งที่ได้รับคนแปลกหน้า มันดูเหมือน Win10 โดยค่าเริ่มต้นจะออกแบบสอบถามในแบบคู่ขนาน แต่จะไม่ผ่านการตอบสนองต่อสิ่งที่กระบวนการร้องขอจนกว่าจะหมดเวลาแบบสอบถามทั้งหมด และด้วยเหตุผลบางอย่างเซิร์ฟเวอร์ DNS ในตัวควบคุมโดเมนที่สองของฉันไม่ทำงาน ไม่มีใครรู้วิธีปิดการใช้งานพฤติกรรมนี้หรือไม่?

Wireshark Packet Trace


ดูคำถามนี้: superuser.com/questions/966017/ … haarymc ชี้ให้เห็นว่าตัวแก้ไข DNS ของ Windows 10 ได้รับการแก้ไขอย่างมีนัยสำคัญและชี้ให้เห็นวิธีแก้ปัญหาที่เป็นไปได้
Brandon Xavier

ฉันจะเริ่มต้นด้วย DisableSmartNameResolution ซึ่งถูกกล่าวถึง
Brandon Xavier

แบรนดอนดูเหมือนว่าการตั้งค่า DisableSmartNameResolution เป็น 1 (แทนที่จะเป็น 0 ตามลิงก์แนะนำ) ใช้งานได้! หากคุณต้องการโพสต์มันเป็นคำตอบฉันจะให้รางวัลตัวแทน ขอบคุณ!
Matt

ฮ่า ๆ การฉายมาก อยู่อย่างบ้าคลั่งที่ Brandon Xavier พบปัญหาที่นี่จะได้รับตัวแทน +100 เมื่อเขา reposts ความคิดเห็นของเขาเป็นคำตอบและคุณไม่ต้องกังวลที่จะอ่านการอ้างอิงของคุณเอง
Matt

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 เพื่อเปิดใช้ความละเอียดอัจฉริยะ
จากปิดการแก้ไขชื่ออัจฉริยะแบบหลาย homed :

ระบุว่าไคลเอนต์ DNS หลาย homed ควรปรับการจำแนกชื่อให้เหมาะสมทั่วทั้งเครือข่าย การตั้งค่าปรับปรุงประสิทธิภาพการทำงานโดยการออกการแก้ไข DNS ชื่อมัลติแคสต์ชื่อท้องถิ่น (LLMNR) และ NetBIOS ผ่านการสืบค้น TCP / IP (NetBT) ผ่านเครือข่ายทั้งหมด ในกรณีที่ได้รับการตอบรับในเชิงบวกหลายคำสั่งการเชื่อมโยงเครือข่ายจะถูกใช้เพื่อพิจารณาว่าจะตอบรับใดหากคุณเปิดใช้งานการตั้งค่านโยบายนี้ไคลเอ็นต์ DNS จะไม่ทำการปรับให้เหมาะสม คำสั่ง DNS จะถูกส่งให้กับทุกเครือข่ายก่อน การสืบค้น LLMNR จะออกหากการสืบค้น DNS ล้มเหลวตามด้วยการสอบถาม NetBT หากการสืบค้น LLMNR ล้มเหลวหากคุณปิดใช้งานการตั้งค่านโยบายนี้หรือหากคุณไม่ได้กำหนดค่าการแก้ไขชื่อการตั้งค่านโยบายนี้จะได้รับการปรับให้เหมาะสม

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 นั้นใช้เพียงบางครั้งเนื่องจากคุณสมบัติทั้งสองนี้ ด้วยการปิดใช้งานทั้งสองอย่าง (การแก้ไขชื่อสมาร์ทและเคียวรี Parallel dns) จะช่วยให้การใช้ VPN ของ DNS นั้นเชื่อถือได้ นอกจากนี้ยังแก้ปัญหา "การรั่วไหลของ 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
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 10 เมื่อเทียบกับ Windows 8 ใน Windows 10 คุณจะไม่สามารถปิดได้ผ่านทางรีจิสทรี

สำหรับ Windows 10 คุณสามารถใช้ "นโยบายท้องถิ่น" เพื่อปิดใช้งานคุณสมบัตินี้ ทำตามขั้นตอนด้านล่างเพื่อทำสิ่งนี้:

  • กด WIN + R แล้วเขียน gpedit.msc
  • ขยายแม่แบบการดูแลระบบขยายเครือข่าย
  • คลิก DNS- ไคลเอนต์คลิกสองครั้ง "ปิดการจำแนกชื่อแบบหลาย homed สมาร์ท"
  • ทำเครื่องหมายที่ช่อง "เปิดใช้งาน"
  • คลิก "ใช้ทั้งหมด" จากนั้น "ตกลง"

Julien ฉันไม่ได้บอกเส้นทางที่ไม่ได้ย้ายในรีจิสทรี แต่เมื่อคุณอัปเดตการตั้งค่าในนโยบายท้องถิ่นส่วนใหญ่ที่คุณทำคือการเปลี่ยนแปลงรีจิสทรี (โดย Local Policy Editor) ในความเป็นจริงนี่เป็นวิธีที่พบได้บ่อยมากในการค้นหาว่าส่วนใดของรีจิสตรีที่จะแก้ไขโดยตรงสำหรับการตั้งค่าเฉพาะ เรียกใช้ ProcMon (จาก Sysinternals) และทำการเปลี่ยนแปลงแล้วกำหนดเส้นทางรีจิสทรีที่มีประสิทธิภาพในกลุ่มที่ได้รับการอัปเดตจากอะไรเป็นอะไร
thepip3r

0

เนื่องจากเซิร์ฟเวอร์ DNS ของโดเมนของคุณไม่สามารถเข้าถึงเซิร์ฟเวอร์รากและคุณไม่ได้ตั้งค่าการส่งต่อคุณจะต้องลบคำแนะนำรากที่ไม่สามารถเข้าถึงได้จากเซิร์ฟเวอร์ DNS เพื่อเร่งการสืบค้นที่อยู่ที่ไม่ได้โฮสต์ สิ่งนี้จะช่วยเร่งการหมดเวลาและเร่งความเร็วการแก้ปัญหาไคลเอนต์ มิฉะนั้นจะพยายามติดต่อรูทเซิร์ฟเวอร์ก่อนที่จะยอมแพ้

ขั้นตอนการถอดคำแนะนำรากบน 2008 R2 เป็นเอกสารที่นี่


ขอบคุณสำหรับการตอบสนอง แต่คำถามนี้เกี่ยวกับพฤติกรรมของลูกค้าไม่ใช่เซิร์ฟเวอร์ DNS ของตัวควบคุมโดเมนตามที่ระบุไว้โดย "... ไม่มีใครรู้ว่า Windows 10 ควรทำงานอย่างไรและที่สำคัญกว่านั้นคือฉันสามารถไปกำหนดค่า พฤติกรรม "
Matt

ยุติธรรมพอสมควร ดูเหมือนว่าลูกค้ากำลังทำแบบนี้เนื่องจากการกำหนดค่าที่ไม่เหมาะสม คุณมีไคลเอนต์ที่ไม่ใช่ Windows 10 ที่ทำงานผิดปกติหรือไม่?
GuitarPicker

ไม่ฉันมีไคลเอนต์ Win10 VM อื่น ๆ ที่มีการเชื่อมต่อ Ethernet3 (ใช้อินเทอร์เน็ต VPN และเซิร์ฟเวอร์ DNS 1.2.3.4) แทน Ethernet2 และพวกมันก็ทำงานเหมือนกัน และไคลเอนต์ multihomed กับเซิร์ฟเวอร์ DNS สำหรับทั้งสองเครือข่ายจะถือว่าไม่เหมาะสมอย่างไร
Matt

1
GuitarPicker ฉันลองใช้ข้อเสนอแนะของลูกค้าที่ไม่ใช่ Win10 และดูเหมือนว่านี่เป็นลักษณะการทำงานเฉพาะสำหรับ Windows 10
Matt

คำตอบของ @ harrymc ดูเหมือนจะดูแลสิ่งต่าง ๆ ในฝั่งไคลเอ็นต์ ฉันพบมันจริงหลังจากอ่านความคิดเห็นของคุณและก่อนอ่านคำตอบของเขา Microsoft เงียบอย่างน่าประหลาดใจเกี่ยวกับการบันทึกเอกสาร โซลูชันของฉันอาจช่วยให้คุณมีเวลาในการแก้ปัญหาเพิ่มขึ้นเล็กน้อยสำหรับลูกค้าทุกคน แต่คำตอบของเขาจะอธิบายความแตกต่างในลูกค้า
GuitarPicker
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.