Start | Previous | Next IPv6 Main | General | Overview | Basic Softw | Important App | Additional App | Network Conf | Changes+Testing | Obsolete | Firewalling

IPv6 & Linux - HowTo - Part 4

Version: 3.23q from 2002-11-14


(P) & (C) 1997-2002 by Peter Bieringer <[email protected]>, see copyright notice for more details
Original site of publishing: http://www.bieringer.de/linux/IPv6/ ; suggestions, comments and improvements are welcome!

Additional Applications

If you miss hint for the old inet6-apps based stuff, please goto Obsoletes
This section is now in building progress again, using glibc-2.1 based software...growing slowly (depending on given time)
For quickstart, look at given URLs on the status page

Contents



apache|apache2 (HTTP server)

Why?

apache is a widely used HTTP server

URLs:

By me tested version and filename:

Contents:

After rebuild a complete apache package

Rebuilding of packet, installation

Configuration

Be sure to enable only the really needed modules in /etc/httpd/conf/httpd.conf . Each more module can be a potential security hole. For normal run, only following modules are needed:
config_log_module, agent_log_module, referer_log_module, mime_module, negotiation_module, includes_module, autoindex_module,  dir_module, alias_module, access_module, auth_module, setenvif_module
Here is an example of a configuration shown for an IPv6 only listening virtual webserver:
<VirtualHost 3ffe:400:100::1>
    ServerAdmin     [email protected]
    ServerName      www.ipv6.bieringer.de
    DocumentRoot    /somewhere/pub
    CustomLog       "/somewhere/logs/www.ipv6.bieringer.de-log"  combined
    ErrorLog        "/somewhere/logs/www.ipv6.bieringer.de-error"

    <Directory "/somewhere/pub">
        AllowOverride AuthConfig Limit
        Options None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

thttpd (HTTP server)

Section outdated!

Why?

thttpd is a native IPv6 supporting HTTP server (not fullfeatured like apache, but has native IPv6 support and can be configured to be very secure!)

URLs:

By me latest tested version and filename:

Sure old and unsecure, so please use latest available version!
http://www.acme.com/software/thttpd/thttpd-2.20.tar.gz

Contents:

Application Path Description
thttpd /usr/local/sbin/thttpd HTTP server

Unpacking, configuration and installation

Similar to other software packages described here
Source package contains configure, therefore no special hints are needed.
See included INSTALL and README for details See online manpage for further details.

Hints:


Squid (HTTP proxy)

Why?

Nowadays most modern browsers like mozilla, konqueror or netscape6 already allow IPv6 connections on IPv6 enabled systems. Unfortunately using a proxy (e.g. for filtering issues) they cannot decide between IPv4 or IPv6 connections. Therefore an IPv6 enabled proxy is needed.

Good news: the Squid developers have already IPv6 enabled the current developer version 2.5

ToDo

Distribution RHL 6.2 RHL 7.1 RHL 7.2 RHL 7.3
ToDo not recommended
update to RHL 7.3 first
not tested
update to RHL 7.3 first
compiling and install
CVS version 20011113
now outdated
update to RHL 7.3 first
compiling and install
CVS version 20021114

URLs:

By me tested version:

Requires:

Source: get from CVS

  1. Create a CVS directory
  2. Log into CVS server
  3. Get current tagged version (IPv6 enabled squid)
  4. Create tar-ball for backup and RPM issues

Tar-Ball: Unpacking, compilation and installation

  1. Move into the source directory, create a main directory and change into it
  2. Unpack the new source:
  3. Move into the source directory:
  4. Patch bootstrap.sh file for usage with automake-1.5 on RHL 7.3
  5. Run bootstrap
  6. Configure the compile options:
  7. Now compile:
  8. And install:

RPM: build an IPv6 enabled squid-RPM from CVS

Note: squid developers don't want to see any squid RPM from CVS source in the wild - therefore keep source and binary packages private - please!
cvs20011113 (outdated)
  1. Copy CVS tar-ball to /usr/src/distribution/SOURCES/
  2. Copy additional patches given at ftp://ftp.bieringer.de/pub/linux/IPv6/squid/ also to /usr/src/distribution/SOURCES/
  3. Copy spec file given at ftp://ftp.bieringer.de/pub/linux/IPv6/squid/ to /usr/src/distribution/SPECS/
  4. Build source and binary packages
  5. Install package
cvs20021114
  1. Install RHL 7.3 squid source RPM (from RHL updates)
  2. Copy CVS tar-ball
  3. Copy additional patches given at ftp://ftp.bieringer.de/pub/linux/IPv6/squid/ also
  4. Copy spec file given at ftp://ftp.bieringer.de/pub/linux/IPv6/squid/ 
  5. Build binary package
  6. Install package (probably as root)
See configuration issues below now before starting, this adaptions still not done by building process (too lazy...).

Configuration issues

You have to adjust IPv4 only addresses to IPv6 ones like

mozilla (HTTP client/browser)

Why?

mozilla is a native IPv6 supporting HTTP browser

ToDo

Distribution RHL 6.2 RHL 7.1, 7.2 RHL 7.3, 8.0
ToDo install newest available binary update to RHL 7.3 install from distribution/updates

URLs:

By me tested version and filename:

mozilla-1.0.1-2.7.3 from RHL 7.3

Known issues:

The automatic proxy configuration script doesn't take care of IPv6 addresses, so in case of using a local proxy for remote IPv4 hosts, this proxy is also used for remote IPv6 hosts. There is no switch available like "do not use proxy for IPv6 connection", therefore you have to enable your proxy for IPv6 or disable proxy usage completly or per URL.

Contents:

If you build a new version from source:

Application Path Description
mozilla /opt/mozilla HTTP browser

Unpacking, configuration and installation

Perhaps additional needed RPM packages for compiling: glib-devel, gtk+-devel, ORBit-devel
If "configure" informed you that there are missing also other things, try my utility rpmfsu to find the relating RPM package.

Similar to other software packages described here
Source package contains configure, therefore no special hints are needed.
See included INSTALL and README for details

