IPv4 -> IPv6-Gateway

K99

Active Member
Hallo,

ich betreibe seit längerer Zeit einen Server unter FreeBSD, denn ich u.a. auch als VPN-Gateway (OpenVPN) nutze. Das Ganze läuft derzeit unter IPv4. Mein DSL-Anschluss der Telekom läuft ebenfalls noch unter IPv4.

Jetzt würde ich auf meinem Server gerne so etwas implementieren, was div. Anbieter wie Hurricane Electric oder SixXS als IPv6-Tunnel Broker anbieten. Ich gehe quasi mit IPv4 rein und raus kommt IPv6. Das Problem bei der Sache ist, dass IPv6 ja noch nicht überall ausgerollt ist und ich dann natürlich auch gerne die Funktionalität hätte, dass wenn z.B. eine Website nicht per IPv6 erreichbar ist, er automatisch auf IPv4 switcht.

Bisher konnte ich zu diesem Thema leider nur Infos finden, wie man Dienste der og. Anbieter auf seinem Server einbindet. Ich würde auf solche Anbieter aber gerne verzichten wollen und das alles selbst machen wollen. Es sei denn, es gäbe da etwaige unüberwindbare technische Hürden. Mein Hoster unterstützt nativ IPv6 und mir steht ein eigenes IPv6-Subnetz zur Verfügung.

Für Tipps wäre ich sehr dankbar.
 
Ich wäre die dankbar, wenn du noch mal in eine Schüssel sprichst und das etwas sortierst.
Ich habe dem Text entnommen:
  • Es existiert ein "Server" mit FreeBSD auf dem OpenVPN läuft.
  • Du nutzt einen DSL Anschluss der Telekom ohne IPv6.
  • Du hast keine durchgängige IPv6 Konnektivität.

Ich rate jetzt mal lustig drauf los und nehme an dein Server steht nicht bei dir zuhause sondern bei einem Hoster. Des weiteren nehme ich an dein Server hat native IPv6 Anbindung und mindestens zwei /64 IPv6 Präfixe. In dem Fall kannst du OpenVPN nehmen. Ab OpenVPN 2.3 ist der IPv6 Support massiv verbessert worden. Die Frage bleibt halt ob du nen überlappungsfreies /64 bis /126 für den Tunnel über hast um ihn ordentlich nummeriert zu nutzen oder ob ein unnummerierter Tunnel reichen muss, weil du nur zwei /64 Präfixe hast und auf beiden SLAAC nutzen willst.

Hast du auch auf deinem Server kein natives IPv6 ist es effizienter auf allen Systemen einen Tunnelprovider in Anspruch zu nehmen.
 
Ich versuch's mal ohne die Schüssel, sonst habe ich heute Abend ja (noch) mehr Abwasch. :)

Korrekt, der Server steht nicht bei mir vor Ort, sondern in einem RZ auf Island. Mein DSL-Anschluss zu Hause - also hier in Deutschland - hat eine IPv4-Adresse. Auf dem Server läuft aber bereits Dual Stack IPv4/IPv6.

Die Frage bleibt halt ob du nen überlappungsfreies /64 bis /126 für den Tunnel über hast um ihn ordentlich nummeriert zu nutzen oder ob ein unnummerierter Tunnel reichen muss, weil du nur zwei /64 Präfixe hast und auf beiden SLAAC nutzen willst.

Mir steht aktuell ein /112-Subnetz zur Verfügung. Das mit dem "nummerierten Tunnel" ist für mich salopp formuliert bisher leider "Bahnhof". SLAAC ist für mich so etwas wie DHCP, korrekt?

Ich versuche die gewünschte Funktionalität nochmal etwas genauer zu beschreiben.

1.) Ausgangsbasis: Clients (Win 7, Linux, Mobile mit Android) mit IPv4-Adresse
2.) Clients starten OpenVPN-Client
3.) Bisher: Clients bekommen interne VPN-IP zugewiesen (IPv4: 10.x) - Neu: Clients bekommen IPv6-IP zugewiesen
4.) OpenVPN-Server dient den Clients als "Internet-Gateway"
5.) Bisher: Clients gehen via IPv4 ins Internet - Neu: Clients gehen via IPv6 ins Internet
6.) es soll aber weiterhin möglich sein, Seiten bzw. Server zu erreichen, die nur IPv4 anbieten

Falls das aktuelle Subnetz dafür suboptimal ist - ich hätte herausgelesen, dass 2x /64 besser wäre(?) - ließe sich da bestimmt was machen.
 
Mit einem /112 hast du gerade mal 2 hoch 16 Adressen zu verteilen. Das ist zu wenig für SLAAC. Somit kannst du höchstens noch DHCPv6 benutzen. Damit habe ich keine Erfahrung. Solltest du DHCPv6 verwenden kannst du gerne deine Erfahrungen berichten. Ansonsten bleibt dir noch IPv6 statisch zu konfigurieren. Die IPv6 Privacy Extensions dürften damit ebenfalls nicht funktionieren. All deine Geräte hätten also statische IPv6 Adressen. Es gibt damit keinen Grund mehr den Overhead eines tap Devices hin zu nehmen um Layer 2 Protokolle übers VPN zu nutzen.

Also über IPv6 eine IPv4 Adresse zu anzusprechen geht nicht sauber. Die beste Näherung wäre NAT64 und DNS64 für alles was bei der Namensauflösung DNS benutzt (siehe entsprechende RFCs). NAT64 ist bis jetzt in FreeBSD nicht implementiert.

Einfacher wäre es einfach Dual-Stack lite zu fahren. Deine Clients bekommen eine RFC1918 Adresse per OpenVPN und eine IPv6 Adresse. Die RFC1918 Adresse hängt weiterhin hinter einem NAT. Die IPv4 Adresse ist global und wird ohne jede Form von NAT benutzt. Derzeit ist es noch zu umständlich IPv6 only zu fahren und man muss einige Abstriche hinnehmen.

Suchst du fertige OpenVPN Configs fürs Suchen und Ersetzen?
 
Zurück
Oben