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
inet6 alias 2001:41c8:0010:02ad::1 64
…and an additional default route in 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:
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…