Multihomed Windows 10 timeout resolusi DNS

11

Saya memiliki sejumlah VM klien Windows 10 multihomed yang bergabung dengan domain Windows 2012 R2. Ethernet1 terhubung ke LAN dengan pengontrol domain (yang tidak memiliki forwarder, atau akses ke server root), Ethernet2 terhubung ke LAN dengan akses ke internet, Ethernet0 dan Ethernet3 keduanya memiliki media yang terputus. Permintaan untuk catatan dari pengontrol domain dikembalikan dengan baik, tetapi permintaan untuk catatan dari internet membutuhkan waktu 10 detik plus berapa lama server DNS ISP saya butuh untuk mengembalikan respons. Jika saya meminta server DNS ISP saya secara langsung melalui nslookupnama diselesaikan segera (<1 detik), jika saya hanya menjalankan nslookuptanpa menentukan server DNS kueri habis waktu dan namanya tidak pernah terpecahkan, dan jika saya mencoba melakukan ping pada nama DNSnya membutuhkan> 10 detik sebelum nama diselesaikan.

Saya telah melihat-lihat Technet, tetapi sepertinya belum ada dokumentasi pada Windows 10. Yang terbaik yang saya temukan adalah:

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

Yang mengatakan bahwa saya harus mengharapkan klien saya untuk menanyakan server DNS primer untuk Ethernet1, tunggu 1 detik untuk respons terhadap batas waktu, dan kemudian meminta server DNS sekunder untuk Ethernet1 dan server DNS primer untuk Ethernet2, tetapi ini sepertinya tidak akan terjadi. Dokumentasi selanjutnya mengatakan bahwa setelah 10 detik (dan lebih banyak 3 putaran lagi permintaan DNS dengan batas waktu lebih lama), resolusi DNS akan gagal sepenuhnya untuk semua adaptor, tetapi perilaku klien memberi kesan dibutuhkan 10 detik sebelum bahkan berusaha untuk gunakan server DNS untuk adaptor kedua.

Absen saya (atau Anda) membuka Wireshark dan mengendus-endus baris, atau memodifikasi secara membabi buta HKLM\System\CurrentControlSet\Services\dnscache\Parameters\DNSQueryTimeoutsapakah ada yang tahu bagaimana seharusnya Windows 10 berperilaku, dan yang lebih penting bagaimana saya bisa mengkonfigurasi perilaku? Saya bersedia hidup dengan waktu resolusi ~ 1 detik, tetapi 10 detik agak brutal.

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

Memperbarui

Jika ada orang lain yang bertanya-tanya, saya bergabung dengan Win7 SP1 (tanpa patch) VM dengan konfigurasi adapter jaringan yang sama ke domain, memindahkannya ke OU yang sama dengan VM lain dan memperbarui kebijakan grup pada klien untuk berjaga-jaga. Itu mampu menyelesaikan permintaan DNS baik dari server DNS DC dan ISP saya segera. Jadi sepertinya ini adalah perilaku khusus untuk klien DNS Windows 10.

Perbarui 2

Jadi semuanya menjadi asing. Memang terlihat seperti Win10 secara default akan mengeluarkan kueri secara paralel tetapi tidak akan meneruskan respons ke proses apa pun yang memintanya hingga semua kueri habis waktu. Dan untuk beberapa alasan server DNS pada pengontrol domain 2 saya tidak berfungsi. Adakah yang tahu cara menonaktifkan perilaku ini?

Jejak Paket Wireshark

