Simple IPv6 HOWTO

Wichert Akkerman

wichert@deephackmode.org
    


Table of Contents
1. Introduction
2. IPv6 stateless address auto-configuration
2.1. Configuring the Router Advertisement Daemon
2.2. Configuring zebra prefix advertisement
3. Setting up IPv6 DNS
4. Common problems
5. Tunnel brokers
IPv6 references

This document describes how to connect your machine to the IPv6 infrastructure.


1. Introduction

The Internet Protocol has been in in use for a few decades now, but its current version (4) has a few problems that warranted a revision, which became IPv6. IPv6 support is rapidly being added to both the network infrastructure and applications, but connecting to 6bone is still not trivial. This HOWTO describes how to connect to the 6bone, and setup your home network to be fully ipv6 enabled


2. IPv6 stateless address auto-configuration

One interesting feature of IPv6 is auto-configuration. This allow a machine to connect to a IPv6 network and automatically be assigned an address and given a gateway without having to use a (stateful) method like DHCP.

The exact details of this process are described in RFC2462

The auto-configuration process works as follows:

Linux enables IPv6 auto-configuration by default, so you will only need to setup the router. There are two ways of doing those: using radvd or zebra


3. Setting up IPv6 DNS

Now that we have our machine(s) connected to the 6bone the next step is to setup DNS entries for them so we can connect to them using names instead of memorising 128-bit numbers.

RFC1886 defines extensions to the Domain Name System to add support for IPv6 addresses. There are two extensions that concern us:

The AAAA record works exactly like the IPv4 A record. The address has to be specified using the standard RFC1884 notation.

Address lookups are doing using a system similar to IPv4 address lookups. RFC1884 uses domain ip6.int, but this is being transitioned to ip6.arpa. At this moment it's preferable to supply both zones.

IPv6 addresses have to be written as a sequence of (hex) nibbles separated by dots. The nibbles are listed in reverse order. This makes it easy to delegate addresses at nibble boundaries. As an example, the IPv6 address 2001:6E0:20A:117:290:27FF:FE2D:968C would be written as c.8.6.9.d.2.e.f.f.f.7.2.0.9.2.0.7.1.1.0.a.0.2.0.0.e.6.0.1.0.0.2.ip6.int . The following example shows a entry for the 2001:6E0:20A:117:290:27FF:FE2D:968C address, which is part of the 2001:6E0:20A:110::/60 zone.


4. Common problems

During or after enabling IPv6 on your machine(s) some things will probably break. This chapter lists a few of the common problems and their solutions.


5. Tunnel brokers

Since the IPv6 infrastructure is mostly built using tunnels over the current IPv4 infrastructure most people connect using tunnel brokers. These allow nodes with a IPv4 connection to connect to the 6bone using a tunnel.

There are a number of different free tunnel brokers that can be used. This is just a small list of some of them.


IPv6 references

[zebra] Kunihiro Ishiguro, Toshiaki Takada, and Yasuhiro Ohara, 1996-1999, GNU Zebra documentation.

[RFC1884] R. Hinden and S. Deering, 1995, IP version 6 addressing architecture.

[RFC1886] S. Thomson and C. Huitema, 1995, DNS Extensions to support IP version 6.

[RFC2463] S. Thomson and T. Narten, 1998, IPv6 Stateless Address Autoconfiguration.

[ngtrans-broker-05] Alain Durand, Paolo Fasano, and Domenico Lento, 2000, IPv6 Tunnel broker, draft-ietf-ngtrans-broker-05.