Hi,
I face a strange issue regarding IPv6 networking on Windows 8.1 Pro. My local network runs a router with router advertising daemon to announce fc00::/7 unique local address as well as global adresses. It also runs DHCPv6 to assign static unique local address. So all my machines in local LAN get multiple local IPv6 addresses:
- IPv6 DHCP lease in fc00::/7 network
- Auto-assigned IPv6 fc00::/7 address
- Temporary IPv6 fec00::/7 address
- Link-local IPv6 address in range fe80::64 network
- Temporary global unicast IPv6 2000::/3 address
- Link-local IPv6 fe80::/10 address
- DHCP-assigned 10.0.0.0/8 IPv4 address
- DNS servers: fc00::/7 IPv6 and 10.0.0.0/8 (same server with DNS listening on both interfaces)
- Gateway: Link-local IPv6 fe80::/10 address of router, 10.0.0.0/8 server (same host as IPv6 gateway)
So far almost everything seems to work well:
- Can ping and connect to IPv6-enabled web-hosts
- ping www.google.com pings IPv6 interface on Google server
However Windows 8.1 decides to connect on IPv4 only local servers. E.g. the local web-service. Issuing "ping local-server" pings IPv4 only as well as Internet Explorer or Firefox only connect on IPv4 to the web service. It's not a DNS issue as DNS resolves properly to link-local IPv6 address:
nslookup local-server
Server: UnKnown
Address: fdea:....:....:....::6
Name: local-server.example.local
Addresses: fdea:....:....:....::6
10.0.1.6
Also using the IP address within the browser like http://[fdea:....:....:....::6]/ works just fine.
Even more strange the same setup on Windows 7 Professional connects just fine to the same host on IPv6.
I thought this might be an issue with prefix policies (see 'netsh interface ipv6 show prefixpolicies') which were changed from Windows 7 to Windows 8(.1). But I messed with the rules at no avail.
Any explanation or hint what I am doing wrong or what has changed in Windows 8(.1) which makes Windows 8 prefer IPv4 over unique local fec0::/7 addresses?