Mat
sumber
Lihat pertanyaan ini: superuser.com/questions/966017/... haarymc menunjukkan bahwa Windows 10 DNS resolver telah dimodifikasi secara signifikan dan menunjukkan beberapa solusi yang mungkin.
Brandon Xavier
Saya akan mulai dengan DisableSmartNameResolution yang disebutkan.
Brandon Xavier
Brandon, sepertinya pengaturan DisableSmartNameResolution ke 1 (bukan 0 seperti yang direkomendasikan oleh tautan) berfungsi! Jika Anda ingin mempostingnya sebagai jawaban, saya akan memberikan perwakilan itu. Terima kasih!
Matt
LOL, begitu banyak proyeksi. Tetap marah karena Brandon Xavier menemukan masalah di sini, akan mendapatkan +100 perwakilan ketika dia memposting ulang komentarnya sebagai jawaban, dan bahwa Anda tidak dapat repot-repot membaca kutipan Anda sendiri.
Matt
1
Berikut ini tautan lain yang bagus tentang fitur baru ini, dan bagaimana perubahannya dari Windows 8.1 ke Windows 10. medium.com/@ValdikSS/…
GuitarPicker

Jawaban:

11

Microsoft telah di Windows 10 secara substansial memodifikasi atau menulis ulang Penyelesai DNS.

Perubahan terbesar adalah untuk mengeluarkan permintaan DNS ke semua adaptor secara paralel, lalu mengambil jawaban pertama yang tiba. Sayangnya kode baru ini mengandung bug dan kelalaian, dan tampaknya alih-alih mengambil jawaban pertama, ia menunggu semua jawaban. Jika salah satu permintaan DNS akan habis, ini berarti menunggu 10 detik sebelum DNS diselesaikan.

Bug ini pasti akan diperbaiki pada pembaruan Windows 10. yang akan datang. Sampai saat itu, untuk mengembalikan perilaku sebanyak mungkin ke versi Windows sebelumnya, modifikasi registri berikut ada:

DisableSmartNameResolution (DWORD)

Di kunci registri HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClient.
Nilainya 1 untuk menonaktifkan, 0 untuk mengaktifkan resolusi pintar.
Dari Nonaktifkan resolusi nama multi-homed pintar :

Menentukan bahwa klien DNS multi-homed harus mengoptimalkan resolusi nama di seluruh jaringan. Pengaturan ini meningkatkan kinerja dengan mengeluarkan tautan paralel DNS resolusi lokal multicast (LLMNR) dan NetBIOS melalui permintaan TCP / IP (NetBT) di semua jaringan. Dalam hal beberapa respons positif diterima, urutan pengikatan jaringan digunakan untuk menentukan respons mana yang akan diterima. Jika Anda mengaktifkan pengaturan kebijakan ini, klien DNS tidak akan melakukan optimasi apa pun. Kueri DNS akan dikeluarkan di semua jaringan terlebih dahulu. Kueri LLMNR akan dikeluarkan jika kueri DNS gagal diikuti oleh kueri NetBT jika kueri LLMNR gagal. Jika Anda menonaktifkan pengaturan kebijakan ini atau jika Anda tidak mengkonfigurasi resolusi nama pengaturan kebijakan ini akan dioptimalkan ketika mengeluarkan permintaan DNS LLMNR dan NetBT.

DisableParallelAandAAAA (DWORD)

Di kunci registri HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters.
Nilainya 0 untuk mengaktifkan, 1 untuk menonaktifkan permintaan DNS A dan AAAA dari menjalankan secara paralel pada semua server DNS yang dikonfigurasi, dengan respons tercepat yang diterima secara teoritis terlebih dahulu.

harrymc
sumber
1
Hanya ingin menambahkan bahwa saya menggunakan Win 10.0.10586 dan HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\DNSClienttidak ada. Juga, DisableParallelAandAAAAtidak ada tetapi kunci memang ada sehingga orang dapat menambahkannya.
Mahdi
Ini telah memecahkan masalah VPN split-dns pada Windows 10. Ketika terhubung ke vpn (mis. Menggunakan klien Cisco), vpn's dns hanya digunakan beberapa kali karena kedua fitur ini. Dengan menonaktifkan keduanya (Resolusi nama pintar dan kueri dns Paralel), ini memungkinkan dns VPN dapat digunakan dengan andal. Juga, itu memecahkan masalah "dns kebocoran" yang Anda miliki ketika pada jaringan wi-fi tidak aman / tidak dipercaya seperti di sebuah kedai kopi dengan Windows 10. Permintaan dns Anda akan melewati vpn sekarang bukannya kadang-kadang pergi ke kedai kopi dns. Terima kasih banyak telah menyediakan solusi ini!
truemedia
2
Versi PowerShell yang praktis untuk siapa saja yang memukul ini (kami berada di Stack Exchange): Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name DisableSmartNameResolution -Value 1 -Type DWorddanSet-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name DisableParallelAandAAAA -Value 1 -Type DWord
Nick Craver
1
Kunci registri ini tidak berpengaruh pada windows10 saya, yang berhasil adalah: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

