I am currently setting up IPv6 and DHCPv6 for Server 2008 R2 on my private network for testing. I was able to get DHCPv6 to work by configuring a static, then setting up the scope. I was also able to configured my Centos box to get DHCPv6. I am having problems getting Windows 7 to get the correct prefix length.
Centos box configures its link local and unique local address correctly:
inet6 addr: fd00:17ef::383a:a9d:4735:9c73/64 Scope:Global
inet6 addr: fe80::400b:1eff:feb5:f9be/64 Scope:Link
And Windows 2008 R2 server (DHCPv6) is configured correctly too:
IPv6 Address. . . . . . . . . . . : fd00:17ef::80ed:975c:20ac:fbcd
IPv6 Address. . . . . . . . . . . : fd00:17ef::80ed:975c:20ac:fbce
Link-local IPv6 Address . . . . . : fe80::bd83:34ec:9de4:41d7%11
The Windows 7 box appears to have the correct IPv6 address:
IPv6 Address. . . . . . . . . . . : fd00:17ef::395a:803e:4fc5:dfae
The Centos server can ping the DHCP server on all IPv6 interfaces:
[root@jofs1 ~]# ping6 -c 1 fd00:17ef::80ed:975c:20ac:fbcd
PING fd00:17ef::80ed:975c:20ac:fbcd(fd00:17ef::80ed:975c:20ac:fbcd) 56 data bytes
64 bytes from fd00:17ef::80ed:975c:20ac:fbcd: icmp_seq=1 ttl=128 time=0.422 ms
[root@jofs1 ~]# ping6 -c 1 fd00:17ef::80ed:975c:20ac:fbce
PING fd00:17ef::80ed:975c:20ac:fbce(fd00:17ef::80ed:975c:20ac:fbce) 56 data bytes
64 bytes from fd00:17ef::80ed:975c:20ac:fbce: icmp_seq=1 ttl=128 time=0.378 ms
[root@jofs1 ~]# ping6 -c 1 -I eth0 fe80::bd83:34ec:9de4:41d7
PING fe80::bd83:34ec:9de4:41d7(fe80::bd83:34ec:9de4:41d7) from fe80::400b:1eff:feb5:f9be eth0: 56 data bytes
64 bytes from fe80::bd83:34ec:9de4:41d7: icmp_seq=1 ttl=128 time=0.194 ms
And the Server 2008 R2 server can ping the Centos server:
C:\Windows\system32>ping -n 1 fd00:17ef::383a:a9d:4735:9c73
Pinging fd00:17ef::383a:a9d:4735:9c73 with 32 bytes of data:
Reply from fd00:17ef::383a:a9d:4735:9c73: time<1ms
C:\Windows\system32>ping -n 1 fe80::400b:1eff:feb5:f9be
Pinging fe80::400b:1eff:feb5:f9be with 32 bytes of data:
Reply from fe80::400b:1eff:feb5:f9be: time<1ms
The Windows 7 box cannot ping either of these two servers by the DHCP assigned address:
C:\Windows\system32>ping -n 1 fd00:17ef::383a:a9d:4735:9c73
Pinging fd00:17ef::383a:a9d:4735:9c73 with 32 bytes of data:
PING: transmit failed. General failure.
C:\Windows\system32>ping -n 1 fd00:17ef::383a:a9d:4735:9c73
Pinging fd00:17ef::383a:a9d:4735:9c73 with 32 bytes of data:
PING: transmit failed. General failure.
The link-local address works. Checking the route list, it seems the prefix is not getting set correctly:
11 276 fd00:17ef::395a:803e:4fc5:dfae/128 On-link
The netsh shows the site prefix length to be 64. I can't find any documents on setting the IPv6 prefix length for either the Server 2008 R2 server or the Windows 7 client. Is there a way to set the correct prefix length?
I do know that Server 2008 R2 DHCPv6 only allows /64 scopes. I'm wondering if there's a setting I missed to allow it to push out the /64 scope.
Best Answer
Provided you issue
route print
command on Windows Client machine you would realize that something like this is present:Notice that there is NO /64 prefix for your
fd00:17ef::
this is because DHCPv6 in Windows is not issuing Prefix Lenght. Router is supposed to do that. If you have no router in IPv6 test-lab you can't ever test IPv6 properly.However if you want to use your Windows machine as a IPv6 router here is an easy fix for you (run on Windows server):
Please note that you should generate ULA adresses according to RFC 4193 - or click here: http://unique-local-ipv6.com/
PS: I have realized this is 3 years old question, but google still returns it, so I did some research and put it here so others can find:)