In the end, the issue ended up being that the default gateway was not in fact on the same subnet!
Once I changed the gateway to a router on the same subnet (and removed all instances of GATEWAY from the configuration files /etc/sysconfig/network-scripts/ifcfg-eth*
), exclusively the GATEWAY/GATEWAYDEV entries in the /etc/sysconfig/network
I was able to restart the networking service and access the internet.
Getting an XP box up on my local IPv6 network was... fun. Not.
So, in one image, here's the problem: XP's support for IPv6 is minimal at best. I don't believe it's possible to disable stateless autoconfiguration - or even to use anything but.
First off, I get my stateless autoconfiguration just fine, as well as my privacy address. The privacy address works on the global Internet, which I confirmed by visiting my IP address tool in Google Chrome.
So we start fiddling.
First, the GUI doesn't provide any configuration options for IPv6; see that "Properties" is grayed out. Everything you might want to do must be done from the command line.
The routerdiscovery=disabled
suggestion from @MikePennington doesn't work because this command isn't supported on XP at all. It requires Vista or later.
The so-called Advanced Networking Pack for Windows XP can be downloaded for SP1 systems, but this functionality was included in SP2 and whatever it provides should be available already on any SP2 or higher system.
Once installed, an ipv6
command becomes available, but it doesn't provide anything relevant to disabling neighbor discovery.
Unfortunately, Windows Firewall on XP doesn't distinguish between IPv4 and IPv6 connections, and so it's impossible to select ICMPv6 messages to block in the firewall. This rules out any Windows Firewall workarounds.
Finally, XP doesn't even support DHCPv6.
IPv6 itself has matured since this code was released in 2003 (and Microsoft seemingly never updated it on XP) so it is limited by what was known about IPv6 almost ten years ago. As far as I can tell, IPv6 support in Windows XP should be considered "technology preview" and not used in production, or at least used with extreme caution and full understanding of its limitations.
Of course, XP is nearing the end of its useful life at this point, (and some would say it already passed the end of its useful life) so if you can upgrade the box, that's probably the easiest solution.
TL;DR: Look at the pretty picture. Weep. Upgrade to a current version of Windows.
Best Answer
Token IPv6 addresses is a thing in Linux, man ip-token. Essentially,
ip token set ::123/64 dev eth0
There isn't really configuration supporting this in EL scripts, so I just dump it in a /sbin/ifup-local script.Auto configuration addresses are not necessarily based on your MAC address.
sysctl -w net.ipv6.conf.default.use_tempaddr=1
should turn on privacy extensions and also prefer your static global addresses, if you want that kind of predictability. Save to /etc/sysctl.d/ if you are happy with it and want it permanently. See ip-sysctl.txt for other options.