sumber

SMHNR sedikit berubah untuk Windows 10 dibandingkan dengan Windows 8. Pada Windows 10, Anda tidak dapat mematikannya melalui registri.

Untuk Windows 10, Anda dapat menggunakan "Kebijakan Lokal" untuk menonaktifkan fitur. Ikuti langkah-langkah di bawah ini untuk melakukan ini:

  • Tekan WIN + R dan tulis gpedit.msc
  • Expand Templat administratif Expand Network
  • Klik DNS-klien Klik dua kali "Nonaktifkan resolusi nama multi-homed pintar"
  • Centang kotak yang disebut "Diaktifkan"
  • Klik "Terapkan semua" dan kemudian "OK"
Julien
sumber
Julien, saya tidak mengatakan jalur tidak bergerak di registri tetapi ketika Anda memperbarui pengaturan di Kebijakan Lokal, sebagian besar dari apa yang Anda lakukan adalah membuat perubahan registri (oleh Editor Kebijakan Lokal). Bahkan, ini adalah cara yang sangat umum untuk mengetahui bagian mana dari registri yang secara langsung dimodifikasi untuk pengaturan tertentu. Jalankan ProcMon (dari Sysinternals) dan buat perubahan lalu tentukan jalur registri mana yang efektif di sarang apa yang diperbarui dari apa ke apa.
thepip3r
0

Karena server DNS domain Anda tidak memiliki akses ke server root dan Anda tidak memiliki pengaturan penerusan, Anda perlu menghapus petunjuk root yang tidak dapat dijangkau dari server DNS untuk mempercepat kueri untuk alamat yang tidak dihosting. Ini harus mempercepat waktu tunggu, dan pada gilirannya mempercepat resolusi klien. Kalau tidak, itu akan terus mencoba menghubungi server root sebelum menyerah.

Prosedur untuk menghapus petunjuk root pada 2008 R2 didokumentasikan di sini .

GuitarPicker
sumber
Terima kasih atas tanggapannya tetapi pertanyaan ini berkenaan dengan perilaku klien, bukan server DNS pengontrol domain, seperti yang dicatat oleh "... apakah ada yang tahu bagaimana seharusnya Windows 10 berperilaku, dan yang lebih penting bagaimana saya bisa mengatur konfigurasi behaviour "
Matt
Cukup adil. Sepertinya klien berperilaku seperti ini karena konfigurasi yang tidak optimal. Apakah Anda memiliki klien non Windows 10 yang berperilaku berbeda?
GuitarPicker
Tidak, saya memiliki klien VM Win10 lainnya yang terhubung dengan Ethernet3 (akses internet berbasis VPN dan server 1.2.3.4) bukan Ethernet2, dan mereka berperilaku sama. Dan bagaimana klien multihomed dengan server DNS untuk kedua jaringan dianggap tidak optimal?
Matt
1
GuitarPicker, saya mencoba saran klien non-Win10 Anda dan sepertinya ini adalah perilaku khusus untuk Windows 10.
Matt
@ harrymc jawaban sepertinya akan menangani hal-hal di sisi klien Saya benar-benar menemukannya setelah membaca komentar Anda dan sebelum membaca jawabannya. Microsoft secara mengejutkan diam tentang mendokumentasikannya. Solusi saya mungkin memberi Anda sedikit lebih banyak waktu penyelesaian untuk semua klien, tetapi jawabannya akan menjelaskan perbedaan dalam klien.
GuitarPicker