Windows 10 IPv6 on a NIC breaks network connectivity; how to fix it?

Fred Marshall
Fred Marshall used Ask the Experts™
on
Up to now, we have been running a fairly large peer-to-peer network of almost 100% Windows 10 Pro workstations with ONLY IPv4 enabled on the workstation NICs.  (There are 3 interconnected subnets with no name service shared between them).  Disabling IPv6 was done historically because using IPv6 in addition to IPv4 caused problems.  

Yet, more often now, Experts advise enabling IPv6.  Going along seemed perhaps a good idea.  And, in the sense of "if it ain't broke don't fix it", the hoped-for fix was to fix the Network list of computers in each distinct subnet - which has become more flaky/unreliable.  The experience with this was mixed as not all computers were switched to IPv6; i.e. not all subnets' workstations had IPv6 enabled.

We have since solved the Network computer name list problem.  So, there's a decision to make:
- "if it ain't broke, don't fix it" says to leave only IPv4 enabled.
- Expert advice says to also enable IPv6.  

It surely appears that "IPV6" in Windows is NOT simply an addressing scheme but also carries with it other things - things which I'm unable to list, but one hopes.

I have not had any trouble that I know of in enabling IPv6.  Yet, when one of the senior folks enables it on his own workstation, the network connectivity dies.  This problem survives a reboot and, yes, IPv4 remains enabled.

I believe it's bad practice to have a mix of settings in a network.  So if someone can suggest a fix to the network connectivity problem then perhaps we can move forward to IPv6.  Otherwise, I'll likely have to revert to IPv4 ONLY throughout to maintain consistency.
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Business Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018
Commented:
when one of the senior folks enables it on his own workstation, the network connectivity dies.  This problem survives a reboot

No issue here with both IPv6 and IPv4 running and I agree with not disabling it.

Open cmd.exe with Run as Administrator and run a TCP/IP Reset

Then: netsh int ip reset c:\resetlog.txt
Then: ipconfig /flushdns

Then restart the computer and test.

If problems persist on this machine, run a Windows 10 Repair Install.
Top Expert 2016

Commented:
having the mix of ipv4 only and ipv4/v6 is a problem. I had this problem since ipv6 is the preferred interface until I setup dhcp ipv6 properly

so set ipv4 as preferred
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters
Create DisabledComponents DWORD registry value, set its value to 20 (Hexadecimal).

Open in new window

See Microsoft KB 929852
JohnBusiness Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018

Commented:
We (at all our clients) only have Windows 7 and UP, Server 2012, and so all machines have both IPv4 and IPv6. We have no machines IPv4 only. Those are all gone.
Ensure you’re charging the right price for your IT

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden using our free interactive tool and use it to determine the right price for your IT services. Start calculating Now!

Author

Commented:
OK.  So I get it that IPv6 AND IPv4 is recommended.  That's what I've been trying to accomplish.  What I'm looking for here is something to grease the skids.

I know it's a multidimensional space and that the directon to be taken in seeking the optimum is not suggested from the results of a single step in one direction.  Yet, that's the conclusion that folks often reach.  

If a mix of IPv4 ONLY and IPv4+IPv6 is a problem, what *is* the problem?  It might be good to know.  (I can surely understand if there is a mix if IPv4 ONLY, IPv4+IPv6 and IPv6 ONLY).  If I were to guess, it's that behavior of machines with IPv4+IPv6 may not be predictable in that former circumstance?  That seems odd.  But then I know not much at all about the interactions.
Top Expert 2016
Commented:
By default ipv6 is preferred over ipv4 so if you set ipv4 as preferred over ipv6 then it will use the ipv4 route first and then fail back to ipv6. IMHO in your environment either enable ipv6 everywhere or set the preference to ipv4
JohnBusiness Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018

Commented:
Was it the one machine above? It seems to be just one above, so I would repair that machine and set it to have both IPv6 and IPv4 enabled and then see how the other machines work.
nociSoftware Engineer
Distinguished Expert 2018

