Creating an IPv6 tunnel to Packetlife.net
By stretch | Wednesday, December 17, 2008 at 4:04 a.m. UTC
Recently I decided the Packetlife web server would be a great testbed for IPv6 access given its position on the Internet. Unfortunately, my host, Slicehost, doesn't yet support IPv6 to its servers (though I hear it's in the works), so IPv6 connectivity can only be accomplished using an IPv6-in-IPv4 tunnel. This isn't a problem though, as a number of companies graciously offer free tunneling service to promote IPv6 adoption. One such company is Hurricane Electric, which offers automated registration and IPv6 tunnel configuration at tunnelbroker.net.
To create a tunnel, first you'll need to register an account with the standard contact information. Once logged in, follow the "Create Regular Tunnel" link under "User Functions" to get started. You'll need to provide a public IPv4 address which can be reached using protocol 41 (IPv6-in-IPv4), which means it cannot reside behind a NAT boundary. You'll also be prompted to select which HE server at which you want the tunnel to terminate.
After submitting this information, the tunnel will be automatically created on the HE server, and you'll be directed to a page containing your new tunnel's address.
The tunnel details include the IPv4 and IPv6 addresses for the server (the HE end of the tunnel) and the client (your end of the tunnel). You can also optionally configure reverse DNS delegation for the IPv6 address. Toward the bottom of the page, HE provides instructions for tunnel configuration in a variety of syntaxes. For example, here's how I would configure my tunnel if I wanted to terminate it on an IOS router:
Router(config)# interface tunnel0 Router(config-if)# ipv6 address 2001:470:1f06:bb3::2/64 Router(config-if)# tunnel source 18.104.22.168 Router(config-if)# tunnel destination 22.214.171.124 Router(config-if)# tunnel mode ipv6ip Router(config-if)# ipv6 route ::/0 tunnel0
However, I opted to terminate my tunnel directly on the Linux server which hosts the website. The configuration details tend to vary between distributions, but ultimately the server ends up with a tunnel interface configured with an IPv6 address:
$ ifconfig he6 he6 Link encap:IPv6-in-IPv4 inet6 addr: 2001:470:1f06:bb3::2/64 Scope:Global inet6 addr: fe80::d114:4051/128 Scope:Link UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1 RX packets:1831 errors:0 dropped:0 overruns:0 frame:0 TX packets:2422 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:246941 (241.1 KiB) TX bytes:2441039 (2.3 MiB)
After tweaking the server's Apache configuration and creating the necessary DNS records, I'm happy to declare Packetlife.net is now reachable via IPv6 at
http://[2001:470:1f06:bb3::2]/! Updated: The tunnel has been deactivated since a server mode. Sorry!
About the Author
Jeremy Stretch is a network engineer living in the Raleigh-Durham, North Carolina area. He is known for his blog and cheat sheets here at Packet Life. You can reach him by email or follow him on Twitter.
December 17, 2008 at 3:04 p.m. UTC
I have been using and IPV6 tunnel for a while now. Its nice to see some quality web sites with an IPV6 address. I just cant wait until ISP's support it natively because the speed of tunneling everything is not that great.
December 17, 2008 at 10:03 p.m. UTC
I noticed a rise in my sixxs tunnel's traffic, and wanted to know what is it. I remembered you created a tunnel, and there it is, my liferea has switched from the ipv4 packetlife rss to ipv6 automatically. SMILE
December 18, 2008 at 6:58 a.m. UTC
I'd like to run a tunnel but there is only one free tunnel broker here in Australia and it's always in a routing loop :(
December 18, 2008 at 2:52 p.m. UTC
Would you happen to have a capture file of how it would look like on the network, for both the 6-to-4 tunnel and native-ipv6 ?
Or maybe you know where I could find one ?
Thanks a lot,
January 4, 2009 at 6:17 a.m. UTC
There WAS only one free tunnel broker in Australia - My firm (IPv6Now) has provided our Try6 accounts since early 2008. You obtain more information here. Unfortunately, there is a next business day delay before the account is established.
And we'll happily assist with technical issues that you encounter - routing loops or otherwise!