9.3. Einrichtung eines Punkt-zu-Punkt Tunnels

Es gibt drei Methoden ein Punkt-zu-Punkt Tunnel hinzuzufügen bzw. zu entfernen.

Eine gute Informationsquelle zum Thema Tunnel-Einrichtung mit ”ip” ist folgender Artikel: Configuring tunnels with iproute2 (article) (Spiegel).

Achtung: solche Tunnels werden durch das Kernel-Modul ”sit” unterstützt (potentiell nicht verfügbar auf Virtuozzo-Plattformen)

9.3.1. Einen Punkt-zu-Punkt Tunnel hinzufügen

9.3.1.1. Verwendung von "ip"

Bei einer kleinen Anzahl von Tunnels ist die Verwendung von ”ip” zurzeit die Standardmethode.

Beispiel für das Erstellen eines Tunnel-Devices (das Device wird aber hiermit nicht aktiviert; ebenso muss ein TTL Wert spezifiziert werden, da der Standardwert 0 ist):

# /sbin/ip tunnel add <device> mode sit ttl <ttldefault> remote
¬ <ipv4addressofforeigntunnel> local <ipv4addresslocal>

Anwendung (drei allgemeine Beispiele):

# /sbin/ip tunnel add sit1 mode sit ttl <ttldefault> remote
¬ <ipv4addressofforeigntunnel1> local <ipv4addresslocal>
# /sbin/ip link set dev sit1 up
# /sbin/ip -6 route add <prefixtoroute1> dev sit1 metric 1

# /sbin/ip tunnel add sit2 mode sit ttl <ttldefault>
¬ <ipv4addressofforeigntunnel2> local <ipv4addresslocal>
# /sbin/ip link set dev sit2 up
# /sbin/ip -6 route add <prefixtoroute2> dev sit2 metric 1

# /sbin/ip tunnel add sit3 mode sit ttl <ttldefault>
¬ <ipv4addressofforeigntunnel3> local <ipv4addresslocal>
# /sbin/ip link set dev sit3 up
# /sbin/ip -6 route add <prefixtoroute3> dev sit3 metric 1

9.3.1.2. Verwendung von "ifconfig" und "route" (nicht empfehlenswert)

Diese Methode zum Hinzufügen eines Tunnels wird nicht empfohlen, da Ungereimtheiten auftreten. Es gibt keine Probleme, wenn nur ein Tunnel hinzugefügt wird. Werden hingegen mehrere Tunnel hinzugefügt, dann kann der erste Tunnel nicht einfach deaktiviert werden, wenn die restlichen Tunnel aktiviert bleiben sollen.

Anwendung (drei allgemeine Beispiele):

# /sbin/ifconfig sit0 up

# /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel1>
# /sbin/ifconfig sit1 up
# /sbin/route -A inet6 add <prefixtoroute1> dev sit1

# /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel2>
# /sbin/ifconfig sit2 up
# /sbin/route -A inet6 add <prefixtoroute2> dev sit2

# /sbin/ifconfig sit0 tunnel <ipv4addressofforeigntunnel3>
# /sbin/ifconfig sit3 up
# /sbin/route -A inet6 add <prefixtoroute3> dev sit3

WICHTIG: NICHT VERWENDEN! Mit diesem Setup wird von überall aus dem Internet das "automatische Tunneln" vorbehaltlos aktiviert. Das ist ein unnötiges Risiko.

9.3.1.3. Verwendung allein von "route"

Sie können einen Tunnel auch im NBMA-Stil (Non Broadcast Multiple Access) einrichten. Bei dieser Vorgehensweise können Sie sehr einfach mehrere Tunnels zugleich einrichten, aber kein Tunnel kann nummeriert werden (und das ist ein kein benötigtes Feature).

Anwendung (drei allgemeine Beispiele):

# /sbin/ifconfig sit0 up

# /sbin/route -A inet6 add <prefixtoroute1> gw
¬ ::<ipv4addressofforeigntunnel1> dev sit0
# /sbin/route -A inet6 add <prefixtoroute2> gw
¬ ::<ipv4addressofforeigntunnel2> dev sit0
# /sbin/route -A inet6 add <prefixtoroute3> gw
¬ ::<ipv4addressofforeigntunnel3> dev sit0

WICHTIG: NICHT VERWENDEN! Mit diesem Setup wird von überall aus dem Internet das "automatische Tunneln" vorbehaltlos aktiviert. Das ist ein unnötiges Risiko.

9.3.2. Punkt-zu-Punkt Tunnel entfernen

Diese Funktion wird selten manuell durchgeführt. Skripte verwenden diese Funktion zum sauberen deaktivieren bzw. beim Neustart einer IPv6 Konfiguration.

9.3.2.1. Verwendung von "ip"

Entfernen eines Tunnel-Devices:

# /sbin/ip tunnel del <device>

Anwendung (drei allgemeine Beispiele):

# /sbin/ip -6 route del <prefixtoroute1> dev sit1
# /sbin/ip link set sit1 down
# /sbin/ip tunnel del sit1

# /sbin/ip -6 route del <prefixtoroute2> dev sit2
# /sbin/ip link set sit2 down
# /sbin/ip tunnel del sit2

# /sbin/ip -6 route del <prefixtoroute3> dev sit3
# /sbin/ip link set sit3 down
# /sbin/ip tunnel del sit3

9.3.2.2. Verwendung von "ifconfig" und "route" (nicht empfehlenswert, da unbequem)

Nicht nur bei der Erstellung eines Tunnels kommt es zu Ungereimtheiten, sondern auch bei dessen Entfernung. Die Tunnel müssen in umgekehrter Reihenfolge wieder entfernt werden, d.h. der zuletzt erstellte Tunnel muss als Erster entfernt werden...

Anwendung (drei allgemeine Beispiele):

# /sbin/route -A inet6 del <prefixtoroute3> dev sit3
# /sbin/ifconfig sit3 down

# /sbin/route -A inet6 del <prefixtoroute2> dev sit2
# /sbin/ifconfig sit2 down

# /sbin/route -A inet6 add <prefixtoroute1> dev sit1
# /sbin/ifconfig sit1 down

# /sbin/ifconfig sit0 down

9.3.2.3. Verwendung von "route"

Die Vorgehensweise ist vergleichbar mit dem löschen einer normalen IPv6 Route.

Anwendung (drei allgemeine Beispiele):

# /sbin/route -A inet6 del <prefixtoroute1> gw
¬ ::<ipv4addressofforeigntunnel1> dev sit0
# /sbin/route -A inet6 del <prefixtoroute2> gw
¬ ::<ipv4addressofforeigntunnel2> dev sit0
# /sbin/route -A inet6 del <prefixtoroute3> gw
¬ ::<ipv4addressofforeigntunnel3> dev sit0

# /sbin/ifconfig sit0 down

9.3.3. Nummerierte Punkt-zu-Punkt Tunnel

Manchmal ist es notwendig, einen Punkt-zu-Punkt Tunnel mit IPv6 Adresse genauso einzurichten, wie heute bei IPv4. Dies ist nur mit der ersten (ifconfig+route - nicht empfehlenswert) sowie mit der dritten (ip+route) beschriebenen Methode zur Einrichtung eines Tunnels möglich. Bei diesen Fällen können Sie den Tunnel-Interfaces die IPv6 Adressen, wie im Abschnitt zur Interface-Konfiguration beschrieben, hinzufügen.