Introduction

IPv6 (Internet Protocol Version 6) is the successor, respectively the replacement, of the current version Internet Protocol, IPv4. The main problem using IPv4 is the growing shortage of IPv4 Addresses caused by the growing number of machines added to the internet.

IPv6 fixes a number of problems in IPv4, such as the limited number of available IPv4 addresses. It also adds many improvements to IPv4 in areas such as routing and network autoconfiguration. IPv6 is expected to gradually replace IPv4, with the two coexisting for a number of years during a transition period.

For this reason ePages supports IPv6 in version 6.0.6 and higher.

Requirements

  • ePages 6.0.6 or higher

  • License containing IPv6 address

  • Linux kernel 2.6 or higher

Prerequisites

  • Check if the network interface supports IPv6:

    ip -6 addr show

    If command returns nothing or an error occurs, ask your system administrator to add the IPv6 network interface (ip -6 addr add …).

  • Check if the firewall allows IPv6 connections:

    PATH=$PATH:/usr/sbin:/sbin iptables -L

    If not, ask your system administrator to change the firewall settings.

  • If you use your own web server (not the web server that comes with ePages) and you want to use IPv6 for the web server, check the Listen directive in the configuration file (usually httpd.conf). Use Listen 80 (or other port), not Listen 0.0.0.0:80 (then only IPv4 is supported).

IPv6 Activation

Activate IPv6 either in the setup process or after the setup process.

IPv6 Activation in Setup

This section shows how to IPv6 during the setup.

Enable IPv6 by customizing your install.cnf file prior the installation process. You can skip the section "Post Installation" then.

  • The installation is defined in "install.cnf".

  • Append either ":ip6" to the hostname entry (the hostname has to be resolvable to an IPv6 address) or use an IPv6 address directly.

  • If IPv6 doesn’t work on this machine the installation starts using IPv4.

  • If <hostname>:ip6 doesn’t resolve to an IPv6 address the installation routine will try to get an IPv4 address for that hostname and use that one.

  • If that fails too the address ::1 will be used.

IPv6 Activation After Setup

Environment Variables

Set EPAGES_ENABLE_IPv6=1. The environment variable LOCAL_IPS must contain the IPv6 address or the hostname (whether you use IPv6 addresses or hostnames in Webinterface.conf) if IP_BINDING is set.

  • Add line "export EPAGES_ENABLE_IPv6=1" to the configuration file "/etc/default/epages6".

  • Change EPAGES_IPLIST in "/etc/default/epages6" if necessary.

If EPAGES_ENABLE_IPv6 is unset or 0, application server and request router only support IPv4. In this case, if application server or request router are configured to IPv6 in WebInterface.conf, errors will occur.

Host Names and Addresses

If a host name is resolved to both IPv4 and IPv6, then the IPv6 address is used if EPAGES_ENABLE_IPv6=1, otherwise the IPv4 address.

In Linux, "localhost" is resolved to 127.0.0.1 and "ipv6-localhost" is resolved to ::1.

If IP binding isn’t used, a server can be connected with IPv6 and IPv4 clients if the server is set to IPv6 and has an IPv4 address too.

WebInterface.conf

All IPv4 addresses can be replaced by IPv6 addresses or relevant host names. The hostname must be short (without ".") or the result of the command hostname --fqdn.

In section "URLRewrite", line ExceptionHost, an IPv6 address has to be added in squared brackets, e.g.:

[URLRewrite]
ExceptionHost=shop.domain.ex [2001:4bd8:2:2:213:d3ff:fe62:f1f0]

When using IP-Masks the part of the IP following the wildcard ("*") will be truncated and is considered as the beginning of the IP to be tested. IPv6 masks must be written in short form, i.e.:

  • Left-hand zeros have to be written

  • Zero blocks have to be shorten to ::

In case of a mixed IPv4/IPv6 communication beside the IPv4 mask the IPv4 mask in IPv6 notation must also exist, e.g. ::ffff:172.20.24.*.

If you use host names in WebInterface.conf, the corresponding IP entry or IP mask must also exit.

Host masks as follows are not allowed: [*.epages.de]

epages.conf

IPv6 addresses can be entered in addition to IPv4 addresses and domain names.

Start ePages with IPv6

After starting ePages, check if the services run with IPv6:

netstat -tulpn

If the web server runs with IPv6, you can use the IPv6 address in square brackets in the URL, e.g.:

http://[2001:4bd8:2:2:2e0:7dff:fe76:8613]:80/WebRoot/WebAdapterError.html