IPv6 Appengine and iPhone Simulator

Since yesterday appengine is also available via IPv6, but the iPhone Simulator does not handle IPv6 all that well. So if there is IPv6 available on the Mac running the simulator, and the app connects to appengine requests seem to fail at random right now, not returning any data. In my case I had tunnelbroker providing me with IPv6 and request from the Simulator were not getting through from time to time, so for now I decided to shut down the tunnel. Just a quick info for everybody who might face a similar, random seeming request fail.

Me can haz IPv6 with Airport Extreme at Home

Me can haz IPv6 with Airport Extreme at Home

Ok so since I really like to have access to my home machine, and also like to be able to server
some web stuff for testing proposes it decided to setup IPv6 at home. After all the process took
about 10 minutes and using my Airport Extreme as a Tunnel endpoint was rather painless to my

Setup an account with tunnelbroker and create a tunnel

This is really easy, just go to the tunnelbroker-page and create an
account. Afterwards create a so called “Regular Tunnel”

Configure the Airport Extreme

Open the Airport Utility and go to Advanced and IPv6. There you configure IPv6 as Manually and enter the
configuration presented by tunnelbroker when creating the tunnel. The configuration mapping is:
Server IPv4 -> Remote IPv4; Server IPv6 -> IPv6 Default Route; Client IPv6 -> WAN IPv6, Routed /64 -> LAN IPv6.

Airport Extreme IPv6

Now set the IPv6 DNS Server under internet TCP/IP to the server provided by tunnelbroker as well,
to get more of the IPv6 goodnessm, which isn’t really much after all so… take what you can get ;).

Try it

To confirm that everything works check in the terminal via a simple

ping6 ipv6.google.com

ping6 ipv6.google.com

Yay you can now use IPv6, at least whats out there, which isn’t much after all. The good thing is you get a lot of
addresses accessible so no more “Port 1337 forwards to fu, 4848 forwards to bar”-mapping.

BTW: I blacked out some numbers just because everybody else does it ;)

EDIT: To make setting the IPv4 endpoint easier I created a script to do that for you. It can be found on
github. This is especially useful if you are on a dynamic IP connection
like normal DSL or Cable.