IPv6 on Karmic Koala

Ubuntu version prior to Karmic Koala use tspc to create an IPv6 tunnel. In Karmic this has been replaced with gw6c, and the configuration file is similar but not exactly the same. For reference, here is my /etc/gw6c/gw6c.conf which uses the Aarnet tunnel broker in Australia.

This is mostly the sample configuration file:

userid=dparrish
passwd=********
server=broker.aarnet.net.au
auth_method=any
host_type=router
if_tunnel_v6v4=sit1
if_tunnel_v6udpv4=tun0
if_tunnel_v4v6=
prefixlen=64
if_prefix=eth0
auto_retry_connect=yes
retry_delay=30
retry_delay_max=300
keepalive=yes
keepalive_interval=30
tunnel_mode=v6anyv4
client_v4=auto
client_v6=auto
template=linux
proxy_client=no
broker_list=/var/lib/gw6c/tsp-broker-list.txt
last_server=/var/lib/gw6c/tsp-last-server.txt
always_use_same_server=no
log_stderr=0
log_file=2
log_filename=/var/log/gw6c/gw6c.log
log_rotation=yes
log_rotation_size=32
log_rotation_delete=no
syslog_facility=USER

After you have saved this file, run service gw6c restart to start the daemon. You can then check for your new IPv6 address using ip addr ls tun0.

If you want to enable firewalling on this tunnel (HIGHLY RECOMMENDED), you can use the following two files:

  • linux.sh - Copy to /usr/share/gw6c/template/linux.sh and chmod 755
  • firewall.sh - Copy to /etc/gw6c/firewall.sh and chmod 755

You should also edit firewall.sh to allow/disallow what you want. By default, this script allows ssh in to any machines behind your router, and any packets out from internal machines.

EDIT: If gw6c fails to start and doesn't give any useful information at all, try copying /usr/share/gw6c/template/linux.sh to /var/lib/gw6c/template/linux.sh.