Commented:
You will need to also have a router enabled with IPv6 in your network if you need SLAAC (automatic address management) to work.
Otherwise you need to setup IPv6 from DHCP correctly.
If a DNS response (mDNS or regular DNS)  has an AAAA record in it it is preferred, if there are only A records IPv4 is used (albeit through the IPv6 stack using compatibility mode).
IF you have no IPv6 ISP connections there is no point in setting up IPv6 locally if you haven't taken care of infra structure for this.
(IPv6 is not only changed addresses, it is a redesign of IP including TCP & UDP layers).
Before "just" enabling IPv6  it might be wise to actually learn something about it, Here is a start: https://ipv6.he.net/certification/

Author

Commented:
noci:  Thanks for the input!
1) There is no DHCP except for a very few wireless clients.
2) There is nothing in the network enabled or, often, even capable of IPv6.
3) I'm not planning on actively doing anything re: IPv6 - so the learning would be luxuriously premature.  Always nice of course.  The main reason this comes up is because so many Experts suggest it be done.  I still don't know what it offers in a local/Windows context.  That's the only context that I'm interested in at the moment.  "it is a redesign of IP including TCP & UDP layers" is more information but I'm simply ignorant of the potential benefits in a local Windows peer-to-peer network.

David Johnson:  A very good point about preferences.  Just a few days ago I'd not have been able to understand...
So, as I take it:
IPv6 is the default preference in Windows.
IF one is going to use IPv4 exclusively then perhaps it's more reliable to set IPv4 as the preferential protocol.  I've never done this.  I can't say that I've seen an example of where NOT doing it would matter - but it does represent a possible "gotcha", right?
Distinguished Expert 2018
Commented:
IPv6 is the default preference in Windows.
Correct.

IF one is going to use IPv4 exclusively then perhaps it's more reliable to set IPv4 as the preferential protocol.  I've never done this.  I can't say that I've seen an example of where NOT doing it would matter - but it does represent a possible "gotcha", right?
Technically, yes. But I've never seen an instance of it actually causing issues. There are some Windows features that depend on IPv6 such as DirectAccess and Remote Assistance. Plus the upside of the approach David posted is the fact that IPv6 is never getting disabled at any point.

Disabling IPv6 was done historically because using IPv6 in addition to IPv4 caused problems.  
I can see the why, but changing the preference actually is the better option. Answered in the previous part of my post. And of course, in the earlier times, there wasn't a lot of good guidance (plus many people weren't aware you could even change the preference)
Top Expert 2016

Commented:
My investigation into this started in my home lab.  I use the router as my dhcp server. it also does dhcp6 which I never paid attention to. All of the VM's in my lab have static ipv4 addresses and I could not join the domain. First I'd disable ipv6 and join the domain and then re-enable ipv6.. This was a major PITA especially since I had several complete machine installation task sequences i.e. System Center Suite, Web Servers (wordpress/joomla/mediawiki) all of which needed to be joined to the domain.  Stopping the task sequence, turning off ipv6, joining the domain, re-enable ipv6 (some of software requires ipv6 stack). Setting the ip stack order preferences until i bit the bullet and set my ipv6 up on the router using my DNS servers IPV6 addresses.  Note I did not want other than the lab machines to access the domain DNS.. I had tried initially to use RRAS and setting up DHCP on an internal network.. I had to block dhcp requests from the external network from filtering into my internal network and route all external traffic out the external interface.

Author

Commented:
David Johson:
IMHO in your environment either enable ipv6 everywhere or set the preference to ipv4
Reading back carefully, I wondered if this means to set the IPv4 preference AND leave IPv6 enabled?  Or, to set the IPv4 preference AND uncheck IPv6 on the NICs?
Distinguished Expert 2018
Commented:
Reading back carefully, I wondered if this means to set the IPv4 preference AND leave IPv6 enabled?  Or, to set the IPv4 preference AND uncheck IPv6 on the NICs?
Set the preference and leave enabled.
Top Expert 2016
Commented:
Yes set presence and leave enabled.

Author

Commented:
Thank you all!!
JohnBusiness Consultant (Owner)
Most Valuable Expert 2012
Expert of the Year 2018

Commented:
You are very welcome and I was happy to help.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial