Inhaltsverzeichnis

Ubuntu als IPv6-AYIYA-Tunnelgateway

Tunnel erwerben

Bei z.B. http://www.SixXS.net anmelden.
Tunnel (Request Tunnel; AYIYA) und Subnetz (Request Subnet) beantragen. Banale Begründung reicht z.B. „testing IPv6“.
Im Folgenden wird folgende Konfiguration angenommen:

IPv6 Tunnelendpunkt: 2001:db8:dead:a1::2/64
IPv6 Pefix:          2001:db8:b2c3::/48
IPv6 Pefix /64:      2001:db8:b2c3:1::/64
Username:            User-SIXXS
Password:            Password
Tunnel-ID:           T12345
Physische Interface: eth0

Hier wird aus dem /48 ein /64 „entnommen“ um nicht den gesammten Adressbereich zu verschwenden und noch weitere Netze zu Verfügung zu haben.

Tunnelverbindung herstellen

Via Terminal aiccu installieren:

sudo apt-get install aiccu

und den Anweisungen folgen.

Die aiccu.conf sollte dann im Wesentlichen wie folgt aussehen:

# Login information (defaults: none)
username User-SIXXS
password Password

# Protocol and server to use for setting up the tunnel (defaults: none)
protocol tic
server tic.sixxs.net

# Interface names to use (default: aiccu)
ipv6_interface sixxs

# The tunnel_id to use (default: none)
tunnel_id T12345

# Be verbose? (default: false)
verbose false

daemonize true

# Automatic Login and Tunnel activation?
automatic true

# Require TLS?
requiretls false

Der Tunnel kann nun durch

sudo /etc/init.d/aiccu start

aufgebaut werden. Das Tunnelinterface ist sixxs.

Routing konfigurieren

sudo echo 1 >/proc/sys/net/ipv6/conf/all/forwarding # enable forwarding
sudo ip -6 addr add 2001:db8:b2c3:1::1/64 dev eth0  # Adresse 2001:db8:b2c3:1::1/64 an Interface eth0 binden
sudo ip -6 route add 2001:db8:b2c3:1::/64 dev eth0  # Route für 2001:db8:b2c3:1::/64 über eth0
sudo ip -6 route add 2000::/3 dev sixxs             # Route für alle GUAs übers das Tunnelinterface "sixxs"

radvd konfigurieren

Möglicherweise ist der Router Advertisement Daemon (radvd) nicht von Anfang an dabei, dann

sudo apt-get install radvd

Der /etc/radvd.conf muss folgendes hinzugefügt werden:

interface eth0
{
	IgnoreIfMissing on;
	AdvSendAdvert on;
	MinRtrAdvInterval 30;
	MaxRtrAdvInterval 60;
	AdvCurHopLimit 255;
	AdvOtherConfigFlag off; # "on" wenn ein DHCPv6-Server verfügbar ist
#ULA Praefix
	prefix 2001:db8:b2c3:1::/64
	{
		AdvOnLink on;
		AdvAutonomous on;
		AdvRouterAddr off;
		AdvValidLifetime 1814400;
		AdvPreferredLifetime 604800;
	};
};

Dann muss der radvd mit

sudo /etc/init.d/radvd start

gestartet werden.

ein Startscript

Da die Einträge in der Routingtabelle sowie das binden der v6-Adresse an das Interface nicht von Dauer und nach einem Reboot Vergangenheit sind, macht es Sinn dies und das Starten von aiccu und radvd durch ein Shell-Script erledigen zu lassen:

#!/bin/bash
/etc/init.d/aiccu start
echo 1 >/proc/sys/net/ipv6/conf/all/forwarding # enable forwarding
ip -6 addr add 2001:db8:b2c3:1::1/64 dev eth0  # Adresse 2001:db8:b2c3:1::1/64 an Interface eth0 binden
ip -6 route add 2001:db8:b2c3:1::/64 dev eth0  # Route für 2001:db8:b2c3:1::/64 über eth0
ip -6 route add 2000::/3 dev sixxs             # Route für alle GUAs übers das Tunnelinterface "sixxs"
/etc/init.d/radvd start

Dieses Shell-Script muss dann noch ausführbar gemacht werden:

sudo chmod u+x shellscript.sh

und kann dann ausgeführt werden:

sudo ./shellscript.sh