IPv4-in-IPv6 Tunnel

IPv6 ist durch die fleißige Arbeit einiger Tunnelbroker schon weit vorangeschritten. Zu meiner Studienzeit konnte ich bereits im LRZ München an natives IPv6 kommen. Tolle Sache – endlich eine eigene IP für alle Geräte ohne NAT und direkt im Internet. Da wird der Router zu einem echten Router und nicht zur NAT-Maschine. Eine Firewall ist hier natürlich wichtig :)

Bei mir zu Hause sind alle Geräte per IPv6 angebunden, die über den Router, auf dem Openwrt läuft, ins Internet gebracht werden. Will man zwei private Netzwerke (A-, B- oder C-Class)  übers Internet verbinden, kann man dies direkt über einen IPv4 Tunnel machen oder wenn die Firewalls zu restriktiv  bzw. die LANs hinter mehreren Routern sind, über einen IPv6 Tunnel tun. Damit kann man viele Einschränkungen übergehen. Dazu wird ein IPv4-über-IPv6 Tunnel (IPv4-in-IPv6) angelegt, ohne sich um Themen wie NAT kümmern zu müssen. So hat man sämtlichen Zugriff auf seine Geräte, ohne dass die einzelnen Geräte IPv6 können müssen. Man hat einen direten Zugriff auf die Rechner,  den Benutzern ist meist nicht mehr klar, wo das Gegenüber eigentlich physikalisch genau steht. Mit dieser Lösung wird nur IPv6 auf den Routern vorausgesetzt.

Unter Linux (Ubuntu) oder openwrt (auf dem Router) geschieht hierzu die Konfiguration ganz einfach, indem man ein neues Tunneldevice anlegt (IPv6 bereits vorausgesetzt – ist aber nicht Thema dieses Artikels).

ip -6 tunnel add interlink local 2001:6f8:xxxxxxx:2000 remote 2001:4ca0:xxxxxxxx:1000 ttl 255
ifconfig interlink up

… und das gleiche auf der gegenbüberliegenden Seite. Bei mir war das ein Ubuntu Linux. Hier müssen noch die Treiber geladen werden, sonst kommt es zu einem nichtsaussagenden Fehler (ioctl), da der Tunnelmodus nicht ausgewählt werden kann.

root@linux:~#ip -6 tunnel add homelink local 2001:4ca0:xxxxxxxx:1000 remote 2001:6f8:xxxxxxx:2000 ttl 255
ioctl: No such device
insmod tunnel6
insmod ip6_tunnel
ip -6 tunnel add homelink local 2001:4ca0:xxxxxxxx:1000 remote 2001:6f8:xxxxxxx:2000 ttl 255
ifconfig homelink up

Anschließend muss nur noch die IP-Adresse der Tunnelendpunkte sowie das Routing konfiguriert werden. Dabei kann an IPv6-in-IPv4 Tunnel Anlehnung genommen werden. Erste Tests verliefen bei mir sehr erfolgreich. Hier ist eine Beispielumgebung. Mit einem ähnlichen Layout habe ich hier getestet.

Mit diesen Vorraussetzungen ist  die IPv6 Welt und die Verbindung von privaten Netzwerken kein Thema mehr. Man sollte sich jedoch der Gefahr bewusst sein, da es hier immer mehr auf die entsprechenden Firewalls und eine entsprechende Verschlüsselung ankommt.

Comments (3)

prodigy7Februar 22nd, 2013 at 10:27 pm

Hi!

Ich bin eben über ein kleines How-To hier gestolpert weil ich über einen IPv6 Tunnel zwei IPv4 Netze verbinden möchte. Beide IPv4 Netze werden via IPv6 OpenVPN verbunden.
Ich habe jetzt schon einige HowTo’s gefunden wie deines aber irgendwie will es bei mir nicht funktionieren.
Hast du noch Tipps was ich beachten muss?

LG

BenjaminFebruar 24th, 2013 at 11:05 pm

Von den beiden Tunnel Endpunkten sollte die Kommunikation mit den oben genannten Befehlen funktionieren, allerdings ist dann noch kein Routing ins jeweilige andere Netz eingerichtet. Getestet kann es über den Befehl ‚ping‘ werden.

Am besten sollte der Tunnel auf den Default Routern des jeweiligen Netzes laufen. Am Router muss dann die Route zu dem jeweiligen anderen Netz hinzugefügt werden. Dann können die Clients auch die jeweiligen anderen Clients im entfernten Netzwerk sehen.

Falls du weitere Hilfe benötigst, hinterlass mir ein Email (info (a) dev-tec.de)

prodigy7März 9th, 2013 at 3:14 pm

Mittlerweile habe ich den Fehler (in meiner Denkweise) gefunden. Unter http://blog.nerdingham.de/blog/2013/02/27/verbinden-von-privaten-ipv4-netzen-uber-reine-ipv6-internet-anschlusse/ findest du ein How-To zum Thema IPv6 VPN + IPv4 oder IPv6

Danke für deinen Blogeintrag!

Leave a comment

Your comment