Note: this original KB article from which this guidance was taken has now been removed. Please see the comments below for more information.
I recently posted about the Conflicting Microsoft guidance on IPv6. While you can remove IPv6 from a NIC on a full installation of Windows Server 2008 by un-ticking the IPv6 box in the NIC properties (satisfying the Hyper-V performance guidance), you may have noticed that there’s no obvious way to disable IPv6 in server core or Hyper-V Server. If you looked in to it in a bit more detail you may have noticed a registry “fix” for this. Personally I’m always a bit skeptical of registry fixes until I see Microsoft recommending them, but now Tonyso has posted a link to a Microsoft KB article that endorses this approach (when necessary):
To completely disable IPv6 on a Windows Server 2008-based computer yourself, follow these steps:
- Open Registry Editor.
- Locate the following registry subkey:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters- In the details pane, click New, and then click DWORD (32-bit) Value.
- Type DisabledComponents, and then press ENTER.
- Double-click DisabledComponents, and then type 0xffffffff in Hexadecimal or 4294967295 in Decimal.Note The 0xffffffff value or the 4294967295 value disables all IPv6 components except for the IPv6 loopback interface.
A reboot is required before the change will take effect.
Both of the Hyper-V hosts (running 2008 R1 SP2) I’ve tried this on go haywire upon reboot. They lose connectivity and refuse to accept RDP connections. Connecting over my IP-KVM, I’m able to locally log on, but it takes 2 minutes to load the user profile, and then throws up error messages about everything. Rebooting into safe mode, deleting the reg key, and rebooting fixes it immediately.
Is IPv6 necessary for Hyper-V? I’ve disabled it on other machines, real and virtual, with no side effects–it only seems to affect my Hyper-V hosts.
How strange. Microsoft have deleted the original KB article. It might be worth dropping Tony Soper an e-mail (upper left-hand corner of his site), as he originally posted the guidance. I wonder if something will have changed since then. See his original post here: http://blogs.technet.com/tonyso/archive/2009/09/28/hyper-v-how-to-turn-off-ipv6.aspx
To answer your question re: whether IPv6 is necessary, it totally depends on your tools/requirements. I’ve successfully disabled it in many instances but your infrastructure may implement it more widely than mine.
And if you find anything else out, I’d love to know. Sorry if I’ve inadvertently caused you any headaches.