IPv6 with LFS

Robert Connolly robert at linuxfromscratch.org
Sun May 27 10:11:40 PDT 2007

# IPv6 hint - May 27th 2007
# Robert Connolly

# You will need these kernel modules built, and loaded, before building the
# client program. If you build these as modules, and didn't have IPv6
# previously built as a module, you will need to reboot the new kernel to
# be able to load the IPv6 module:

# In Networking -> Networking options:

	CONFIG_IPV6 (/proc/sys/net/ipv6)
	CONFIG_IPV6_SIT (/proc/net/dev_snmp6/sit0, sit0 ethernet device)

# In Device Drivers -> Network device support:

	CONFIG_TUN (/proc/net/dev_snmp6/tun, /dev/net/tun, tun ethernet device)

# I don't like the freenet6 client, but the others are worse. If you find
# something else that's better, feel free to send me the installation
# instructions. Get the latest freenet6 client at:
# http://www.go6.net/
# http://www.go6.net/4105/download.asp

# A patch to use '/sbin/ip' for host/client type connections:
# http://www.linuxfromscratch.org/~robert/ipv6/gw6c-5_0-RELEASE-linux_sh.diff

# This package depends on OpenSSL. Iproute2, in LFS, has everything else we
# need.

# Warning: This package unpacks into the current directory.

mkdir gw6c-5_0-RELEASE &&
cd gw6c-5_0-RELEASE &&
tar xvf ../gw6c-5_0-RELEASE-src.tar.gz

# This client will create temporary files while negotiating with the IPv6
# server. By default they're written to the directory you started the client
# from. If you start the client from a boot script these will end up in /.
# The file name of the log file can be configured in the client's config file,
# but I'm changing it here to give a sane default. This will change the hard
# coded file names, the default file names in the config file, and the file
# names in the manual pages:

find . -type f -exec sed -e 's at tsp-last-server.txt@/tmp/&@' \
    -e 's at tsp-broker-list.txt@/tmp/&@' -e 's at gw6c.log@/var/log/&@' -i {} \;

# Then build the client:

cd tspc-advanced &&
make target=linux all

# The Makefile installs 'gw6c.conf', and 'gw6c.conf.sample', to ${bindir}, and
# makes all files executable (including man pages). So it's best to install by
# hand so permissions can be fixed. First the client program:

install -v -s bin/gw6c /sbin

# There is also a 'checktunnel.sh' script, but it doesn't do anything for me.
# Just use '/sbin/ip' instead.

# The config file may contain passwords, so it's best to make it readable only
# by root:

install -vd -m700 /etc/ipv6
install -v -m600 bin/gw6c.conf.sample /etc/ipv6/gw6c.conf

# The 'linux.sh' file wants to use '/sbin/ifconfig'. Apply the patch to use
# '/sbin/ip' instead:

patch -Np0 -i ../../gw6c-5_0-RELEASE-linux_sh.diff

# The 'template' directory is hard coded in the client. It must be
# 'gw6_dir/template', so the naming here is important:

install -vd -m700 /etc/ipv6/template
install -v -m600 template/linux.sh /etc/ipv6/template

# The man pages and docs:

install -v -m644 man/man5/gw6c.conf.5 /usr/share/man/man5
install -v -m644 man/man8/gw6c.8 /usr/share/man/man8

install -vd /usr/share/doc/gw6c-5_0
    ../*.pdf bin/gw6c.conf.sample /usr/share/doc/gw6c-5_0/

# Set up the config file to use the '/etc/ipv6/template':

sed -e 's at gw6_dir=.*@gw6_dir=/etc/ipv6@' -i /etc/ipv6/gw6c.conf

# You may want to increase the log rotation size. By default the log will be
# rotated when it reaches 32 kilobytes in size. Increase this to 1 megabytes
# with the following command. This option only gets used if you enable the use
# of a log file in the config file:

sed -e 's/log_rotation_size=32/log_rotation_size=1024/' -i /etc/ipv6/gw6c.conf

# Set up logging with the 'log_*' options in the config file. To use the log
# file exlusively, and with verbose logging, use this command:

sed -e 's/#log_file=/log_file=3/' -i /etc/ipv6/gw6c.conf

# And finally start the client:

/sbin/gw6c -f /etc/ipv6/gw6c.conf

# Test (assuming your name server supports IPv6):

ping6 ftp.netbsd.org

# This connection to freenet6 is anonymous by default. If you register you can
# get a static subnet of IP's.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.linuxfromscratch.org/pipermail/lfs-chat/attachments/20070527/14277494/attachment.sig>

More information about the lfs-chat mailing list