Hint: for compiling this tarball, you need about 1.3 GByte disk space (and in my case don't run afterwards).

But don't be worry, the available binary tarball is already IPv6 enabled. Unpack the binary package somewhere and run "mozilla" in the binary directory.

  1. Change to directory /opt
  2. Unpack tarball
  3. Rename created directory
  4. Run mozilla
A list of sites for testing IPv6 HTTP transport is available at IPv6.org: http://www.ipv6.org/v6-www.html
You can also try my server at home, perhaps I'm online, dynamic tunnel is up and my IPv6 only webserver is running: http://gate.muc.ipv6.bieringer.de/


SMTP server Postfix

IPv6 extension is currently maintained by Dean Strik <dean at ipnet6 dot org>

Why?

Postfix isn't IPv6-enabled out of the box

ToDo

Distribution RHL 6.2 RHL 7.1, 7.2 RHL 7.3, 8.0
ToDo untested update to RHL 7.3 see now

URLs:

Version and filename of the packet:

Latest version I have tested is postfix 1.1.11 snapshot 20021029 with IPv6+TLS tls+ipv6-1.7pre3-pf-1.1.11-20021029.patch (soon without pre available)

Package: Rebuilding and installation

  1. Get files
  2. Change to your favorite package rebuild user (optional, but recommended)
  3. Install source rpm
  4. Copy latest snapshot tarball into %_topdir/SOURCES (%_topdir is ususally /usr/src/redhat)
  5. Copy TLS+IPv6 patch  into %_topdir/SOURCES
  6. Copy spec file into %_topdir/SPECS
  7. Build binary package
  8. Install/freshen package (postfix-1.1.11.20021029-5.7.3.AERAsec.6.i386.rpm)

Check


Router ADVertisement Daemon

Maintained by Nathan Lutchansky <lutchann at litech dot org> and Pekka Savola <pekkas at netcore dot fi>

Why?

If you want to test IPv6 subnet autoconfiguration initialized by Linux routers therefore you need the router advertisement daemon.

ToDo

Distribution RHL 6.2 RHL 7.1, 7.2 RHL 7.3, 8.0
ToDo rebuild SRPMS update to RHL 7.3 install from distribution

URLs:

Version and filename of the packet:

Latest version I have tested is 0.7.1-1 from RHL 7.3

Additional information:

  • The version distributed with RH 7.1 powertools has a bug in the startup script:
  • Contents:

    Application Path Description
    radvd /usr/sbin/radvd Router advertisement daemon
    radvdump /usr/sbin/radvdump Router advertisement dump (debug)

    Package: Rebuilding and installation

    1. Rebuild package
    2. Install package

    Tar-Ball: Unpacking, compilation and installation (last review on 0.7.0)

    1. Unpack the source:
    2. Move into the source directory:
    3. Configure the compile options:
    4. Now compile:
    5. And install:
    6. Copy the radvd.conf sample into the config directory:
    7. Install the startup script file, an example you can get here /etc/rc.d/init.d/radvd or from the redhat subdirectory of the source tree
    8. Check given values in the startup script file /etc/rc.d/init.d/radvd

    General: Configuring and starting

    1. Set proper values by editing the config file /etc/radvd.conf . See the manual pages for information on configuration directives.
    2. Try starting
    3. If ok, take a look into the syslog (where radvd normally logs events)

    Secure SHell (OpenSSH)

    IPv6-enabled by the maintainers

    Why?

    The original ssh can't handle IPv6 addresses and can't be used in a mixed environment. So a ported version is needed.

    ToDo

    Distribution RHL 6.2 RHL 7.1, 7.2 RHL 7.2
    ToDo rebuild SRPMS update to 7.3 install from distribution

    URLs

    Additional information:

    Because of a major security issue, you should update to versions 3.1 (backpatched) or up from 3.4 immediately!

    Version and filename of the packet:

    Latest version I've tested for IPv6 is 3.1p1-6 from RHL 7.3

    Installation:

    Configuration:

    1. For enabling option to bind on IPv6 port edit the configuration file: /etc/ssh/sshd_config
    2. Add "-6" in startup script to enable IPv6: /etc/rc.d/init.d/sshd

    Usage:


    PPP

    IPv6-enabled by the maintainers

    Why?

    The original ppp binary package distributed by Red Hat isn't IPv6 enabled.

    ToDo

    First, test your installed pppd, perhaps it is already IPv6 enabled: strings `which pppd` | grep ipv6 should show e.g. IPv6 options which are mentioned in the man page.
     
    Distribution RHL 6.2 RHL 7.1 RHL 7.2
    ToDo untested untested rebuild source RPM with IPv6 enabling patches

    URLs

    Version and filename of the packet:

    Latest version I've tested for IPv6 is 2.4.1-2 (IPv6-enabled rebuild on a RHL 7.2 system)

    IPv6 enabled rebuild and installation:

    Configuration and use:

    See scripts/current/  for details

    TTCP

    Section outdated, use Iperf instead.

    IPv6-ported some time ago by Marc Mosthav, minor glibc-2.1 fix by Peter Bieringer <pb at bieringer dot de>

    Why?

    It's for measuring the TCP network throughput from one host to another.
    The original software can't handle IPv6 addresses and can't be used in a mixed environment. So a ported version is needed.

    Version and filename of the packet:

    Current IPv6 enabled release is ttcp/ttcp+ipv6-2.tar.bz2

    Contents:

    Application Path
    ttcp6 /usr/local/bin/ttcp6

    Unpacking, configuration and installation

    1. Move into the source directory, create a main directory and change into it
    2. Unpack the new source:
    3. Move into the source directory:
    4. Now compile:
    5. And install:

    Usage:

    Try also ttcp6 {-?|-h} for more information.


    PTCP

    Section outdated, use Iperf instead.

    IPv6-ported some time ago by Marc Mosthav, minor glibc-2.1 fix by Peter Bieringer <pb at bieringer dot de>

    Why?

    It's for measuring the TCP network throughput by roundtrips.
    The original software can't handle IPv6 addresses and can't be used in a mixed environment. So a ported version is needed.

    Version and filename of the packet:

    Current IPv6 enabled release is  ftp://ftp.bieringer.de/pub/linux/IPv6/ptcp/ptcp+ipv6-2.tar.bz2

    Contents:

    Application Path
    ptcp6 /usr/local/bin/ptcp6

    Unpacking, configuration and installation

    1. Move into the source directory, create a main directory and change into it
    2. Unpack the new source:
    3. Move into the source directory:
    4. Now compile:
    5. And install:

    Usage:

    Try also ptcp6 {-?|-h} for more information.