Section 12.1. Linux

12.1. Linux

There are a number of different Linux distributions on the market, all based on the same kernel and identified by its version number. The Linux kernel has supported IPv6 since version 2.2.x.

For the most actual kernel consult the homepage of your distributor or have a look at

12.1.1. Where to Get Linux

Most of the common Linux distributions can be downloaded from the Internet, but they can also be purchased from the sales channels of their respective makers, including CDs and manuals. It is usually advisable to buy a distribution because you will have the manual in printed form, and if you download it, the files are rather big (about 200 MB-2.5 GB).

Find more information about the Linux standard and the different available implementations at For a complete list of different distributions, consult For an IPv6-specific Linux site, refer to

12.1.2. Installation

I used SuSE Linux Version 9. SuSE Linux 9.1 ships with kernel Version 2.6. The installation is very easy, and an assistant will guide you through all the steps. The IPv6 protocol stack will automatically be enabled in addition to the IPv4 stack. The current inet daemon supports IPv6 and is responsible for all networking tasks, such as FTP, telnet, or finger. If you install the web server Apache2, it will communicate both IPv6 and IPv4 without any further configuration.

After the base installation, I had a Linux host communicating over IPv4 and IPv6.

12.1.3. Utilities

There are two packages that you need to download and install to get the cool utilities for Linux. One of them is net-tools. This package contains utilities such as ifconfig, netstat, route, and hostname. Another package you'll need is called iputils, which can usually be found on your distribution CD. It contains ping6, tracepath6, and traceroute6. If you can't find these tools on your system, use YaST on SuSE or apt in the Debian Distribution.

For further information on how to install the utilities, configure your IPv6 stack, or compile source code, go to This is a great site where you also find a lot of useful information about Linux and protocols. If you need the most current packages for net-tools, go to

Following is a short description of some of the utilities that can be helpful when working with IPv6. As you probably know, the online help for all Linux utilities is very detailed, and there are two ways you can access it:


The manpages can be accessed by entering man utilityname, where utilityname is the name of the utility about which you want information. The manpages contain all information about available options and detailed descriptions.

Help screens

Help screens can be accessed by entering the utility name with the parameter help. To get the information for ifconfig, enter ifconfighelp. This screen is like a short version of the manpages.

The following utilities are interesting and new for IPv6:


This tool is used for general network configuration of the Linux box. If you are using SuSE 9, the installed inetd supports IPv6. Using the address flag [address family] lets you switch between IPv4 (inet) and IPv6 (inet6) address families. You can use ifconfig to start and stop the interface and to view many different kinds of statistics.


The netstat version on your Linux box after the installation supports IPv6. However, by installing net-tools, you get the most current version. The netstat tool provides a lot of useful options and statistics, such as port information, routing table, and interface table. For all IPv6-related information, you need the inet6 flag. As an example, use netstat -lnptu | grep "httpd2\W*$" to find out on which ports and addresses Apache2 is listening.


If you enter route without any parameters, it displays the routing table for IPv4. For viewing the IPv6 routing table, add the flag inet6.

ping6, traceroute6, tracepath6, hostname

Most of the utilities for IPv6 are similar to the utilities that we know from IPv4. Instead of using ping or traceroute, I now use ping6 or traceroute6. Refer to the manpages for details. Instead of using traceroute6, try tracepath6. It not only displays the path, but also includes MTU information.


If you want to have more functionality related to IPv6, install the iproute2 package. It includes the command ip. With ip, you can display and change the neighbor cache, set static IPv6 addresses, configure routes and tunnels, and much more. To perform IPv6 commands, use the flag -6 or -family inet6. As an example, use ip -6 neigh show to locate your IPv6 neighbors or ip -6 addr add 2001:DB8::202:B3FF:FE1E:8329/64 dev eth0 to assign a static IPv6 address.


This is a well-known and advanced console tool for packet analysis. For IPv6 filtering, use the flags proto ip6, or if you want to trace only IPv6 hosts, try ip6 host hostname. Check the manpages to learn more about this powerful tool.

IPv6 Essentials
IPv6 Essentials
ISBN: 0596100582
EAN: 2147483647
Year: 2004
Pages: 156
Authors: Silvia Hagen

Similar book on Amazon © 2008-2017.
If you may any questions please contact us: