Stage 1: IPv6-capable PCs

Kernel Configuration:

Installation of Required Software:

Thanks to Peter Bieringer ( for having provided much of this information in his excellent IPv6 HowTo.

    Supplies:  hostname, netstat, arp, ifconfig, rarp, route

    Supplies:  arping, clockdiff, ping6, rdisc, tracepath, tracepath6, traceroute6

    If you are using RedHat 6.2, you can skip this

    Supplies:  finger, fingerd, inetd, ping, ping6, telnet, telnetd and IPv4 only ruptime, rwho, rwhod

    Supplies:  xinetd (inetd replacement), itox (converts inetd.conf)

    Supplies:  libpcap.a  (packet capture library; needed by tcpdump)

    Supplies: tcpdump (packet capture utility)

Apache: patch at
    Supplies:  httpd (Apache Web Server)

    Supplies: Chimera (an IPv6-compatible web browser)

        Don't bother trying to compile from the source; the Makefile will need a number of changes to work.
        Instead, settle for the RPM:

Basic configuration:

/etc/protocols:  Append new lines with IPv6 protocol numbers if they are not there:

       ipv6       41 IPv6       # IPv6
       ipv6-route 43 IPv6-Route # Routing Header for IPv6
       ipv6-frag  44 IPv6-Frag  # Fragment Header for IPv6
       ipv6-crypt 50 IPv6-Crypt # Encryption Header for IPv6
       ipv6-auth  51 IPv6-Auth  # Authentication Header for IPv6
       ipv6-icmp  58 IPv6-ICMP  icmpv6 icmp6   # ICMP for IPv6
       ipv6-nonxt 59 IPv6-NoNxt # No Next Header for IPv6
       ipv6-opts  60 IPv6-Opts  # Destination Options for IPv6

/etc/hosts:  Append new lines with special IPv6 addresses if they are not there:

       ::1     ip6-localhost ip6-loopback
       fe00::0 ip6-localnet
       ff00::0 ip6-mcastprefix
       ff02::1 ip6-allnodes
       ff02::2 ip6-allrouters
       ff02::3 ip6-allhosts

Configuring xinetd:

/etc/xinetd.conf must be edited to support the currently installed daemons, if it doesn't already. Look in xinetd/sample.conf for a sample config. Specifically, the paths to your servers are most likely wrong. For example:


should be:


...and so on.

Now you will need to start the daemon. First, make sure you have no active connections through inetd, and then:

        # killall inetd
        # xinetd

After a moment, xinetd will return you to the shell and it will be running in the background. Look at /var/log/messages to see if there were any errors. You will need to kill inetd and start xinetd manually every time you boot now unless you change your init scripts and rc files to do this for you.

Check that the services are running. Look at the output of the following command for lines with ":::<well-known port>":

        # netstat -A inet6 -anp

Now test the server by doing a telnet localhost. You may also need to edit your /etc/hosts.allow and /etc/hosts.deny files if it doesn't work (ie. if you get a "connection refused").