Since starting writing the IPv6 & Linux - HowTo it was my intention to enable a persistent IPv6 configuration which catch most of the wished cases like host-only, router-only, dual-homed-host, router with second stub network, normal tunnels, 6to4 tunnels, and so on. Nowadays there exists a set of configuration and script files which do the job very well (never heard about real problems, but I don't know how many use the set). Because this configuration and script files are extended from time to time, they got their own homepage: initscripts-ipv6 homepage (Mirror). Because I began my IPv6 experience using a Red Hat Linux 5.0 clone, my IPv6 development systems are mostly Red Hat Linux based now, it's kind a logic that the scripts are developed for this kind of distribution (so called historic issue). Also it was very easy to extend some configuration files, create new ones and create some simple hook for calling IPv6 setup during IPv4 setup.
Fortunately, in Red Hat Linux since 7.1 a snapshot of my IPv6 scripts is included, this was and is still further on assisted by Pekka Savola.
Mandrake since version 8.0 also includes an IPv6-enabled initscript package, but a minor bug still prevents usage (”ifconfig” misses ”inet6” before ”add”).
You can test, whether your Linux distribution contain support for persistent IPv6 configuration using my set. Following script library should exist:
/etc/sysconfig/network-scripts/network-functions-ipv6
Auto-magically test:
# test -f /etc/sysconfig/network-scripts/network-functions-ipv6 && echo "Main ¬ IPv6 script library exists"
The version of the library is important if you miss some features. You can get it executing following (or easier look at the top of the file):
# source /etc/sysconfig/network-scripts/network-functions-ipv6 && ¬ getversion_ipv6_functions 20011124
In shown example, the used version is 20011124. Check this against latest information on initscripts-ipv6 homepage (Mirror) to see what has been changed. You will find there also a change-log.
Check whether running system has already IPv6 module loaded
# modprobe -c | grep net-pf-10 alias net-pf-10 off
If result is ”off”, then enable IPv6 networking by editing /etc/sysconfig/network, add following new line
NETWORKING_IPV6=yes
Reboot or restart networking using
# service network restart
Now IPv6 module should be loaded
# modprobe -c | grep ipv6 alias net-pf-10 ipv6
If your system is on a link which provides router advertisement, autoconfiguration will be done automatically. For more information which settings are supported see /usr/share/doc/initscripts-$version/sysconfig.txt.