home · projects · papers · blog · gallery · contact
anil madhavapeddy // anil.recoil.org

Recoil gets IPv6 at last

08 June 2011   |   Anil Madhavapeddy   |   tags: recoil,ipv6   |   all posts

Since it is World IPv6 Day today, I decided to update the recoil.org machines to support it.

The changes required turned out to be very straightforward. Our amazing hosting provider Bytemark has been IPv6-ready for some time, and so I just had to reconfigure OpenBSD to add the IPv6 equivalent address as an alias to the network device. This is done by adding a single line to the /etc/hostname.re0 file:

inet6 alias 2001:41c8:0010:02ad::1 64

…and an additional default route in the /etc/mygate file:

fe80::1%re0

The %re0 at the end indicates which network interface to route across, as fe80::1 is a link-local address.

Then, I had to add an IPv6 AAAA record in the DNS. We use a hosting provider called EasyDNS who have support for this in their new user interface. One thing to be aware of is that you must upgrade your domain to their new system if you haven’t touched the DNS setup for a whole, which took me a while to find out (but they responded very quickly on Twitter!).

Once that was done, I can now check the host record in DNS, and connect to Google over IPv6!

$ host -t aaaa www.recoil.org
www.recoil.org is an alias for static.recoil.org.
static.recoil.org is an alias for dark.recoil.org.
dark.recoil.org has IPv6 address 2001:41c8:10:2ad::1

$ ping6 ipv6.google.com
PING6(56=40+8+8 bytes) 2001:41c8:10:2ad::1 --> 2a00:1450:8002::69
16 bytes from 2a00:1450:8002::69, icmp_seq=0 hlim=56 time=13.313 ms
16 bytes from 2a00:1450:8002::69, icmp_seq=1 hlim=56 time=13.165 ms
16 bytes from 2a00:1450:8002::69, icmp_seq=2 hlim=56 time=13.332 ms

Awesome! One final change is to modify system daemons to also listen on IPv6 in addition to IPv4. I’ve only changed our nginx web server so far, by following these IPv6 instructions. The OpenBSD ports version of nginx already has IPv6 support compiled in, so I just added a single line to the configuration:

listen [::]:80;

Since I don’t have access to any other IPv6 machines, I tested that the website is available by going to the IPv6 website reachability tester, and typing in www.recoil.org. And it all worked, and I got this cool little badge to display here…

ipv6 ready

 
blog comments powered by Disqus