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.
This is the stuff that you have to have in order to get your Linux box running IPv6 over the 6bone.
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.
The base of the NET-3 Linux distribution, this package contains ifconfig, hostname, route, arp, rarp, netstat, and ipfw.
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 is the Router ADVertisement Daemon. It is used for autoconfiguration by IPv6 hosts. More info is available here.
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.
This is stuff that you don't need, but that's real handy to have.
A sample script that shows how to bring up IPv6 support on your machine.
fdsniff, fingerd, and netd (inetd/tcp_wrappers replacement) written from scratch to support IPv6.
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.
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.
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.