Getting Windows XP to fully support IPv6

IPv6 with XP is not fully supported by Microsoft. Because of that not many people have been very persistent on finding workarounds which is why I was working on getting it as close as reasonable. Its certainly fine for dual-stack networks but you could have issues with IPv6-only networks for some things.

First, install all critical Windows updates after upgrading to the latest Service Pack (SP3). Otherwise don't even bother with IPv6 on XP. Seriously. There's going to be too many issues until then.

Install base IPv6 support:

Enable all ICMP traffic for both v4 & v6. Control Panel -> Windows Firewall -> Advanced -> ICMP -> Settings... Have everything checked -> OK -> OK

   - Essential for IPv6

   - Blocking (even if just for IPv4) is inappropriate since causes more problems (broken route diagnosis & PMTUD) than it helps (securing from DoS attacks). Have your main firewall rate limit ICMP instead.

DNS lookups do not work over IPv6 only but for dual-stack networks this doesn't matter since DNS servers will return AAAA (IPv6) records just fine over IPv4. 

Check if DHCPv6 is being used with your network for assigning IPv6 addresses. If so add DHCPv6 support via a third-party client (Dibbler or DHCP Turbo/DHCP Broadband). 

   - xref: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/sag_ip_v6_imp_config_meth.mspx?mfr=true.

Update default policy table to prefer IPv6 better or if you won't do that and you have multiple IPv6 connections then your system might use the wrong one so instead you should:

Manually enable for 1.x .NET Frameworks (very optional & link upcoming)

Restart then test

Misc. notes

Known IPsec issues:

IPsec for IPv6 in Windows XP and Windows Server 2003 is not centrally configurable and deployable

http://technet.microsoft.com/en-us/library/cc736336%28v=WS.10%29.aspx#BKMK_IPsec

IPv6 PPPoE - probably need to use software (cFos IPv6 Link or alternatives) if you have dial-up or have your router/modem handle it for other types

Internet Connection Sharing (ICS) doesn't share an IPv6 connection properly. For some reason it causes timeouts for IPv6-enabled domains on Windows clients from what I've found.

Need some more testing on IPv6 support with various other Windows system protocols like RPC, NTP, RDP, and other Windows services

Most of this likely applies for Windows Server 2003 too.