Creating an IPv6 tunnel to

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


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
Router(config-if)# tunnel destination
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
      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 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.

Posted in IPv6, Random


Marcus (guest)
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.

gna (guest)
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


hidden_hunter (guest)
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 :(

DB (guest)
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,


Kevin Karp (guest)
January 4, 2009 at 6:17 a.m. UTC

To Hidden_Hunter...

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!


Comments have closed for this article due to its age.