Hyper-V Slow Host Network - How to Fix
Last week I installed the latest version of Windows 8 RP; I was really excited to see Hyper-V and a desktop OS together. It's been running great, but I noticed a peculiar issue: whenever my VM-DC virtual machine (which hosts AD, DNS and DHCP) was running, my host DNS requests would creep and every request added 5 seconds. I suspected my VM-DC machine was getting the request first and rejecting it (VM-DC has no internet access), but I couldn't figure out why.
To validate, I started WireShark and made an nslookup DNS request. Sure enough, VM-DC got the request first, returned back a bad hostname and then my normal DNS server got the request. From there, I went to make sure my DNS entry didn't get into my External NIC configuration:
Ethernet adapter vEthernet (External LAN):
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #2
Physical Address. . . . . . . . . : D0-67-E5-38-18-8C
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::c0c1:ae76:bdbe:5c9e%19(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.10.1(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Monday, June 11, 2012 12:09:00 PM
Lease Expires . . . . . . . . . . : Tuesday, June 19, 2012 12:08:59 PM
Default Gateway . . . . . . . . . : 192.168.10.254
DHCP Server . . . . . . . . . . . : 192.168.10.254
DHCPv6 IAID . . . . . . . . . . . : 399534053
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-17-5A-B2-7C-D0-67-E5-38-18-8C
DNS Servers . . . . . . . . . . . : 192.168.10.254
NetBIOS over Tcpip. . . . . . . . : Enabled
Ethernet adapter vEthernet (External WiFi):
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : gateway.2wire.net
Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #3
Physical Address. . . . . . . . . : 00-24-D7-C8-20-34
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Ethernet adapter vEthernet (Internal LAN):
Connection-specific DNS Suffix . : VM.local
Description . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter #4
Physical Address. . . . . . . . . : 00-15-5D-01-4C-00
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Link-local IPv6 Address . . . . . : fe80::2c1d:8047:d6a:f39b%21(Preferred)
IPv4 Address. . . . . . . . . . . : 192.168.250.101(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Lease Obtained. . . . . . . . . . : Monday, June 11, 2012 1:19:24 PM
Lease Expires . . . . . . . . . . : Tuesday, June 19, 2012 1:19:23 PM
Default Gateway . . . . . . . . . :
DHCP Server . . . . . . . . . . . : 192.168.250.1
DHCPv6 IAID . . . . . . . . . . . : 805311837
DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-17-5A-B2-7C-D0-67-E5-38-18-8C
DNS Servers . . . . . . . . . . . : 192.168.250.1
NetBIOS over Tcpip. . . . . . . . : Enabled
As you can see, VM-DC (192.168.250.1) is definitely not on my External LAN NIC. So why is it still getting the initial DNS request? Next I went into the Network Adapters, hit ALT, looked at the binding settings and EUREKA: my Internal LAN NIC was listed before my External LAN NIC. A quick reorder to give my External LAN priority and solved the DNS latency problem. Now my host browses the internet as fast with and without my VM-DC booted.
BEFORE:
AFTER:
I'm not sure what set my Internal NIC with higher priority than my External NIC, but if it happens to you, this'll help!