Can anyone tell me how to configure IPV6 address to a windows XP machine and add route so that I am able to communicate to another IPV6 machine(ping with IPv6 address)

I am using the following commands. but am not able to ping

netsh interface ipv6 set address "Local Area Connection" 2001:918:0:12:1::2 advertise=yes
netsh interface ipv6 add route 2001:918:0:12:1::/64 "Local Area Connection" publish=yes

ping6 2001:918:0:12:1::2

netsh interface ipv6 set interface "Local Area Connection" forwarding=enabled advertise=enabled

In Windows XP you shouldn't manually configure your IPv6 address. XP is rather limited in IPv6 support, and I only got it working with auto-configuration. You do that by installing the IPv6 protocol in your network settings and having an IPv6 router on your network. The router sends out Router Advertisements and XP auto-configures its address and uses the router as the default gateway.

If you don't have an IPv6 router on your network you can use a tunnel broker like SixXS. A tool like AICCU can help you to set up the tunnel.

| improve this answer | |
  • i am trying by connecting only two sysyems back to back – Vijay.J055 Aug 29 '11 at 12:07
  • That is very difficult with XP as manual configuration is officially not supported AFAIK. Never tried it myself though, so it might even work :-) – Sander Steffann Aug 29 '11 at 12:53
  • Oh, and 2001:918:0:12:1::/64 is not a valid prefix. 2001:918:0:12::/64 would be a valid prefix, but 2001:918:0:12:1:: is linger than 64 bits. If you use it for back-to-back you might want to use ULA addresses instead. – Sander Steffann Aug 29 '11 at 12:54

Actually you can manually configure IPv6 on WindowsXP. First make sure it is enabled:

netsh int ipv6 install

Secondly, be aware that WindowsXP configures Teredo automatically. Teredo is an (in my view obscure and creepy) implementation of IPv6 via 6to4. To quote the Wikipedia Teredo article:

Teredo is a transition technology that gives full IPv6 connectivity for IPv6-capable hosts which are on the IPv4 Internet but which have no direct native connection to an IPv6 network. Compared to other similar protocols its distinguishing feature is that it is able to perform its function even from behind network address translation (NAT) devices such as home routers.


Teredo is designed as a last resort transition technology and is intended to be a temporary measure: in the long term, all IPv6 hosts should use native IPv6 connectivity. Teredo should therefore be disabled when IPv6 connectivity becomes available.

I always disable this, it's the first thing I do after IPv6 is enabled. You can disable it with the command:

netsh int teredo set state disabled

Thirdly, consider whether you want Windows XP privacy extensions. They make sure that the configured IPv6 is not configured to reveal your MAC address in EUI-64 format by using various randomly generated, temporary outgoing addresses. Microsoft uses some custom voodoo to create the "cloaked" IPv6 address, not conforming to RFC 4941 iirc. You can disable privacy extensions in this way:

netsh int ipv6 set privacy disabled

Something important to note -- many people do not know is that this still does not enable EUI-64 addresses. You will have to employ one additional command to get the normal behaviour (these days we are used to having to employ scores of commands in Microsoft environments to get normal behaviour from the OS):

 netsh int ipv6 set global randomizeidentifiers=disabled store=persistent

And now we are ready to get connectivity; the next step is to configure WindowsXP to connect with a tunnel.

netsh interface ipv6 add v6v4tunnel "tunnel name" $host-ipv4 $router-ipv4
netsh interface ipv6 add address "tunnel name" $tunnel-v6host
netsh interface ipv6 add route ::/0 "tunnel name" $tunnel-v6router

Voilà, IPv6 should be working.

Further notes

Although WindowsXP unfortunately provides no way to integrate DHCPv6 server, relay and client functionality out of the box, you can choose to use external software for DHCPv6 in both stateful and stateless mode. One example of such software is "Dibbler".

Now I want to make a few points based on personal experience:

  • WindowsXP is nearing its End of Life cycle. Update your software, preferably to something that is Open Source so that you can look under the hood and more importantly, because Open Source technology makes less use of internal standards and conforms more to RFCs.
  • There is a Technet article titled "Internet Protocol Version 6: Request for Comments and Internet Drafts", last updated in 2003, that has documented the RFCs to which WindowsXP is said to conform. Yes, I intentionally sound cynical about Microsoft's claims because Microsoft frequently proves that they continue to break conformity to RFCs.
  • Subscribe to IPv6 mailing lists. You can ask/answer questions there and learn about security implications. Security is a critical aspect of IPv6. Contrary to popular belief there are many, many differences to IPv4 and people who like to pry, prod and poke IPv6 networks have been doing so for a very long time. One such mailing list is "ipv6hackers".
  • Further information with regards to IPv6 security: "Security Implications of IPv6". I just have to stress that IPv6 is not a toy: it's srsbsns. Especially on corporate and governmental networks.

And finally, lest I digress too far I want to show you one more operational citation from a Technet article titled "Using Windows Tools to Obtain IPv6 Configuration Information":

The interface ID (the last 64 bits of a unicast IPv6 address) can be:

  • Based on the IEEE 802 address of an installed network adapter

The IEEE 802 address, commonly referred to as a media access control (MAC) address, is 48 bits and assigned to each network adapter as it is manufactured. The Extended Unique Identifier (EUI)-64 address is a newer 64-bit MAC address. IEEE 802 addresses can be converted to EUI-64 addresses. Interface IDs for unicast IPv6 addresses can be based on the EUI-64 address of a network adapter.

  • Randomly-generated

RFC 3041 defines temporary IPv6 addresses, which use a randomly generated interface ID and a relatively short valid lifetime. Temporary IPv6 addresses are typically used by client applications when initiating communication, such as a Web browser, and are not registered in DNS. Public IPv6 addresses are typically used by server applications for incoming connections, such as a Web server, and are registered in DNS. Public IPv6 addresses can have randomly generated or EUI-64-based interface IDs.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.