What to do if you're broken...
If you are reading this page, it means that we've identified that your host will have problems on World IPv6 Day. Any web site that goes "dual stack" (meaning, both IPv4 and IPv6), will be unreachable to you.
To resolve this, you'll first need to identify your IPv6 address (if you have one) and your IPv6 default route (if you have one). This will help identify which sections to read.
If you find your particular problem is not well represented; or you have additional suggestions; please do leave feedback using the form (or contact jfesler@test-ipv6.com).
-
Make sure you are current
Find your IP address
If you set up a tunnel broker
If you set up 6to4 (IPv6 address: starts with 2002)
If you have an ULA (IPv6 address: starts with FC or FD)
If you have an Bad or Inappropriate IPv6 Addresss (see table)
If you have an unexpected IPv6 address
Try the netalyzr
If all else fails, disable or deprioritize IPv6
Make sure you are current
Many OS and Hardware manufacturers are making updates to help improve the transition to IPv6. Some known "gotchas" are being addressed by workarounds by these vendors.
You can do your part to make sure you are running the latest:
- OS - Make sure you have the latest.
- Mac users: Apple OS X 10.6.7 is recommended for improved IPv6 support.
- Mac users on 10.4 or 10.5 may need to disable IPv6 if other troubleshooting steps fail.
- Windows users: go to http://update.microsoft.com.
- iPhone/iPad users: No specific version advised at this time.
- Routers - Make sure you have the latest firmware installed. Some vendors have updated the defaults, or put in health checks before enabling IPv6.
- If you are using an Apple router or Time Capsule, load the Airport Utility to check that your router is up to date.
- Browsers - Some browsers have made updates to detect "broken" users, and to temporarily disable IPv6.
- Firefox 4.x now only tries IPv6, when an IPv6 address is configured. Firefox 3 users are encouraged to upgrade.
- Chrome: If a wrench icon appears on the browser toolbar, click it. Select "Update Google Chrome" then Restart.
- Opera: Make sure you use at least 11.10.
Finding your IP address
Identify your IPv6 address, and your default router (if you have one).
Finding your IPv6 address and default router can be a challenge if you are not familiar with your OS's network configuration. Instructions for your OS are below.
When looking for your IPv6 address, skip any fe80:
address. Everyone has them if their OS supports IPv6; this is regadless of whether or not your ISP supports IPv6 yet. Those are "link local" addresses; used just for communicating to other hosts in the same physical network as you.
OS X users: To find your IP address using the GUI:
- Go to the "Apple" menu (top left corner)
- Go to System Preferences
- Go to Network
- Click on your primary network (green icon) if you have more than one work.
- Go to "Advanced"
- Look at the TCP/IP tab, uder "Configure IPv6".
- Make a note of whether or not there is a router.
- Make a note of the IPv6 address (if any).
OS X users: To find your IP address using the command line:
- To open your terminal: Go to your Applications folder; go to Utilities; and double click Terminal.
- To see your IP addresses:
ifconfig -f inet6
. - Ignore the
fe80:
addresses; look for any other address on youren0
oren1
. - To see if you have a default route:
netstat -nr -f inet6
. - Look for a line that says "default"; probably pointing to a gateway starting with
fe80:
iPhone and iPad users: No information is shown via Apple's preferences/setup. The "IT Tools" and the "ip6config" apps do show IPv6 address data; both cost.
Linux users: To find your IPv6 address, open a terminal and..
ip -6 address show
Linux users: To find your IPv6 route, use:
ip -6 route show default
Generic unix instructions for determining your IPv6 address and default route:
- Run
ifconfig -a
and look forinet6
to see your possible IPv6 addresses. - Run
netstat -nr
and look forinet6
orInternet6
or similar to find the IPv6 portion; then look fordefault
or::
or::/0
.
Windows users: To find your IP address using cmd.exe:
- Go to your "start" menu
- If you have a "Run" menu option, select it. Otherwise go to the "Search programs and files" box.
- Type
cmd.exe
- In the cmd window, type
ipconfig
.
Windows 7 GUI users:
- Go to the start menu
- Go to the control panel
- Go to "Network and Internet"
- Go to "View network status and tasks"
- Go to "Change adapter settings".
- Go to your main Internet connection, double click
- Go to "Details"
- Look for "IPv6 Address" and "IPv6 Default Gateway"
Other Windows based OS's: Send jfesler@test-ipv6.com detailed instructions; and I'll add them to the site.
If you set up a tunnel broker
If you set up a tunnelbroker tunnel: The most common causes for tunnelbroker users to fail are:
- Your IPv4 address may have changed; you need to tell the tunnelbroker server this happened.
- If you are using your router to do the 6in4 (sometimes called 6to4 with explicit provider):
- Make sure tunnelbroker knows your current IPv4 address. Our site tells you your public IPv4 address.
- Make sure your router can ping the other side of the tunnel. Don't waste your time fixing computers until the router works!
- If you are using your Linux, BSD, Mac, or Windows box to "talk 6to4" specifically:
- Make sure your router is passing "protocol 41" to you.
- Make sure any software firewall you are operating is passing "protocol 41" to you.
- If everything worked before your reboot but fails now, check your firewall settings.
- Make sure the box "doing 6to4" can ping the other side of the tunnelbroker gateway before working on any other hosts.
If you set up 6to4
(IPv6 address: starts with 2002)
If you use 6to4 (without a tunnel broker; ie, using anonymous 6to4):
The use of "automatic" 6to4, or the use of 6to4 without explicit configuration of the gateways, is not recommended. For more information see 6to4.
If you want to continue trying to debug anonymous 6to4:
- If you are using your router to do the 6to4:
- Make sure your router has a public IPv4 address. Without this, 6to4 fails.
- If your router permits you to log in, use "ping" or "ping6" and see if you can ping "ipv6.test-ipv6.com". Don't waste your time fixing computers until the router works!
- If you are using your Linux, BSD, Mac, or Windows box to "talk 6to4" specifically:
- Make sure your router is passing "protocol 41" to you.
- Most home systems have private IPv4 addresses; this won't work with 6to4 (unless..)
- Make sure your 6to4 interface knows your public IPv4 address.
- Make sure that your router permits protocol 41 from any IP address - not just 192.88.99.1. This will allow web sites to operate their half of 6to4, even if they can not spoof the 192.88.99.1 anycast address.
- Linux users using iptables connection tracking: take heed of the previous note!
- Consider changing how you connect.
-
- Ask your ISP if they offer any IPv6 connectivity (including possibly 6in4 tunnels, or tunnelbroker type tunnels).
- See 6to4 for more information on why you would want to switch; and some options.
If you have an ULA
(IPv6 address: starts with FC or FD)
ULA or Unique-Local-Unicast:
If you have an IP address starting with FC
or FD
, you have what is effectively a private IPv6 address. It might be usable for talking to other devices within your home, or within your company. It also allows you to have a steady IPv6 address inside, even if your public IPv6 address changes regularly.
The main problem with ULA is that certain home routers are now offering ULA, *and* giving you a default route. This route is offered regardless of whether or not your router actually has IPv6 connectivity. From your browser's point of view, it doesn't know that your default route goes nowhere; there is no feedback mechanism. Since IPv6 is (roughly speaking) preferred over IPv4, your browser will try using this broken route. It may take minutes before giving up.
Our advice: Enable ULA only if your router has full time IPv6 connectivity. Disable it, otherwise. If you do disable it on your router, you will likely need to reboot your router first, then reboot your host, before the symptoms go away.
Bad or Inappropriate IPv6 Addresss
(IPv6 address: see table below)
Bad or Inappropriate IPv6 Addresses (Bogons): If you IPv6 address starts with any of these, your router needs to be upgraded.
fcxx: or fdxx: |
AVM FritzBox - disable ULA. Other routers: Try updating the firmware. If that fails, look for and disable "ULA" or "Unique Local Addressing". If that fails, disable IPv6 entirely on the router. |
2002:0Axx: or 2002:Axx: |
This is a router using 6to4, but using a private IPv4 address. This will never work. Apple routers: Update to the latest firmware; that has been corrected. Other routers: Try updating the firmware. If that fails, look for and disable "6to4" or any form of automatic IPv6 tunnel. If that fails, disable IPv6 entirely on the router. |
2001:db8: |
This router is using the official "Documentation" prefix - which is not routable on the IPv6 Internet. Cisco E2000, E3000, E4200: Update to the latest firmware. Other routers: Try updating the firmware. If that fails, disable IPv6 entirely on the router. |
2005:123:456:789: |
WRVS4400N routers: Disable IPv6. Other routers: Try updating the firmware. If that fails, disable IPv6 entirely on the router. |
If you have an unexpected IPv6 address
(IPv6 address: not starting with fe80)
Unexpected IPv6 address?
Modern operating systems all have IPv6 enabled. This feature is dormant until someone explicitly configures IPv6, or a device on the local network offers it. Autoconfigured IPv6 hosts learn their IPv6 address and their gateway through the use of IPv6 router announcements (RAs). The network you are on may intentionally offer IPv6; you'll automatically use it when your computer sees it.
Where this goes wrong: Some people plug their router into the network (wired or wireless) and inadvertantly offer IPv6 services to everyone. Classic examples of this are where people add an early version of an Apple router (with 6to4 automatically enabled); another example is someone who has Windows Internet Connection Sharing enabled. In both cases, there is a chance they offer their services - and become your IPv6 router of choice, without any notification to you.
If these IPv6 routers don't work, you will fail to connect to any web site that offers services on both IPv4 and IPv6. Even if they do work, if the router in question is unplugged (the owner packs up, leaves the hotel/conference) your host never gets the notice; and it can be hours before it gives up.
This is similiar to someone accidentially (or intentionally) running a rogue DHCP server.
If you are are not the network admin - and have no access to fix the problem - consider disabling IPv6, at least for the location you are in. Another option might be to try turning off, and turning back on, your network interface (clearing the IP address), in case the source of the problem has left the network.
If you are the network administrator: You can use the default route information to identify the ethernet address; and then search for the owner of that ethernet address. Some network vendors have features that will suppress the advertisements of unauthorized RAs (router announcements); consider enabling those feaatures. More reactive measures involve finding (by ethernet address) the owner of the device; or possibly spoofing RA's from their device to indicate the device is going away.
Try the netalyzr
Consider trying the "netalyzr". This is another site that runs a java applet (which can do more than my site can, in just javascript). I would find feedback about how you useful this site was for you. From the netalyzr staff:
Netalyzr is a free network debugging and diagnostic service written by researchers at the International Computer Science Institute in Berkeley. This tool runs from within your Java-enabled web browser. It automatically detects many conditions which might cause problems with IPv6 connectivity, including creating a list of all IP addresses, discovering IPv6 addresses that don't work, detecting IPv6 rogue gateways, and a host of other network problems.
If all else fails
(Instructions for disabling or deprioritizing IPv6)
Disabling or Deprioritizing your IPv6 address
To disable IPv6 entirely, until your ISP offers IPv6 to you: see Microsoft's "fixit" site that gives clear instructions. We advocate considering "Use IPv4 instead of IPv6 in prefix policies", instead of completely disabling IPv6. Specific Windows features depend on IPv6 being enabled.
To completely disable IPv6 (Windows 7, Vista; XP should be similiar):
- Go to the start menu
- Go to the control panel
- Go to "Network and Internet"
- Go to "View network status and tasks"
- Go to "Change adapter settings".
- Go to your main Internet connection, double click
- Go to "Properties"
- Uncheck "Internet Protocol Version 6"
- Hit "ok"
- Shutdown/reboot.
To disable IPv6 in Windows XP:
- Taken from: http://support.microsoft.com/kb/2478747
- Make sure you are logged in as an Administrator.
- Click Start, click All Programs, click Accessories, and then click Command Prompt.
- At the command prompt, type: netsh int ipv6 uninstall and press the Enter key on your keyboard.
- Close the Command Prompt window and restart the computer.
Other Windows based OS's: Send jfesler@test-ipv6.com detailed instructions; and I'll add them to the site.
OS X users
Before disabling IPv6, please be sure you are running the latest OS version. In particular, OS X 10.6.7 has several workarounds for being "Broken". This may solve your problems without resorting to completely disabling IPv6.
- How to disable IPv6
-
- Go to the "Apple" menu (top left corner)
- Go to System Preferences
- Go to Network
- Click on your primary network (green icon) if you have more than one work.
- Go to "Advanced"
- Disable IPv6
- Apply changes
iPhone and iPad users
IPv6 is not configurable on the iPhone or iPad. Your only option is to switch to another network.
Linux users:
- How to disable IPv6
-
- This is very distribution-specific. Do a web search using your favorite search engine.
- Example web search:
disable ipv6 on centos
Generic unix instructions, to temporarily remove your IPv6 address.
ifconfig eth0 inet6 IP_ADDRESS remove
- Be aware that if the router re-advertises it, you will relearn the default route.
- You can do a web search for your particular OS distribution. Example search would be
disable ipv6 on freebsd
.
See Also