Windows 8.1 prefers IPv4 over IPv6

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?

December 17th, 2013 1:16pm

Meanwhile I have done a quick test using link-local address (fe80::/10) in DNS and here Windows 8.1 seems to prefer then the link-local IPv6 address over private 10.0.1.6/24 address. However as of my understanding link-local addresses should be auto-assigned and I would prefer to use site-local addresses in local DNS rather than link-local. Especially for multi-site installations where a centralized DNS should likely not publish link-local addresses not routed in local network.

I also tried to move the web server to different local subnet assuming Windows 8.1 might prefer local 10.0.1.6/24 address because it's available on the same link. So I moved the web server to 10.0.2.6/24 so all IPv4 connections would have to go via router. Still Windows 8.1 prefers the IPv4 address of this host and connects to 10.0.2.6/24 rather than the advertised fc00::/7 site-local address.

I am sure I must have some incorrect configuration. But can't figure it out right now. Perhaps this thread might help somebody with the same issue too.

Free Windows Admin Tool Kit Click here and download it now
December 17th, 2013 1:33pm

Hi,

To prefer IPv6 over IPv4 in prefix policies, you can refer to the following KB to change the prefix policy, Change the DisabledComponents registry value in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters \

(if you dont have the value, you must create it )

How to disable IP version 6 or its specific components in Windows

http://support.microsoft.com/kb/929852/en-us

Regard,

Yolanda

December 20th, 2013 1:49am

Hi,

To prefer IPv6 over IPv4 in prefix policies, you can refer to the following KB to change the prefix policy, Change the DisabledComponents registry value in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters \

(if you dont have the value, you must create it )

How to disable IP version 6 or its specific components in Windows

http://support.microsoft.com/kb/929852/en-us

Regard,

Y

Free Windows Admin Tool Kit Click here and download it now
December 21st, 2013 1:08pm

you can run ipconfig /all, and paste the result here

December 24th, 2013 10:01am

you can run ipconfig /all, and paste the result here

Of course I can. See below. Note: I have removed static IPv6 site-local addresses (except the prefix).

Windows IP Configuration

   Host Name . . . . . . . . . . . . : cyb64w8-hpnb
   Primary Dns Suffix  . . . . . . . : cyberdyne.local
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : cyberdyne.local

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : cyberdyne.local
   Description . . . . . . . . . . . : Intel(R) 82566MM Gigabit Network Connection
   Physical Address. . . . . . . . . : 00-1A-4B-79-B0-18
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2a02:120b:2c1a:9921:xxxx:xxxx:xxxx:xxxx(Preferred) 
   IPv6 Address. . . . . . . . . . . : fdea:5b48:d4c1:1:xxxx:xxxx:xxxx:xxxx(Preferred) 
   Temporary IPv6 Address. . . . . . : 2a02:120b:2c1a:9921:b961:891b:ca9a:57c4(Preferred) 
   Temporary IPv6 Address. . . . . . : fdea:5b48:d4c1:1:b961:891b:ca9a:57c4(Preferred) 
   Link-local IPv6 Address . . . . . : fe80::d22:54df:c40d:50b0%3(Preferred) 
   IPv4 Address. . . . . . . . . . . : 10.0.1.186(Preferred) 
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Dienstag, 24. Dezember 2013 15:16:03
   Lease Expires . . . . . . . . . . : Donnerstag, 26. Dezember 2013 15:16:00
   Default Gateway . . . . . . . . . : fe80::21f:d0ff:fe59:1baf%3
                                       10.0.1.6
   DHCP Server . . . . . . . . . . . : 10.0.1.6
   DHCPv6 IAID . . . . . . . . . . . : 50338379
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-19-F3-54-E5-00-1A-4B-79-B0-18
   DNS Servers . . . . . . . . . . . : 10.0.1.6
   Primary WINS Server . . . . . . . : 10.0.1.6
   NetBIOS over Tcpip. . . . . . . . : Enabled

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . : cyberdyne.local
   Description . . . . . . . . . . . : Intel(R) Wireless WiFi Link 4965AGN
   Physical Address. . . . . . . . . : 00-13-E8-E7-CD-41
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2a02:120b:2c1a:9921:xxxx:xxxx:xxxx:xxxx(Preferred) 
   IPv6 Address. . . . . . . . . . . : fdea:5b48:d4c1:1:xxxx:xxxx:xxxx:xxxx(Preferred) 
   Lease Obtained. . . . . . . . . . : Dienstag, 24. Dezember 2013 15:15:59
   Lease Expires . . . . . . . . . . : Donnerstag, 16. Januar 2014 21:23:54
   IPv6 Address. . . . . . . . . . . : fdea:5b48:d4c1:1:448c:d39d:146a:8a10(Preferred) 
   Temporary IPv6 Address. . . . . . : 2a02:120b:2c1a:9921:31a1:a957:a32a:3fd9(Preferred) 
   Temporary IPv6 Address. . . . . . : fdea:5b48:d4c1:1:31a1:a957:a32a:3fd9(Preferred) 
   Link-local IPv6 Address . . . . . : fe80::448c:d39d:146a:8a10%4(Preferred) 
   IPv4 Address. . . . . . . . . . . : 10.0.1.210(Preferred) 
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Dienstag, 24. Dezember 2013 15:15:57
   Lease Expires . . . . . . . . . . : Donnerstag, 26. Dezember 2013 15:15:57
   Default Gateway . . . . . . . . . : fe80::21f:d0ff:fe59:1baf%4
                                       10.0.1.6
   DHCP Server . . . . . . . . . . . : 10.0.1.6
   DHCPv6 IAID . . . . . . . . . . . : 67113960
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-19-F3-54-E5-00-1A-4B-79-B0-18
   DNS Servers . . . . . . . . . . . : fdea:5b48:d4c1:1:1::6
                                       10.0.1.6
   Primary WINS Server . . . . . . . : 10.0.1.6
   NetBIOS over Tcpip. . . . . . . . : Enabled
   Connection-specific DNS Suffix Search List :
                                       cyberdyne.local

