The Great Big WLUG Guide to IPv6

What is IPv6?

IPv6 is an Acronym for Version 6 of the InternetProtocol. It is the next version from IPv4 (technically, IPv4 was the first production version. To paraphrase, to pick the replacement, there were four versions proposed, numbered 5 -> 8; 6 was the one that they picked.) It is sometimes known as IPng (IP Next Generation).

Why do I want to use it?

IPv4, with its 32 bit address space, has 232 addresses (4,294,967,296). While that sounds like a lot, remember that there are more people than that on the planet, and various allocation decisions seriously cut down the usefulness of those 4 billion addresses (for example, 1/256 of the space, 127/8, is reserved to refer to "My Local Machine"! 16.7 million addresses for localhost!)

IPv6 has more addresses. How many?

340,282,366,920,938,463,463,374,607,431,768,211,456 addresses

That's 2128. That’s more than 665,000,000,000,000,000,000,000 addresses per surface square metre on Earth. So, if you want your toaster to have a large block of IP addresses, you can! See IPv6Addressing for some information.

It also features funky new features such as different address scopes (LinkLocal, SiteLocal, GlobalScope), AnyCast, and MultiCast (and no more BroadCast). Site local has been recently deprecated and is to be replaced by ULA. IPSec is native to IPv6 (it's available to IPv4 as an add-on, but is kludgy.) Read about some of the mysterious IPv6Flags.

Unfortunately no one supports it yet. One day....

IPv6 on WLUG

  • If you use IPv6 to connect to this wiki, you will get an AnimatedPenguin instead of the normal WLUG logo in the top right corner.
  • We have a couple of aliases that are useful for testing:

    • only has an IPv4 A record.
    • only has an IPv6 AAAA record.
  • For information about stting up IPv6 on the MetaNet, see MetaNetIPv6.
  • See our IPv6LessonsLearnt for some general hints about random things we've learnt while playing with IPv6. IPv6Errors describes some error messages you might encounter when using IPv6 on Linux.

Getting IPv6

There are three methods; get a native allocation of IPv6 addresses from your Internet provider (uncommon; especially in New Zealand), get a tunnel from a tunnel broker, or use IPv6's built IPv4 compatibility. See IPv6Setup and 6to4.

Read Linux Reviews on why you want IPv6 now. The article includes many tunnel sites to try it out now.

IPv6 in the DNS

The average IPv6 address is represented as something like "fedc:ba98:7654:3210:fedc:ba98:7654:3210". If you know a couple of IPv4 addresses off the top of your head, you will really want to think about making DNS work for you come IPv6 deployment! Thankfully DNS supports IPv6 addresses; there are two types of ResourceRecord, AAAA and A6. See AAAAvsA6 for details about the differences.

If you want to do reverse lookups (that is, find the name if you already have an address), make sure your host command supports IPv6. On DebianLinux, install the bind9-host package instead of the old host package. For Gentoo, install net-dns/bind-tools instead of the net-misc/host port.

See Also: IPv6Notes