Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
We've seen a lot of questions on Server Fault that come down to invalid prefix lengths. I wonder how many more we see before IPv6 becomes commonplace... –  Mark Henderson Jul 10 '11 at 21:44
Can you please provide the output for "netsh int ipv6 show address" and "netsh int ipv6 show route" for the win7 box? –  Peter Grace Aug 18 '11 at 21:28
@Mark also on Stackoverflow, Windows 7 has a defect with Teredo prefixes. –  Steve-o Aug 25 '11 at 3:40

1 Answer 1

Provided you issue route print command on Windows Client machine you would realize that something like this is present:

  ::1/128                            On-link
  fe80::/64                          On-link
  fe80::/64                          On-link
  fe80::4538:b2f1:41f0:213/128       On-link
  fe80::88a8:ec4a:b2d:fea6/128       On-link
  fd00:17ef::395a:803e:4fc5:dfae/128 On-link

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):

netsh interface ipv6 set interface "Local Area Connection" advertise=enabled
netsh interface ipv6 set route fd00:17ef::/64 "Local Area Connection" publish=yes

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:)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.