Ethernet adapter Local Area Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : cyberdyne.local
   Description . . . . . . . . . . . : TAP-Win32 Adapter V9
   Physical Address. . . . . . . . . : 00-FF-22-25-F2-4A
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Tunnel adapter Teredo Tunneling Pseudo-Interface:

   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2001:0:5ef5:79fb:e8:c8c:f5ff:fe45(Preferred) 
   Link-local IPv6 Address . . . . . : fe80::e8:c8c:f5ff:fe45%6(Preferred) 
   Default Gateway . . . . . . . . . : 
   DHCPv6 IAID . . . . . . . . . . . : 218103808
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-19-F3-54-E5-00-1A-4B-79-B0-18
   NetBIOS over Tcpip. . . . . . . . : Disabled

Tunnel adapter isatap.cyberdyne.local:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : cyberdyne.local
   Description . . . . . . . . . . . : Microsoft ISATAP Adapter #2
   Physical Address. . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes

Free Windows Admin Tool Kit Click here and download it now
December 24th, 2013 2:21pm

Hi ,


I've already involved someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.

Thank you for your understanding and support.

Regards,

Yolanda

December 27th, 2013 10:12am

Windows 8.1 has the same behaviour on my PC. When pinging or connecting to hosts the priority order appears to be IPv4 GUA, IPv4, IPv6 ULA.

Regards

Dan

 
Free Windows Admin Tool Kit Click here and download it now
June 9th, 2014 4:44pm

Windows 8.1 Update would automatically prefer IPv4 regardless of prefix policies.

Reverting back to Windows 8.1 (without Update) / 8 / 7 / Vista / XP (either x86 or x64) solved the issue.

It is worth noting that Windows 8.1 Update had been obeying my custom prefix policies (which prioritize IPv6) for minutes before it selected IPv4 as a priority.

Hence in Windows 8.1 Update there should be a certain mechanism that made the decision based upon an evaluation of your network environment.


  • Edited by cjrcl 17 hours 0 minutes ago
June 28th, 2015 10:22am

Windows 8.1 Update would automatically prefer IPv4 regardless of prefix policies.

Reverting back to Windows 8.1 (without Update) / 8 / 7 / Vista / XP (either x86 or x64) solved the issue.

It is worth noting that Windows 8.1 Update had been obeying my custom prefix policies (which prioritize IPv6) for minutes before it selected IPv4 as a priority.

Hence in Windows 8.1 Update there should be a certain mechanism that made the decision based upon an evaluation of your network environment.


Sorry, everyone. I am sad to find that Windows 8.1 even without Update would default to IPv4 irrespective of prefix policies too!

So those who want to prefer IPv6 in a dual-stack configuration must choose Windows with version below 8.1 (exclusive).

Free Windows Admin Tool Kit Click here and download it now
June 28th, 2015 12:09pm

Windows 8.1 Update would automatically prefer IPv4 regardless of prefix policies.

Reverting back to Windows 8.1 (without Update) / 8 / 7 / Vista / XP (either x86 or x64) solved the issue.

It is worth noting that Windows 8.1 Update had been obeying my custom prefix policies (which prioritize IPv6) for minutes before it selected IPv4 as a priority.

Hence in Windows 8.1 Update there should be a certain mechanism that made the decision based upon an evaluation of your network environment.


  • Edited by cjrcl Sunday, June 28, 2015 2:23 PM
June 28th, 2015 2:21pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics