After upgrading my Windows 10 Pro to 20H2 I started experience strange name resolving delays. This is very uncomfortable, because every web-page open takes at least 15 seconds. Every console command, which makes DNS requests, takes at least 10-15 seconds per DNS request (for any new host).
For example opening superuser.com takes at least 10 seconds. Request is stalled in DNS resolve phase:
Upstream DNS resolver (my home router) on 192.168.33.1 responds to Windows DNS resolver immediately:
Resolving from console shows the same behavior:
$ time getent hosts superuser.com
151.101.65.69 superuser.com
151.101.193.69 superuser.com
151.101.129.69 superuser.com
151.101.1.69 superuser.com
real 0m11.092s
user 0m0.015s
sys 0m0.000s
Same situation with the other hosts:
$ getent hosts github.com
140.82.121.4 github.com
$ time getent hosts github.com
real 0m10.013s
user 0m0.001s
sys 0m0.000s
Upstream DNS resolver (my router) returns response immediately:
$ time nslookup superuser.com
Server: 192.168.33.1
Address: 192.168.33.1#53
Non-authoritative answer:
Name: superuser.com
Address: 151.101.193.69
Name: superuser.com
Address: 151.101.129.69
Name: superuser.com
Address: 151.101.1.69
Name: superuser.com
Address: 151.101.65.69
real 0m0.105s
user 0m0.000s
sys 0m0.031s
Build details:
OS Name Microsoft Windows 10 Pro
Version 10.0.19042 Build 19042
Edition Windows 10 Pro
Version 20H2
Installed on 20/12/2020
OS build 19042.685
Experience Windows Feature Experience Pack 120.2212.551.0
My intuition is that Microsoft experimenting in new Windows version with DNS over HTTPS or other "modern things" and broke DNS resolver. Problems can also be related to the feature, where DNS resolver tries to speed-up resolving by sending requests to multiple sources. Since AAAA requests do not positively responded (because the host does not have a AAAA resource), resolver waits for another response (from another interface) to satisfy it, until it timeouts. But this my theory has also a flaw, because I have only one configured resolver in OS: this is by router's DNS.
I disabled IPv6 protocol on all interfaces, but it didn't help.
Some people already started reporting the same, but not yet as a general DNS resolver/client issue.
Any ideas how can I work around this problem? I'd like Windows DNS resolver to respond immediately.
EDIT
Surprisingly, second time of netsh int ip reset as suggested by John and reboot seem to solve the issue permanently for both Windows and WSL2 environments. I did in meanwhile also Windows Update check & install, but it only brought a .net 3.5 update, which shall not have any effect on DNS client.
(1) netsh int ip reset c:\resetlog.txt
Very happy and grateful to the community! Happy New Year! 🎄⭐