IPV6 HE Tunnel Configuration

Go to Hurricane Electric, log in and click on Create Regular Tunnel.

Enter the ipv4 address provided by ISP and select a nearby tunnel server. Click on Create Tunnel and if everything checks out, HE will create an ipv6 tunnel terminating at the router.

OS Configuration

HE provides sample code to connect to the tunnel - select the Debian/Ubuntu example. Put this code in /etc/network/interfaces where it will be called when the OS brings up the network. NB when port-forwarding it is necessary to change the ipv4 endpoint to the local ipv4 address of the host e.g. 192.168.x.x.

Give the host an ipv6 address from the routed subnet assigned by HE, e.g.

iface eth0 inet6 static
  address <ROUTED_PREFIX>::1
  netmask 64
  up ip -6 addr add <ULA PREFIX>::1/64 dev eth0

Install and set up radvd to provide stateless autoconfiguration of ipv6 addresses. A simple configuration might be:

interface eth0
{
    AdvSendAdvert on;
    AdvHomeAgentFlag off;
    MinRtrAdvInterval 30;
    MaxRtrAdvInterval 100;
    prefix <ROUTED_PREFIX>::/64
    {
        AdvOnLink on;
        AdvAutonomous on;
        AdvRouterAddr on;
        AdvValidLifetime 3600;
        AdvPreferredLifetime 3600;
    };
};

Set up a firewall using nftables. Commands are the same as the normal iptables.

Enable forwarding by uncommenting the line in /etc/sysctl/conf:

net.ipv6.conf.all.forwarding=1

If using a VM, make sure that any intervening firewalls allow the tunneled data and ipv6 subnets through.

Reboot the host/VM for changes to take effect.