Skip to main content

IPv6 was easier than I had expected

Back in October I wrote about how my landlord provides an Internet connection with a private IPv4 address. I explained that I want to connect several devices and so I have installed my own NAT and now sit behind a “double NAT”. The only problems I’ve had have been with some VoIP software that can’t jump multiple NATs.

My landlord isn’t the only ISP providing an Internet connection using private IPv4 addresses. As mentioned at the last AfriNIC meeting, there are many millions of connections sitting behind hierarchies of IPv4 NATs.

But this week I was inspired to look at deploying IPv6 alongside my NAT. This has been done very successfully in the IPv6 hours at NANOG 42, APRICOT 2008 and this week’s IETF 71. I wanted to see if I could get IPv6 connectivity to my laptop despite not having a unique address to terminate a tunnel. I did and it took me less than five minutes.

If your ISP doesn’t provide a native IPv6 service you can get an IPv6 tunnel from an ISP that provides IPv6 tunnels. An IPv6 tunnel is just a way of putting IPv6 packets inside IPv4 packets for the IPv4 portion of the journey over the Internet. I can’t use the popular 6to4 tunnelling method because they can only run between two hosts with unique addresses and I don’t have a unique address on my home network.

Fortunately, Teredo (also known as Miredo) lets me tunnel IPv6 packets past my NAT, giving me what the IETF have called “IPv6 access of last resort”. Windows Vista computers have Teredo support built in but my OS X machine does not. But just 30 seconds with a search engine showed me that “deep darc” has published an implementation of Miredo for OS X. In less than a minute it was downloaded and installed.

Miredo for OS X

There was no need to change any of the settings because the defaults worked fine. On visiting the IANA web site I saw that my browser was using IPv6 (see image at the top).

IANA Web Site via IPv6

Teredo/Miredo will give the users of NATed connections access to unique IPv6 addresses, making it easier for them to use any services blocked by NATs in their ISP’s network.


    Domain Name System
    Internationalized Domain Name ,IDN,"IDNs are domain names that include characters used in the local representation of languages that are not written with the twenty-six letters of the basic Latin alphabet ""a-z"". An IDN can contain Latin letters with diacritical marks, as required by many European languages, or may consist of characters from non-Latin scripts such as Arabic or Chinese. Many languages also use other types of digits than the European ""0-9"". The basic Latin alphabet together with the European-Arabic digits are, for the purpose of domain names, termed ""ASCII characters"" (ASCII = American Standard Code for Information Interchange). These are also included in the broader range of ""Unicode characters"" that provides the basis for IDNs. The ""hostname rule"" requires that all domain names of the type under consideration here are stored in the DNS using only the ASCII characters listed above, with the one further addition of the hyphen ""-"". The Unicode form of an IDN therefore requires special encoding before it is entered into the DNS. The following terminology is used when distinguishing between these forms: A domain name consists of a series of ""labels"" (separated by ""dots""). The ASCII form of an IDN label is termed an ""A-label"". All operations defined in the DNS protocol use A-labels exclusively. The Unicode form, which a user expects to be displayed, is termed a ""U-label"". The difference may be illustrated with the Hindi word for ""test"" — परीका — appearing here as a U-label would (in the Devanagari script). A special form of ""ASCII compatible encoding"" (abbreviated ACE) is applied to this to produce the corresponding A-label: xn--11b5bs1di. A domain name that only includes ASCII letters, digits, and hyphens is termed an ""LDH label"". Although the definitions of A-labels and LDH-labels overlap, a name consisting exclusively of LDH labels, such as"""" is not an IDN."