1

I have a laptop configured in the following manner:

  1. Laptop is Server 2008 R2 member server running Hyper-V connected to the internet via a Wireless adapter
  2. One virtual machine is a Server Core 2008 R2 configured to run as a Domain Controller and DNS server; it has a single virtual NIC that is internal to the machine
  3. The host laptop is a member of that domain
  4. Several virtual machines running Windows XP to test various web browser versions; each machine is set up with two virtual NICs: one to the isolated domain, and one to a bridged internet connection per the following site.

Everything works well except that from time to time on boot-up I cannot get DNS to resolve (i.e., host comes up, domain controller comes up, I can ping IP address to virtual domain controller from host, but I can not ping the domain via domain name).

I have tried the following:

  1. Disable and re-enable network adapters, bridges, etc
  2. Various commands including "ipconfig /flushdns"
  3. Combinations of 1 & 2
  4. Enter the domain name in the hosts file (which does not work because of the increased security of Win2k8 R2 forcing domain resolution into dns)
  5. Restart dnscache service after reboot.

Solution #5 has been reasonably successful; however, it has started failing as well. Often a single reboot followed by restarting the dnscache service again will get my dns resolution working again (i.e., I can ping my domain name).

Any help would be much appreciated; a solution would cut ~15 minutes from my daily startup routine.

Jason
  • 121
  • 5
  • You're running Hyper-V on a laptop which is joined to a domain where the DC for said domain is running in the Hyper-V instance that's running on the laptop? That sounds like a recipe for problems. – joeqwerty Aug 15 '11 at 21:25
  • Yes it is; however, this is only for development & demonstration purposes (and on the limiting hardware of a single laptop). It works remarkably well for its intended purpose with the exception of an occasional annoyance like this. – Jason Aug 16 '11 at 01:36

3 Answers3

1

Because the DC is dependent on the laptop being booted and Hyper-V running on the laptop, I don't see how you can gracefully solve this.

One thing you could try would be to set the DNS client service to the Automatic (Delayed Start) setting, assuming that Hyper-V runs as a service and is set to Automatic start. This might give the DC time to boot up before the DNS client on the laptop starts. I'm not betting that this is going to work though.

joeqwerty
  • 108,377
  • 6
  • 80
  • 171
  • Thx @joeqwerty. The DNS Client service doesn't allow the Automatic (Delayed Start) setting unfortunately. – Jason Aug 16 '11 at 13:47
1

Your host OS sounds like it has two NIC's that have DNS filled in. When it can't talk to guest DNS server for resolution, it will jump to next DNS server in its list and stick with that one until reboot or service restart as you've seen. I bet that "next DNS server" is the DHCP assigned one on your wifi. It's no longer resolving your internal AD because it's no longer using your internal DNS server resolution, and your external DNS doesn't now about your internal hosts.

You could try static assigning DNS on both adapters to the AD DNS server. That way when your DNS server is unresolvable it doesn't switch to an external DNS server.

Better Option: I would rather promote my Hyper-V host to also be DC and DNS server, which all three roles run fine together. Then your DC/DNS is always up first.

Bret Fisher
  • 3,963
  • 2
  • 20
  • 25
  • Thx @Bret. Unfortunately, I want to keep the AD and DNS traffic isolated internal to the machine. The host OS has 4 adapters; 2 physical (1 wireless, 1 ethernet); 3 virtual (1 isolated internal to machine; 1 bridged to wireless that I setup; 1 bridged to ethernet that hyperv setup by default). To keep it simple, I'm just trying to get the config w/ 1 physical wireless and 1 internal isolated to work. – Jason Aug 16 '11 at 14:15
1

I think I may have found it . I added a dependency for the dnscache service to the Hyper-V service (vmms) via registry.

It works on 1 reboot. Will wait a couple of days before calling it a success.

Update

Works like a champ. Startup time is even a lot quicker (I guess since boot-up AD connectivity isn't timing out).

Update 2

It started giving me the same behavior again occasionally. I added the other two hyper-v services (vhdsvc & nvspwmi) as dependencies, and I'm back on track again.

Update 3

Argh! Still flaky. I just added a dependency to a service to start as "automatic(delayed)": wuauserv (Windows Update). Seems working as of 3 days.

Jason
  • 121
  • 5