Previous Next Table of Contents

5. How do I get IPv6 on my Linux machine?

This section covers the installation of IPv6 software onto a Linux machine. It is aimed at the experienced Linux user - you may have to hack a Makefile, a header file or some source in order to get things to work. However, it assumes no IPv6-specific knowledge.

Under each package's name is a link to its home site (the place the authors put the newest version). Please see the next section, "Software Mirrors" for other places to download; going to a mirror first is always a good idea.

5.1 Absolutely criticial software

This is the stuff that you have to have in order to get your Linux box running IPv6 over the 6bone.

Linux kernel

The latest working IPv6-capable kernel. As of this writing, it's 2.1.27, but that may very well have changed by the time you read this.

net-tools

The base of the NET-3 Linux distribution, this package contains ifconfig, hostname, route, arp, rarp, netstat, and ipfw.

inet6-apps (ftp.inner.net:/pub/ipv6/)

This is available in both source and binary form. Although building your own binaries from source is always recommended, installing these binaries could be a heck of a lot easier. This package currently has

finger, fingerd, ftp, ftpd, gendata, inetd, ping, popd, sendmail, socktest, tcpdump, telnet, telnetd, tftp, tftpd, traceroute.

Note that you need to use an actual FTP client to get this package; a web browser won't work. That's why there's no hyperlink directly to them.

RADVD

RADVD is the Router ADVertisement Daemon. It is used for autoconfiguration by IPv6 hosts. More info is available here.

BIND

There are two reasons to have BIND installed - for the resolver library, and because it supports AAAA records. Some (most? all?) IPv6 applications won't compile without the resolver library, and having AAAA support is useful, although not absolutely critical.

5.2 Potentially useful software.

This is stuff that you don't need, but that's real handy to have.

rc.inet6 (ftp.inner.net:/pub/ipv6/)

A sample script that shows how to bring up IPv6 support on your machine.

inner-apps (ftp.inner.net:/pub/ipv6/)

fdsniff, fingerd, and netd (inetd/tcp_wrappers replacement) written from scratch to support IPv6.

lmbench

A network benchmarking program, lmbench is useful for, well, benchmarking networks. It's the program that lets you show your friends that your IPv6 Linux machine is faster than their IPv4 box (especially with that new socket hashing code, which should be in the kernel before not too long.

5.3 Software mirrors

This is a list of all the IPv6 soft ware mirror sites that I know of. Currently, there's no central organization that tracks all these mirrors - this means that some sites may have the latest versions of things, while some may not. The FAQ should always have pointers to the home sites of the most up-to-date software; it's probably a good idea to check the mirrors close to you first, and go to the home sites last.

United States Mirrors

South American Mirrors

European Mirrors

Austrailian Mirrors

5.4 Other Linux-specific info

A quick 6bone howto

The following is from Craig Metz.


In response to some questions I've been getting:

1. Install the latest working IPv6-capable kernel.
2. Install the latest net-tools kit from ftp.ul.pt
3. Install the latest inet6-apps kit from ftp.inner.net
4. Install the latest radvd from ftp.cityline.net
5. Compute your prefix using the algorithm in RFC 1897.
        Read the document carefully. If you don't know
        why to do otherwise, compute a 64-bit prefix.
6. Find your connection point. You want somewhere that
        is the topologically closest transit site that
        is clueful enough to be depended on.
7. Ask them to set you up a tunnel. You will need to
        provide them with your prefix (from step 5) and
        the IPv4 address of your IPv6 router.
8. Install the skeleton rc.inet6 from ftp.inner.net and
        fill in the appropriate blanks.
9. Make sure the tunnel moves bits (ping).
10. Ask your connection point to get routing set up for
        you.
11. Put an entry in the IPv6 routing registry on
        ftp.ripe.net.
12. Install BIND >4.9.5.
13. Set up an IPv6 forward DNS domain (I recommend you
        call it ipv6.foo.com, where foo.com is your
        normal IPv4 domain) with AAAA records.
14. Test the above on-site and off-site.
15. Set up an IPv6 reverse DNS domain.
16. Test the above on-site.
17. Request a reverse DNS delegation.
18. Test the above off-site.

While this sounds involved, it really isn't so difficult. It does
take a mostly-constant network connection, some clues, and some time.


Previous Next Table of Contents