IPv6 problem in Hyper-V

hyper-v-server-2008-r2ipv6

I'm testing a IPv6 setup using Hyper-V on 2008 R2.

I've setup one VM as a DC, with 2008 R2 Standard Edition, AD, DNS and DHCP. I've got one VM as Windows 7 RTM x64, as a domain member.

IPv4 connectivity works fine, no problems here. IPv6 on the other hand is acting strange. DHCPv6 works without a problem, the client gets an IPv6 address assigned and the DNS Server address is delivered as well. But once I ping using Ping -6 I get "PING: transmit failed. General failure". If I ping from the DC to the workstation I get a "Request timed out".

Since this is a test network I've disabled the firewalls, but this does not change the situation. I use fd48:5884:e6ae:e8e9::/64 as a prefix, fd48:5884:e6ae:e8e9::1 is the DNS server, the workstation has a dynamic address assigned by DHCPv6.

Resetting the IP stack on the workstation ("netsh int ip reset" and "netsh int ipv6 reset") doesn't help either.

Edit: It seems that the route isn't added on the client. Pinging link-local addresses works, from server to client and vice-versa. It also seems that I have to some router advertising with netsh. I'll look into this and will post a follow-up.

Edit 2: It seems that router advertisements are needed to publish a route on the network. Besides that, the "Managed" and "Otherstateful" flags need to be activated to enable DHCPv6.

I've now got IPv6 running, the only issue I face is that somehow the client gets 4 IPv6 addresses. 2 normal addresses, one temporary and one link-local. The 2 normal addresses probably means that one of the 2 is done via auto-configuration.

Is this the usual idea when using DHCPv6, or am I missing something?

Thanks in advance.

Best Answer

Making virtual networks "work" in Hyper-V. (Note: Same principles apply to IPV4)

I'm guessing the network is Public and you can't simply turn off the firewall for this type of network.

Before you start: Be sure you have the same IPV6 subnet prefix length on all machines and be sure that the associated adapters are all set to the same virtual network.

Make your virtual network is Private.

  1. Goto Network and Sharing Center
  2. On the graphic, double click over the virtual network
  3. Click on the banner at the top of the resulting page ("Network filesharing and...."
  4. Pick Turn-on Network Discovery and File Sharing from the resulting list
  5. In the pop-up, pick "No, make the network I am connecting to private...."